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