IN086 – Temu Pengetahuan
4. Model Data Warehouse
1
Penggunaan di
Decision Support System
•
DSS membantu
knowledge worker
membuat
keputusan dengan lebih cepat dan lebih baik
•
“Bagaimana volume penjualan berdasarkan
daerah dan produk pada tahun lalu ?”
•
“Order mana saja yang harus dipenuhi supaya
keuntungannya bisa maksimal ?”
3-tier
DSS
33-Tier DSS
1.
Warehouse DB Server
2.
OLAP Server
3.
Clients (tools)
Arsitektur data warehouse : Pandangan Konseptual
•
Pendekatan QD (
Query-Driven
) :
Satu layer
•
Tiap elemen data hanya disimpan
sekali
•
Juga disebut
Virtual warehouse
•
Pendekatan DW : 2 layer
•Membedakan data
real time
dan
data
derived
•
Paling banyak digunakan di
industri
5
•
Pendekatan DW : 3 layer
•
Transformasi data
real-time
ke data
derived
seringkali
membutuhkan 2 langkah
7
DW,DataMart,Virtual Warehouse
• Enterprise warehouse: berisi seluruh informasi tentang subyek – subyek yang meliputi seluruh organisasi. Mis. Produk, sales, customer, lokasi
• Butuh permodelan bisnis skala besar
• Desain dan pembangunannya bisa bertahun - tahun
• Data Marts: Subset atau viewsecara departemen dari Enterprise Warehouse yang berfokus hanya pada subyek – subyek tertentu.
• Misal. Marketing data mart: customer, product, sales
• Dapat diimplementasikan tanpa Enterprise WH. Implikasi : lebih cepat, tetapi kompleks dalam integrasinya (dlm jangka panjang)
• Virtual warehouse/QD: viewsdari sistem basis data operasional
• Berisi berbagai view ringkasan untuk prosesing query yang efisien
• Mudah dibuat tetapi membutuhkan kapabilitas besar dari server basis data operasional
OLAP untuk Pendukung
Keputusan
• Menyediakan proses query yang cepat dan informal bagi analis bisinis dalam bentuk spreadsheet / kubus
• Misal. view sales data by geography, time, and/or product
• Memperluas spreadsheet dan model analisis sehingga dapat bekerja dengan warehouse data
• Data set yang besar
• Dibuat sehingga dapat memahami terminologi – terminologi bisnis / logika bisnis dan dapat melakukan analisis statistik
• Mengkombinasikan query interaktif dengan fungsi pelaporan
• Multidimensional view of data adalah dasar OLAP, termasuk hierarchically structured domains
• Data model, operations, etc.
9
Feature (ideal) OLAP Tool
•Multidimensional Conceptual View
•
Intuitive Data Manipulation Accessibility:
OLAP as a Mediator:
• OLAP engines sebagai middleware, berada di antara heterogeneous data sources/WH dan OLAP front-end
•
Batch Extraction vs Interpretive:
• menyediakan fasilitas untuk menampilkan basis data untuk data OLAP data maupun akses langsung ke data eksternal
•
OLAP Analysis Models:
• Kategorikal (parameterised static reporting), exegetical (browsing), contemplative (“what if?” analysis) and formulaic (goal seeking models)
•
Client Server Architecture:
• satu OLAP server dapat menangani banyak klien
Arsitektur dari OLAP Server
• Relational OLAP (ROLAP)
• Menggunakan sistem manajemen basis data (DBMS) relasional atau relasional yang diperluas untuk menyimpan dan mengelola data warehouse dan middleware dari OLAP
• Termasuk optimalisasi dari backend DBMS, implementasi dari logika navigasi secara agregat, dan perangkat dan layanan – layanan tambahan
• Tingkat skalabilitas lebih besar
• Multidimensional OLAP (MOLAP)
• Mesin penyimpanan data multidimensi berbasis sparse array.
• Indeksing secara cepat untuk data ringkasan yang di komputasi sebelumnya.
• Hybrid OLAP (HOLAP)(contoh: Microsoft SQLServer)
• Fleksibilitas, contoh: tingkat rendah secara relasional, tingkat tinggi secara array
• Specialized SQL servers (contoh Redbricks)
• Dukungan khusus untuk query SQL pada skema – skema star / snowflake
11
Permasalahan dalam ROLAP
•
Harus ada penanda level di tiap dimension
•
Tiap query harus menggunakan penanda level tersebut
Keuntungan ROLAP
•
Multi-dimensional data disajikan dengan
sederhana
•
Jika menggunakan star, jumlah join yang
harus ada relatif sedikit
•
Lebih low maintenance
•
Kelemahan : harus mengusahakan query
optimization
15
ROLAP Server
•
Relational OLAP Server
relational DBMS ROLAP server tools utilities
sale prodId date sum p1 1 62 p2 1 19 p1 2 48
Indeks khusus, tuning; Skema di “denormalisasi”
MOLAP Server
•
Multi-Dimensional OLAP Server
17 multi-dimensional server M.D. tools utilities Dapat juga Berada pada DBMS relasional P r o d u c t Date 1 2 3 4 milk soda eggs soap AB Sales
SQL Query untuk ROLAP
SELECT D1.d1, …, Dk.dk, agg1(F.f1,)
FROM Dimension D1, …,
Dimension Dk,
Fact F
WHERE D1.key = F.key1 AND … AND
Dk.keyk = F.keyk AND otherPredicates
GROUP BY D1.d1, …, Dk.dk
CONTOH
• Skema :
• Fact : Sales, Dimensi : Produk, Toko, Waktu
• Query RollUp :
• Tampilkan jumlah produk terjual yang lebih besar dari 50 unit per toko Hasil Query :
Query :
SELECT t.kodet, sum(s.jmlunit)as SumJumlah FROM toko t, sales s
WHERE t.kodet = s.kodet GROUP BY t.kodet HAVING sum(s.jmlunit) > 50
19
Toko1 85
Toko2 120
MDX Query untuk MOLAP
• MDX = Multidimensional Expression
• FORMAT Query : [WITH
[MEMBER <member-name> AS ’<value-expression>’ | SET <set-name> AS ’<set-expression>’] . . .] SELECT [<axis_specification>
[, <axis_specification>...]] FROM [<cube_specification>] [WHERE [<slicer_specification>]]
CONTOH MDX
• Cube : Jualan, Dimensi : Produk, Time
• Query :
• tampilkan total Count Jual untuk Produk 100 sampai dengan 150 untuk setiap bulan
• Hasil Query :
• MDX : with
member [Produk].[Produk].Roll_Up as '
Sum( {[Produk].[Produk].[100] : [Produk].[Produk].[120]})' select { [Produk].[Produk].Roll_Up } on columns,
{[Time New].[Month Of Year].members } on rows from Jualan 21 1 50 30 25 2 20 25 20 3 30 45 35
Struktur Indeks
•
Metode akses tradisional
•
B-trees, hash tables, R-trees, grids, …
•
Populer di Warehouses
•
inverted lists
•
bit map indexes
•
join indexes
Inverted Lists
23 20 23 18 19 20 21 22 23 25 26 r4 r18 r34 r35 r5 r19 r37 r40rId name age
r4 joe 20 r18 fred 20 r19 sally 21 r34 nancy 20 r35 tom 20 r36 pat 25 r5 dave 21 r41 jeff 26 . . . age index inverted lists data records
Penggunaan Inverted Lists
•
Query:
•
Cari orang dengan age = 20 dan name = “fred”
•
List for age = 20: r4, r18, r34, r35
•
List for name = “fred”: r18, r52
•
Answer is intersection: r18
Bit Maps
25 20 23 18 19 20 21 22 23 25 26 id name age 1 joe 20 2 fred 20 3 sally 21 4 nancy 20 5 tom 20 6 pat 25 7 dave 21 8 jeff 26 . . . ageindex mapsbit recordsdata
1 1 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1
Menggunakan Bit Maps
•
Query:
•
Cari orang dengan age = 20 dan name = “fred”
•
List for age = 20: 1101100000
•
List for name = “fred”: 0100000001
•
Answer is intersection: 010000000000
Bagus jika kardinalitas domain kecil
Join Indexes
27 product id nam e price jIndex
p1 bolt 10 r1,r3,r5,r6
p2 nut 5 r2,r4
sale rId prodId storeId date amt
r1 p1 c1 1 12 r2 p2 c1 1 11 r3 p1 c3 1 50 r4 p2 c2 1 8 r5 p1 c1 2 44 r6 p1 c2 2 4 join index
Desain Data Warehouse
•
Apa data yang dibutuhkan?
•
Dimanakah sumber datanya?
•
Bagaimana membersihkan data?
•
Bagaimana merepresentasikan dalam Warehouse
(skema)?
•
Apa yang dirangkum?
•
Apa yang dimaterialkan?
•
Apa yang diindeks?
Perangkat Data Warehouse
•
Pengembangan
•
Desain dan edit: skema, tampilan, skrip, aturan, kueri,
laporan
•
Perencanaan dan Analisis
•
Skenario What-if (perubahan skema, lajur refresh),
perencanaan kapasitas
•
Manajemen Warehouse
•
Monitoring kinerja, pola – pola pemakaian, laporan
pengecualian (exception)
•
Manajemen aliran (
workflow
)
•