DataWarehousing

–Decission Support System –ETL, OLAP, OLTP –Model Dimensi: Skema Star & Snowflake

1

Datawarehousing
Decission Support System •Decision-support systems merupakan aplikasi yang digunakan untuk membantu mengambil keputusankeputusan bisnis seringkali berdasarkan data yang dikumpulkan oleh aplikasi OLTP (on-line transaction processing). •Contoh-contoh keputusan bisnis: – Item apa yang harus disediakan? – Premi asuransi apa yang harus diubah? – Siapa yang harus dikirimi iklan? •Contoh-contoh data yang digunakan untuk membuat keputusan-keputusan tersebut: – Rincian transaksi penjualan eceran – Profil pelanggan (penghasilan, usia, jenis kelamin, dll)

2

Datawarehousing
Decission Support System Untuk melakukan pengambilan keputusan ini terdapat tiga buah kecenderungan yang saling melengkapi satu sama lain: – Datawarehousing, On-Line Analytical Processing, Data Mining •Data Warehousing: Gabungan data dari banyak sumber yang disimpan dalam satu tempat penyimpanan yang berukuran besar. – Terdapat tiga proses penting: Extract, Clean, Trasform, Load, Refresh – Extract: Pengambilan data dari sumber eksternal (operational database) – Clean: membersihkan data untuk mengurangi eror dan mengisi informasi yang hilang, mengubah data mentah (jika perlu) untuk melakukan integrasi semantik – Transform: mendefinisikan relational view untuk data yang sudah dibersihkan tersebut – Load: Mematerialisasi view yang diperoleh pada fase trasform dan menyimpannya di penyimpanan (warehouse) – Refresh: Dilakukan secara periodik untuk melihat data operasional terbaru dan membersihkan data yang dianggap kadaluarsa. •OLAP: Analisis interaktif terhadap data, memungkinkan data untuk dirangkum dan dilihat dengan cara yang berbeda dengan langsung (dengan delay yang bisa diabaikan) – View dan query SQL kompleks, – Query berdasarkan operasi bergaya spreadsheet dan data dengan view multidimensional, Query dilakukan secara interaktif dan on-line. •Data Mining: Usaha-usaha penyelidikan untuk mencari kecenderungan (data) yang menarik dan keanehan-kenehan (anomaly) – Menemukan pengetahuan dalam bentuk aturan-aturan statistik dan pola-pola 3 dari database yang berukuran sangat besar

EXTERNAL DATA SOURCES

Datawarehousing, OLAP & Datamining

Datawarehousing • Data terintegrasi untuk jangka waktu yang lama, seringkali ditambah dengan rangkuman informasi • Beberapa gigabyte sampai terabyte ukurannya. • Interaktif response time; jarang sekali terjadi perubahan terhadap data

EXTRACT TRANSFORM LOAD REFRESH

Metadata Repository

DATA WAREHOUSE

SUPPORTS

DATA MINING

OLAP

4

Datawarehousing
Isu-isu yang harus diperhatikan •Semantic Integration: Ketika memperoleh data dari sumber yang beragam, maka harus menghilangkan ketidakcocokan yang mungkin timbul, misal., mata uang yang berbeda, skema yang berbeda. •Heterogeneous Sources: Harus mengakses data dari format penyimpanan dan tempat yang beragam. – Dapat memanfaatkan kemampuan replikasi data. •Load, Refresh, Purge: Harus mengisikan (load) data, secara periodik mengecek data yang terbaru (refresh), dan mengeluarkan data yang terlalu tua. •Metadata Management: Melacak sumber, waktu pemasukan, dan informasi lain untuk semua data di warehouse.
5

Model Data Multidimensional

11 1 1 25 11 2 1 8 11 3 1 15 12 1 1 30 12 2 1 20 12 3 1 50 13 1 1 8 13 2 1 10
locid

• Kumpulan measures (ukuran), yang tergantung terhadap sekumpulan dimensions (dimensi). – E.g., ukuran Sales, dimensinya adalah Product (key: pid), Location (locid), dan Time (timeid).

irisan locid=1

pid 11 12 13

8 30 25

10 20 8

10 50 15

13 3 1 10 11 1 2 35
6

1

2 3 timeid

pid

locid sales

Datawarehousing

timeid

Datawarehousing
MOLAP vs ROLAP •Multidimensional data dapat disimpan secara fisik dalam sebuah array pada disk; disebuat sebagai sistem MOLAP. Selain itu, kita juga dapat menyimpan multidimensional data sebagai suatu relasi; pendekatan ini disebut sistem ROLAP. •Relasi utama, yang menghubungkan dimensi terhadap measure, disebut sebagai fact table. Masing-masing dimensi dapat mempunyai atribut-atribut tambahan dan satu buah dimension table yang bersesuaian. – E.g., Products(pid, pname, category, price) – Fact table jauh lebih besar dari dimensional table.
7

Datawarehousing
Hierarki Dimensi Untuk masing-masing dimensi nilai atributnya dapat diorganisir ke dalam suatu hierarki

PRODUCT

TIME

LOCATION

year quarter category pname week date month country state city
8

Datawarehousing
OLAP Query • Fungsi Aggregate pada SQL-92 sangat terbatas – Banyak fungsi-fungsi aggregate yang sangat sulit atau bahkan mustahil untuk dispesifikasikan • Data cube • Complex aggregates (median, variance) • binary aggregates (correlation, regression curves) • ranking queries (“urutkan student berdasarkan total nilai yang diperoleh olehnya” • SQL:1999 OLAP memberikan beberapa fungsi aggregate tambahan untuk mengatasi keterbatasan tersebut – Didukung oleh beberapa database, termasuk Oracle dan IBM DB2

9

Datawarehousing
OLAP Query (lanjt) • Dipengaruhi oleh SQL dan spreadsheet. • Operasi yang umum adalah untuk melakukan fungsi aggregate suatu measure terhadap satu atau lebih dimensi. – Cari total penjualan (total sales). – Cari total sales untuk masing-masing kota, atau untuk masing-masing negara bagian. – Cari produk lima besar yang diurutkan berdasar total penjualan. • Roll-up: Melakukan fungsi aggregate dari tingkat dimensi yang rendah ke tingkat yang lebih tinggi. – E.g., Jika diberikan total sales per kota, maka dapat dilakukan roll-up untuk mengetahui total sales per negara bagian. 10

Datawarehousing
OLAP Query (lanjt)
• Drill-down: Lawan dari roll-up – E.g., Jika diberikan total penjualan per negara bagian, maka dapat diperoleh total penjualan per kota dengan melakukan drill-down. – E.g., Juga dapat melakukan drill-down pada dimensi yang berbeda untuk memperoleh total penjualan per produk per negara bagian. Pivoting: Fungsi Aggregate pada dimensi-dimensi yang dipilih. – E.g., Pivoting pada Location dan menghasilkan cross-tabulation berikut ini:

WI

CA

Total

• Slicing and Dicing: Equality dan range selection pada satu atau lebih dimensi

1995 1996 1997 Total

63

81 144

38 107 145 75 35 110
11

176 223 339

Datawarehousing
Perbandingan dengan Query SQL • Operasi cross-tabulation (pivoting) dapat dihitung secara sederhana menggunakan serangkaian query SQL biasa: SELECT SUM(S.sales) FROM Sales S, Times T, Locations L WHERE S.timeid=T.timeid AND S.timeid=L.timeid GROUP BY T.year, L.state SELECT SUM(S.sales) FROM Sales S, Times T WHERE S.timeid=T.timeid GROUP BY T.year SELECT SUM(S.sales) FROM Sales S, Location L WHERE S.timeid=L.timeid GROUP BY L.state
12

Datawarehousing
Operator CUBE • Secara umum jika ada k dimension, maka kita akan mempunyai 2^k kemungkinan query SQL GROUP BY yang dapat dibangkitkan malalui pivoting pada masing-masing himpunan bagian dimension. • Query-query di atas dapat diganti dengan satu buah query yang dapat membangkitkan kedelapan kombinasi group dy dengan satu operator CUBE. SELECT P.pid, L.locid, T.timeid, SUM(S.sales) FROM Products P, Times T, Locations L GROUP By Cube (P.pid, L.locid, T.timeid) 13

Datawarehousing
Ranking • Ranking dilakukan bersamaan dengan spesifikasi order by. • Jika diberikan relasi student-marks(student-id, marks), misalnya temukan ranking untuk masing-masing student berdasar nilai yang diperoleh select student-id, rank( ) over (order by marks desc) as s-rank from student-marks • Klausa order by tambahan harus ditambahakan untuk membuatnya terurut berdasarkan ranking select student-id, rank ( ) over (order by marks desc) as s-rank from student-marks order by s-rank • Ranking dapat meniggalkan gap: e.g. jika 2 student mempunyai nilai yang sama, keduanya akan mempunyai ranking 1, dan ranking berikutnya adalah 3 – dense_rank meninggalkan gap, sehingga ranking berikutnya adalah 2

14

Datawarehousing Windowing
• E.g.: “Jika diberikan nilai penjualan untuk masing-masing tanggal, hitunglah untuk masing-masing tanggal tersebut rata-rata penjualan hari itu, hari kemarin, dan hari berikutnya” • Query moving average seperti ini digunakan untuk melihat perkembangan penjualan. • Tidak seperti halnya group by, window operator, dapat menyebabkan tuple yang sama berada dalam beberapa window • Spesifikasi Window dalam SQL:
– Urutan tuple, ukuran window untuk masing-masing tuple, fungsi aggregate. – E.g. diberikan relasi sales(date, value), dapat dilakukan window query berikut: select date, sum(value) over (order by date between rows 1 preceding and 15 following) from sales

Star-Schema
timeid date

Datawarehousing
TIMES week month quarter year holiday_flag SALES (Fact

pid timeid locid sales
PRODUCTS

table)

LOCATIONS

pid pname category price

locid

city

state

country

Fact table berada dalam bentuk BCNF; tetapi dimension table tidak dinormalisasi. – Dimension table berukuran relatif lebih kecil; sehingga update/insert/delete jarang sekali dilakukan. Sehigga, anomali terhadap data (karena tidak dinormalisasi) tidak terlalu penting dibandingkan dengan performansi query yang bagus. Skema seperti ini sangat umum dalam aplikasi-aplikasi OLAP, dan disebut sebagi skema star; menghitung join untuk semua relasi ini disebut star join. • Skema yang lebih rumit contohnya adalah – Snowflake schema: dimension table terdiri dari beberapa 16 tingkat – Constellation: terdapat lebih dari satu fact table

Datawarehousing

Bitmap Index
Bit-vector: F 1 bit untuk Masing-masing nilai.

sex
M

custid name sex rating

rating

10 10 01 10

112 115 119 112

Joe Ram Sue Woo

M M F M

3 5 5 4

00100 00001 00001 00010

17

Datawarehousing
Kesimpulan • Aplikasi pendukung pengambilan keputusan (Decision support system) melibatkan pembuatan tempat penyimpanan data yang berukuran sangat besar yang disebut datawarehouse. • Warehouse dimanfaatkan dengan bantuan teknikteknik analisis yang paling canggih: query kompleks dan OLAP yang dipengaruhi oleh baik SQL maupun spreadsheet. • OLAP digunakan untuk menjawab pertanyaanpertanyaan (masalah) yang bersifat jangka pendek (kekinian) • Sedangkan datamining digunakan untuk menjawab permasalahan-permasalahan yang bersifat strategik (jangka panjang) seperti menentukan pola pembelian oleh pembeli, produk apa yang harus di jual tahun depan dan serangkaian pengetahuan lain yang tersembunyi dalam data yang ada di datawarehouse18 .