OLAP adalah juga sebuah penyimpanan beserta seperangkat alat analisisnya. Sebagai
sebuah penyimpanan, dia memiliki model data yang serupa dengan ODS dan data warehouse.
yaitu model data multidimensional. Hanya saja konstruksi penyimpanan dan sistemnya fokus
ditujukan untuk proses analitik multidimensi secara online, tidak sebagai sebuah basisdata dalam
makna yang luas sebagaimana ODS.
Sebuah OLAP bisa ada tanpa harus berdiri bersama data warehouse. OLAP dapat
dibenamkan diberbagai sistem informasi perusahaan seperti CRM, SCM atau ERP sebagaimana
halnya ODS, tetapi lebih bersifat sebagai tool untuk analisis data multidimensi.
Akan tetapi, manakala dia berdiri di dalam sistem data warehouse. maka dia berdiri sebagai
tool untuk analisis bagi datamart atau bagi data warehouse sendiri, dia berdiri pada sisi business
intelligence (BI) dari arsitektur data warehouse.
Yaitu:
Sources → ODS + staging area → DW → BI(OLAP)
OLAP cocok sebagai tool analisis bagi data warehouse atau datamart karena sesuai dengan
nature nya atau sifat alaminya bahwa dia menganalisis model data multidimensi, sedang data
warehouse sendiri dan juga datamart adalah sebuah model data multidimensi (dengan catatan
bahwa dia dalam arsitektur data warehouse aliran Ralph Kimball).
Cara analisis OLAP adalah dengan cara MOLAP (multidimensional OLAP) atau ROLAP
(relational OLAP) atau dengan cara keduanya (Hybrid). Cara MOLAP adalah dengan cara
memanipulasi model-model multidimensi sebagaimana kita memanipulasi sebuah rubik 3D. Anda
bisa memutar-mutar rubik (model multidimensi), mengambil bagiannya, melakukan drill,
membongkar lalu mengambil potongan-potongan dalam arah kolom atau arah baris lalu
menyatukannya kembali atau merotasi dan sebagainya.
Cara ROLAP (Relational OLAP) adalah dengan melakukan query menggunakan bahasa
query SQL kepada model 3D, 4D, 5D dan seterusnya. Ini dimungkinkan karena sebuah model
multidimensi sudah dapat dinyatakan skemanya dalam konteks relasional (skema star atau
snowflake, ada juga orang yang mengatakan snowflake sebagai skema galaxy).
Sebenarnya, ROLAP diterapkan di atas sebuah data warehouse yang dibangun berdasarkan
arsitektur Bill Inmon, yaitu arsitektur di mana model data data warehouse adalah model data
relasional berupa jejala join tabel berbentuk 3NF. Akan tetapi, itu tidak membatasi, dia bisa juga
diterapkan pada skema star (multidimensional atau hypercube) dengan melihat bahwa skema star
adalah juga merupakan skema relasional.
Demikian juga MOLAP, MOLAP sejatinya diterapkan di atas data warehouse yng
menggunakan arsitektur Ralph Kimball, yaitu arsitektur yang melihat bahwa model data data
warehouse adalah multidimensional atau sebuah hypercube (kubus berdimensi tinggi, berdimensi
3, 4, 5, ke atas).
1.2. MOLAP
MOLAP, sebagai sebuah tool analisis. Pada dasarnya dia adalah kumpulan cara
memanipulasi sebuah hypercube. Cara-cara itu adalah:
a. Slice
b. Dice
c. Roll up
d. Drill down
e. Pivoting
Adalah proses menganalisis sebuah kubus (atau hypercube dengan cara mengiris kubus, baik
dalam arah horisontal atau arah vertikal (jika dia hypercube maka dia diiris dalam dalam salah satu
atau lebih arah sumbu hypercube).
Jumlah irisan boleh satu atau lebih dan irisan boleh diambil dalam satu atau lebih cara (arah
sumbu) mengiris. Hasil irisan ini adalah potongan data yang memberikan sebuah view untuk
melihat data dalam suatu cara pandang.
Operasi MOLAP ini adalah operasi yang mengambil sebagian dari kubus dalam bentuk dadu
atau mengambil kubus di dalam kubus, atau mengambil hypercube di didalam hypercube.
Tentunya dengan ukuran hypercube yang lebih kecil dari induknya.
<MOLAP> := <operasi_MOLAP>.<hypercube>
<operasi_MOLAP> := <operasi_MOLAP>.<operasi_MOLAP> | slice |
dice | rollup | drilldown | pivoting | empty
Slice := fungsi_slice(arguments)
Dice := fungsi_dicing(arguments)
Rollup := fungsi_rollup(arguments)
Drilldown := fungsi_drilldown(arguments)
Pivoting := fungsi_pivoting(argument)
<hypercube> = sebuah kubus data multidimensional
Gambar 6.8. Hasil query MDX yang diminta pada kubus penjualan
Gambar 6.8. memberikan hasil query MDX yang diminta oleh sistem. Penjelasan query
MDX itu adalah sebagai berikut:
• Pada bagian SELECT....ON COLUMNS:
Query menyebut posisi kolom pada dimensi “kota”, yaitu pada posisi kolom = ”yogya”. Kita
dapat menambahkan posisi kolom sesuka kita pada bagian ini.
• Pada bagian ... ON ROWS:
Query menyebut posisi baris pada dimensi “jenis_produk” dari data yang diminta. Pada contoh
query ini, posisi baris adalah jenis_produk = “sabun” dan jenis_produk = “shampoo”.
Kita dapat menambahkan posisi baris sesuka kita pada bagian ini.
• Pada bagian WHERE:
Query menyebut slice atau di irisan mana query itu diminta, pada contoh query MDX ini, slice
dilakukan pada dimensi “hari_ke” pada posisi hari_ke = “hari_ke1”.
Demikian penjelasan tentang operasi slice. Selanjutnya adalah diskusi tentang operasi
MOLAP yaitu roll up.
c. Roll up
Operasi roll up adalah operasi meringkas atau merubah atribut sumbu sebuah hypercube
menjadi atribut sumbu yang secara hirarki s posisinya lebih tinggi dari atribut sebelumnya.
Hirarki atribut berasal dari sebuah tabel dimensi di mana susunan atribut-atribut di dalamnya
membentuk secara alami sebuah hirarki . Seperti misalnya tabel dimensi waktu, di mana di sana
ada atribut tahun, atribut bulan, atribut minggu dan atribut hari. Keseluruhan atribut-atribut ini
membangun sebuah hirarki atribut sebagai berikut:
Gambar 6.11. Hypercube setelah dilakukan operasi roll up dengan mengganti dimensi
minggu dengan dimensi bulan
Secara umum, pembentukan hirarki tidak mengharuskan bahwa sumbu dimensi haruslah
berasal dari tabel dimensi yang secara alami memiliki hirarki seperti hirarki waktu
(hari→minggu→bulan→tahun). Akan tetapi, hireraki dapat dikonstruksikan terhadap atribut pada
sumbu dimensi jika atribut tersebut berasal dari sebuah tabel dimensi yang juga merupakan tabel
fakta, atau memiliki sifat seperti tabel fakta. Ini memungkinkan jika tabel dimensi berada dalam
skema snowflake atau dia adalah sebuah skema dari sebuah datamart. Yaitu bahwa tabel dimensi
tersebut pada dasarnya adalah tabel fakta yang merepresentasikan sebuah datamart.
Telah ditunjukkan pada sebelum ini, bahwa kita dapat membangun sebuah tabel dengan
atribut bertingkat sebagaimana digambarkan pada gambar 5.7., 5.10 dan gambar 5.11. juga telah
ditunjukkan bahwa keseluruhan tabel-tabel dengan atribut bertingkat ini dapat dinyatakan dalam
diagram ven seperti gambar 5.8 dan gambar 5.9.
Tabel bertingkat dan diagram venn menunjukkan bahwa pada dasarnya kita dapat membuat
sebuah hirerakti atribut dalam beberapa cara.
Gambar 6.12. memberikan contoh konstruksi hirarki pada sebuah tabel dengan atribut
bertingkat yang diambil dari gambar 5.7. setiap tabel dimensi yang dapat dinyatakan ke dalam
tabel dengan atribut bertingkat yaitu dapat dinyatakan ke dalam sebuah skema star, sebuah tabel
fakta sekaligus sebuah tabel dimensi dari tabel fakta yang lain.
Gambar 6.15. Contoh sebuah hypercube (kubus) sebelum dilakukan operasi drill down
Operasi drill down adalah kebalikan dari operasi roll up. Karenanya operai ini juga
memanfaatkan informasi hirarki atribut pada tabel dimensi yang menjadi sumbu pada kubus atau
hypercube dari data warehouse. gambar 6.15. memberikan contoh sebuah hypercube data
warehouse sebelum mengalami operasi drill down.
Gambar 6.16. Contoh view kubus setelah operasi drill down
Gambar 6.16. mengilustrasikan apa yang terjadi setelah operasi drill down dilakukan
terhadap kubus yang mewakili sebuah data warehouse.
e. Pivoting
Pivoting adalah operasi MOLAP yang merubah view data dengan merotasikan kubus dalam
berbagai arah sumbu kubus. Gambar 6.17. dan gambar 6.18. adalah contoh gambar di mana sebuah
kubus dirotasikan untuk memperoleh view data yang berbeda-beda dari sebuah kubus.
Gambar 6.17. Rotasi (pivoting) dari sumbu vertikal sebuah kubus untuk melihat view yang
berbeda dari data
Operasi pivoting ini dapat dibuat runtun dengan operasi-operasi MOLAP yang lain
menghasilkan kombinasi operasi MOLAP untuk menghasilkan view data yang diinginkan.
Gambar 6.18. Rotasi (pivoting) dari sumbu horisontal sebuah kubus untuk melihat view
yang berbeda dari data
Prakomputasi MOLAP
Secara umum, di dalam proses kerja MOLAP, dapat digambarkan sebagai berikut:
Sumber data
(1)
Analisis MOLAP yang dilakukan secara prakomputasi, yaitu bahwa sistem OLAP langsung
membangun query-query MOLAP sebelum diminta, query-query itu adalah semua kombinasi
slice, dice, roll up, drill down terhadap kubus (hypercube) yang mungkin dilakukan.
Lalu semua hasil query (semua hasil kombinasi operasi MOLAP) itu dicatat dan disimpan secara
utuh pada suatu penyimpanan, sehingga bisa dipanggil secara cepat jika terjadi query sebenarnya
dari pengguna.
Gambar 6.19. memberikan ilustrasi proses pada langkah (3) ini di mana semua hasil
prakomputasi disimpan ditempat khusus oleh sistem OLAP.
Pengguna meminta analisis MOLAP. Sistem OLAP memeriksa dipenyimpanan, jika sudah ada
di sana maka hasil query langsung ditampilkan tanpa komputasi lagi. Jika belum ada di sana
maka sistem OLAP mengulang langkah (3) lagi yaitu melakukan operasi-operasi MOLAP sesuai
query, memberikan ke pengguna dan menyimpannya juga di penyimpanan untuk query berikut
yang sama.
Jika data yang diminta oleh query pengguna tidak terdapat pada view data multidimensi, maka
sistem OLAP melakukan ulang langkah (2), lalu melaksanakan langkah (3), memberikan
hasilnya ke pengguna dan menyimpannya untuk penggunaan berikut.
(4)