Datawarehouse dan OLAP (Overview)

advertisement
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
Download