Data warehouse dan OLAP (Overview)
[email protected] Diambil dari presentasi Jiawei Han / Chirayu Versi dok: 0.8/ Sept 14
Kasus: Indomaret • Jutaan data per hari • Dimensi (jumlah field) data besar – Produk, jenis produk, waktu expire, pemasok, tranksaksi harian, kepegawaian, keuangan, gudang
• Sumber data beragam – Software beragam (beda vendor, beda versi). Ada data dalam file teks, Excel, database. → belum tentu konsisten!
• Bayangkan anda sebagai pimpinan perusahaan 2
Kasus (lanj) Kebutuhan pengambil keputusan: Mengetahui penjualan per produk per wilayah per waktu “Berapa sikat gigi yang terjual dalam bulan feb 2012 untuk wilayah jawa barat?” “Berapa yang terjual 4 tahun terakhir?”
3
Kasus (lanj) Kebutuhan pengambil keputusan: • Searching, filtering, query kompleks padahal...
• Laporan harus cepat dan realtime! Apakah database reguler cukup? Seperti yang dipelajari di kuliah basdat+sisbasdat? 4
Apa Data warehouse? • Database pendukung keputusan yang terpisah dengan database operasional – Apa database operasional?
• Platform untuk integrasi data historis untuk analisis • Berdasarkan subyek, terintegrasi, berdasarkan waktu, non volatile (permanen) dibahas di halaman selanjutnya 5
Kegunaan Datawarehouse • Pemrosesan Informasi – querying, analisis statistik, pelaporan,grafik • Analisis – Analisis Multidimensi – Operasi OLAP: slice-dice, drilling, pivot • Data mining – Pengetahuan dari pola tersembunyi. – Asosasi, klasifikasi, prediksi 6
Berdasarkan Subyek • Dikelola berdasarkan subyek-subyek penting. Misalnya: pelanggan, produk, penjualan, keuangan. • Fokus pada model dan analisis data untuk pengambil keputusan, bukan operasi harian. • Memberikan view yang lebih sederhana untuk subyek tertentu – membuang data yang tidak diperlukan 7
Terintegrasi • Dibuat dengan menggabungkan beberapa sumber data: – Database relational, flat file
• Teknik pembersihan dan integrasi diterapkan – Konsistensi nama, atribut – Konversi saat data pindah ke warehouse
8
Berdasarkan Waktu • Time horizon lebih panjang dari sistem yang operasional – Database operasional: data kini (current) – Datawarehouse: perspektif historis (5-10 tahun)
• Setiap struktur pada data warehouse: – Mengandung elemen waktu (implisit/eksplisit) – Tidak demikian dengan database operasional 9
Non volatile (permanen) • Penyimpanan data terpisah dengan data operasional • Tidak memerlukan “update” – Tidak memerlukan transaksi, recovery dan concurrency – Hanya memiliki dua operasi: • Loading awal • Akses data 10
Kegunaan Datawarehouse • Pemrosesan Informasi – querying, analisis statistik, pelaporan,grafik • Analisis – Analisis Multidimensi – Operasi OLAP: slice-dice, drilling, pivot • Data mining – Pengetahuan dari pola tersembunyi. – Asosasi, klasifikasi, prediksi 11
OLAP dan OLTP • Data warehouse: OLAP • Operasional DB: OLTP OLTP (online transaction processing) – Fungsi utama relational database – Operasi harian: pembelian, inventory, registrasi dll
OLAP (online analytical processing) – Fungsi utama data warehouse – Analisis data dan pengambilan keputusan 12
OLTP vs OLAP • Orientasi user – Operator vs knowledge worker
• Isi sistem – current, detail vs historical, konsolidasi
• Rancangan: – ER+Aplikasi vs Star + subject
• View – current, local vs , integrated
• Model akses – update vs read only tapi kompleks 13
OLTP vs OLAP users
OLTP clerk, IT professional
OLAP knowledge worker
fungsi
harian
pengambilan keputusan
DB design
ER+applikasi
subject-oriented
data
current, up-to-date detailed, flat relational isolated repetitive (sama berulang2)
historical, summarized, multidimensional integrated, consolidated ad-hoc (tergantung situasi)
penggunaan
satuan pekerjaan
read/write banyak scans (ambil seluruh data) index/hash berdasarkan prim. key pendek, transaksi sederhana complex query
# records accessed
Ratus sd ribuan
Jutaan sd Milyar
#users
ribuan
ratusan
Ukuran DB
100MB-GB
Tera - Petabyte
Ukuran kinerja
transaction throughput
query throughput, response
Model akses
14
Mengapa memisahkan data warehouse dengan database operasional?
15
Mengapa Memisahkan Data Warehouse dengan DB OLTP • Kinerja harus yang tinggi untuk kedua sistem – DBMS dirancang untuk OLTP: indexing, concurrency, recovery – Warehouse dirancang untuk OLAP query kompleks, view multi dimensi, konsolidasi 16
Mengapa memisahkan Dw dan DB OLTP (lanj) • Perbedaan fungsi dan data – Decision support system membutuhkan data historis yang tidak ada di DBMS – Konsolidasi data (agregasi dan rangkuman) – Kualitas data (masalah konsistensi, format)
• Saat ini banyak sistem yang melakukan OLAP pada DB biasa. 17
Implementasi • Heterogen DBMS: query driven – Buat pembungkus/mediator di atas database – Query diterjemahkan menjadi query yang mengakses DBMS yang terkait – Filter informasi yang kompleks – Lambat
• Data warehouse: update-driven – Informasi dari database yang heterogen telah digabung. – Kinerja lebih bagus 18
Pemodelan: Data warehouse vs DB OLTP • DB OLTP Model Entitas Relationship (ER) • Data warehouse Multidimensional Data Model
19
Multi-Dimensi Model • Dimensi menjadi faktor yang paling penting. • Data dilihat dalam bentuk data cube
20
TV PC VCR sum
1Qtr
2Qtr
Waktu 3Qtr
4Qtr
Tot penjualan tahunan TV Di U.S.A. sum U.S.A Canada Mexico
Neagara
Pr od uk
Contoh Datacube
sum
21
Data Multidimensi
W ila ya h
Dimensi: Produk, Lokasi, Waktu Jalur rangkuman: Industri Wilayah
Tahun
Produk
Kategori Negara Quarter Produk
Kota
Bulan
Kantor
Bulan
Minggu
Hari
22
Data Cube • Satu data cube, misalnya penjualan dapat dilihat dari berbagai dimensi: – Tabel dimensi: misalnya, barang (nama_barang, merk, tipe), waktu (hari, minggu, bulan, tahun) – Tabel measures: uang yang terjual, jumlah barang yang terjual
23
Operator OLAP • Rollup rangkum • Drilldown kebalikan rollup • Slice and Dice ambil dimensi yang diinginkan • Pivot transpose
24
Operator OLAP: SLICE
25
Operator OLAP: Drilldown
26
Rollup
27
Operator OLAP: Dice
28
Model Konseptual Data Warehouse • Star schema: tabel fakta dihubungkan dengan tabel dimensi • Snowflake: perbaikan star schema, hirarki dimensi di normalisasi • Fact constellations: multiple tabel fakta berbagi tabel dimensi
29
Contoh Star Schema time
item
time_key day day_of_the_week month quarter year
Sales Fact Table time_key item_key branch_key
branch branch_key branch_name branch_type
location_key units_sold dollars_sold avg_sales
item_key item_name brand type supplier_type
location location_key street city state_or_province country
Measures 30
Contoh Snowflake Schema time time_key day day_of_the_week month quarter year
item Sales Fact Table time_key item_key branch_key
branch
location_key
branch_key branch_name branch_type
units_sold dollars_sold avg_sales
Measures
item_key item_name brand type supplier_key
supplier
supplier_key supplier_type
location location_key street city_key
city city_key city state_or_province country
31
Fact constellations
time time_key day day_of_the_week month quarter year
item Sales Fact Table time_key item_key
item_key item_name brand type supplier_type
location_key
branch_key branch_name branch_type
units_sold dollars_sold avg_sales
Measures
time_key item_key shipper_key from_location
branch_key branch
Shipping Fact Table
location
to_location
location_key street city province_or_state country
dollars_cost units_shipped shipper shipper_key shipper_name location_key 32 shipper_type
Hirarki Konsep: Dimension (lokasi) all
all propinsi Kab/kota
Jabar
...
Kota Bandung ... Kab Subang Palembang ... x
Kecamatan Sukawarna ... Desa
Sumatera Selatan
zz
... ...
Musi
yy
mm 33
Operator OLAP: Pivot
34
Star-Net Query Customer Orders
Shipping Method
Customer CONTRACTS
AIR-EXPRESS
ORDER
TRUCK Time
PRODUCT LINE ANNUALY QTRLY
DAILY
CITY
Product
PRODUCT ITEM PRODUCT GROUP SALES PERSON
COUNTRY DISTRICT REGION Location
Each circle is called a footprint
DIVISION Promotion
Organization 35
Arsitektur Datawarehouse • 4 sudut pandang dalam perancangan datawarehouse – Data source view • Informasi yang dikelola sistem operasional (db biasa, OLTP)
– Top-down view • Informasi yang relevan untuk datawarehouse
– Data warehouse view • Tabel fakta dan dimensi
– Business query view • Data pada datawarehouse dari sudut pandang user
36
Proses Perancangan DW – Pilih proses bisnis yang akan dimodelkan, contoh: pesanan, tagihan dsb. – Pilih data terkecil pada proses bisnis tersebut. Misal: record transaksi – Pilih dimensi untuk tabel fakta – Pilih measure yang akan mengisi tabel fakta.
37
DW: Multi Tiered Sumber lain Operational DB
Metadata
Extract Transform Load Refresh
Monitor & Integrator
Data Warehouse
OLAP Server
Serve
Analisis Query Reports Data mining
Data Marts
Data Sources
Data Storage
OLAP Engine Front-End Tools 38
Model DW • Enterprise warehouse – Mengumpulkan semua informasi tentang subyek yang ada di organisasi
• Data Mart – Subset untuk grup yang spesifik (misalnya marketing, keuangan)
• Virtual warehouse – View dari operasional DB – Hanya sebagain summary yang dapat dimunculkan 39
Arsitektur OLAP server •
Relational OLAP (ROLAP) – Menggunakan relational atau extended-relational DBMS untuk menyimpan dan memanage warehouse dan OLAP – Optimization DBMS, implementasi navigasi agregasi dan tools tambahan – Scalable.
•
Multidimensional OLAP (MOLAP) – Storage engine: sparse array-based – Fast indexing, pre-computed summarized data
•
Hybrid OLAP (HOLAP) (Microsoft SQLServer) – Fleksibel. low level: relational, high-level: array
•
Specialized SQL servers (Redbricks) – support SQL queries pada star/snowflake schemas
40
41