2.2.2. Bitmap Indexing
Indeks merupakan objek yang paling penting yang dibutuhkan pada saat membuat sebuat aplikasi. Begitu juga pada database Oracle,
indeks menjadi salah satu faktor yang sangat menentukan unjuk kerja aplikasi. Samsyiar, 2004
Untuk memudahkan dalam mengakses data, sebagian besar data warehouse
mendukung struktur indeks. Didalam OLAP terdapat dua metode indexing yang dapat digunakan yakni bitmap indexing dan join
indexing . Namun didalam OLAP yang paling banyak digunakan adalah
indexing dengan menggunakan bitmap. Bitmap indexing memungkinkan
pencarian data dengan cepat didalam data cube. Jiawei et all, 2006. Dalam bitmap indexing sebuah bitmap dibuat untuk setiap nilai
kunci suatu daftar RowID seperti yang dilakukan dalam indeks B+ Tree. Setiap bit dalam bitmap menunjuk pada sebuah RowID. Ketika bit diberi
nilai 1, berarti RowID yang terkait berisi nilai kunci yang dimaksud. Fungsi pemetaan akan mengubah posisi bit ke RowID sesungguhnya
sehingga record dapat ditemukan ketika dilakukan operasi query. Bitmap indexing
biasanya digunakan pada kolom yang mempunyai low cardinality.
Seperti kolom jenis kelamin yang mempunyai jumlah data hanya āLā dan āP ā saja. Atau data yang lain dimana jika jumlah data dibagi
dengan jumlah total record yang ada mendekati nol. Jangan menggunakan
bitmap indexing pada kolom yang mempunyai data yang unik, karena
membutuhkan jumlah space yang lebih besar. Bitmap indexing
sangat cepat apabila digunakan pada aplikasi yang sering menggunakan ad hoc query karena biasanya kriteria dari perintah
where yang dipakai melibatkan kombinasi diantara kolom- kolom yang
ada pada setiap tabel. Bitmap indexing sendiri tidak telalu banyak melakukan scanning terhadap data yang akan dicari sebab struktur dari
bitmap indexing yang sangat kecil yaitu hanya terdiri atas beberapa key
indeks entries saja. Oracle hanya akan mencari data dari single bitmap indexing
yang mempunyai nilai 1 dan 0 saja. Samsyiar, 2004 Keuntungan menggunakan bitmap indexing antara lain Budi
Susanto, 2007: 1.
Bekerja dengan baik dengan tabel yang berisi jutaan record. 2.
Bitmap indexing meningkatkan waktu respon secara drastis saat kondisi multiple join yang diberikan menunjuk pada kolom yang
memiliki bitmap indexing. Indeks inijuga bekerja dengan baik untuk query
yang memiliki beberapa klausa kondisi join AND, OR. 3.
Bitmap indexing bekerja dengan baik jika kolom yang ditunjuk dalam indeks tidak sering di-update atau dihapus.
4. Bitmap indexing bekerja dengan baik ketika kolom yang berada dalam
bitmap indexing memiliki kardinalitas jumlah perbedaan nilai yang
rendah. Sebagai petunjuk sederhana untuk sebuah kardinalitas rendah
adalah sebuah kolom yang hanya memiliki perbedaan nilai kurang dari 12 macam nilai yang berbeda. Sebagai contoh jenis kelamin ya
atau tidak. Selain keuntungan yang ditawarkan oleh bitmap indexing terdapat
juga kekurangan dari bitmap indexing, antara lain : 1.
Tidak dapat bekerja dengan baik dengan tabel yang memiliki bitmap indexing
, dimana kolom kunci indeksnya sering di update atau dihapus
2. Bitmap indexing memerlukan pembangunan indeks kembali secara
berkala
2.2.3. MDX Multi Dimensional Expression