Basis data Oracle ini pertama kali dikembangkan oleh Larry Ellison, Bob Miner dan Ed Oates lewat perusahaan konsultasinya bernama
Software Development Laboratories SDL pada tahun 1977. Pada tahun
1983, perusahaan ini berubah nama menjadi Oracle Corporation sampai sekarang. id.wikipedia.org
2.2. Teori Khusus
2.2.1. Efisiensi OLAP Query
2.2.1.1. Konsep Hirarki dengan Jumlah Nilai Berbeda Setiap
Atribut
Untuk memilih cuboid mana yang paling untuk melakukan query, hal yang harus diperhatikan diantaranya adalah hirarki. Menggunakan
bantuan hirarki maka sangat dimudahkan ketika memilih cuboid mana yang paling tepat untuk melakukan query, karena dengan menggunakan
hirarki maka dapat melihat level dari dimensi-dimensi yang digunakan pada gudang data. Sebagai contoh terdapat hirarki
“day month quarter year
” pada dimensi time maka level yang terluar yakni year merupakan level yang paling baik . Selain itu juga perlu memperhatikan granularity
data data. Granularity data merupakan tingkat kedetailan dari data dalam
suatu data warehouse. Dalam penelitian ini cara yang digunakan untuk menentukan
hirarki dari dimensi yang ada yakni dengan cara, pertama lakukan sorting secara ascending pada setiap atribut yang ada. Kedua hasil dari sorting
tersebut diurutkan dari atas ke bawah dengan susunan atribut pertama berada pada bagian paling atas. Dengan hasil hirarki yang didapat maka
dapat menentukan apakah perlu ada perubahan susunan hirarki atau tidak.
Gambar 2. 7 Contoh hirarki yang terbentuk
Gambar 2.7 merupakan contoh hirarki yang terbentuk dengan masing-masing nilai yang dimiliki oleh masing-masing atribut. Hirarki
yang nantinya terbentuk sebagai berikut streetcityprovince or statecountry
dari contoh hirarki tersebut tidak memerlukan perubahan hirarki, jika dilihat dari atributnya susunan dari yang paling spesifik ke
umum susunannya sudah tepat. Jiawei et all, 2006.
2.2.1.2. Cuboid
Data warehouse pada umumnya berisi data dalam jumlah besar.
Untuk itu OLAP dituntut untuk dapat melakukan pemrosesan query dengan cepat. Didalam data cube terdapat cuboid yang menggambarkan
dimensi yang ada didalam sebuah cube atau group by yang ada didalam cube
tersebut. Cuboid
berasal dari banyak dimensi, pengertian dari cuboid itu sendiri adalah
“data cube is a lattice of cuboids”, atau data cube merupakan pola-pola dari cuboids. Cuboid yang paling rendah disebut
dengan base cuboid, sedangkan cuboid dengan tingkat paling tinggi disebut apex cuboid. Jiawei et all, 2006. Untuk lebih jelasnya dapat
dilihat pada gambar 2.8 pada base cuboid terdiri dari tiga dimensi yakni city, item
dan year, sedangkan pada apex cuboid atau 0-D cuboid menunjuk dimana group by tersebut kosong.
Gambar 2. 8 Lattice of cuboids, 3-D data cube untuk 3 dimensi. Setiap cuboid menunjukkan derajat yang berbeda.
Untuk menghitung jumlah cuboid maka jumlah total kubus untuk n-dimensi data kubus rumus 2
n
, namun rumus tersebut dapat digunakan jika tidak ada hirarki yang berhubungan dengan masing-masing dimensi.
Namun, dalam prakteknya banyak dimensi yang memiliki hirarki. Sebagai contoh, dimensi waktu biasanya tidak hanya pada satu tingkat konseptual
level, seperti year, tetapi lebih pada konsep multiple level , seperti dalam hirarki day month quater year. Untuk n-dimensi data cube, jumlah
kubus yang dapat dihasilkan termasuk kubus dihasilkan oleh hierarki pada masing-masing dimensi adalah sebagai berikut dimana
1
L
i
adalah jumlah level yang berhubungan dengan suatu dimensi. Perhitungan cuboid tanpa hirarki maupun dengan hirarki diatas bertujuan
agar tidak terjadi curse of dimensionality. Curse of dimensionality merupakan kondisi dimana kebutuhan penyimpanan berlebihan saat
banyak dimensi memiliki hirarki dengan beberapa level. Sebelum melakukan query pada gudang data, tahap yang harus
dilakukan yaitu menentukan cuboid-cuboid yang mungkin yang akan digunakan dalam melakukan query. Dari cuboid yang mungkin tersebut
kemudian dipilih cuboid yang paling tepat untuk melakukan query. Jiawei et all
, 2006. Cuboid-cuboid yang mungkin dipilih menggunakan hirarki, dengan bantuan hirarki dapat memilih cuboid yang mungkin dengan level
yang baik. Jika level cuboid yang dipilih semakin baik maka besar kemungkinan cuboid tersebut akan digunakan untuk melakukan
pemrosesan query. Setelah melakukan tahap menentukan cuboid yang mungkin
dengan menggunakan hirarki, dan mendapatkan cuboid yang tepat untuk melakukan query. Tahap berikutnya adalah membuat indeks pada kolom
tertentu dengan menggunakan bitmap indexing. Penggunaan bitmap indexing
diharapkan dapat mempercepat waktu akses query.
2.2.2. Bitmap Indexing