Dokumen tersebut membahas tentang data warehouse, termasuk pengertian, konsep, dan perancangan data warehouse. Secara ringkas, data warehouse digunakan untuk mengintegrasikan dan menyimpan data dari berbagai sumber agar mudah diakses dan dianalisis guna pengambilan keputusan bisnis."
5. Fenomena Di Dunia Nyata
Customer mana
yang memiliki
tingkat margin
yang paling
tinggi?
Siapa saja yang
menjadi
customer dari
perusahaan
saya?
Barang apa saja
yang banyak
dibeli oleh
customer saya
tahun ini?
Cara distribusi
seperti apa yang
cocok untuk
menaikkan
keuntungan?
Produk baru apa
yang memberikan
pengaruh
terhadap
perusahaan
Saya butuh data
untuk
mengetahui ..
6. Fenomena Di Dunia Nyata
Saya butuh data yang konsisten untuk
mengambil keputusan strategi bisnis
perusahaan di masa yang akan datang !!
9. Gimana caranya saya bisa dapat
data yang saya butuhkan ??
Fenomena Di Dunia Nyata (cont’d)
10. Fenomena Di Dunia Nyata (cont’d)
• GoT Corp.
• Cabang: bandung, jakarta, palembang, dan
papua.
• Manager butuh laporan penjualan berkala.
• Setiap cabang memiliki sistem operasional
terpisah.
11. Fenomena Di Dunia Nyata (cont’d)
Jakarta
Bandung
Palembang
Penjulan per item per
cabang untuk kurun waktu
pertama
Manajer
Penjualan
Papua
17. Pengertian Data Warehouse
Sebuah tempat penyimpanan data yang lengkap dan konsisten yang
berasal dari sumber-sumber yang berbeda dibuat untuk
penggunanya agar mereka dapat mengerti dan menggunakannya
dalam konteks bisnis.
[Barry Davlin]
18. Pengertian Data Warehouse
(cont’d)
Sebuah proses transformasi data ke dalam sebuah informasi dan
membuat informasi ini dapat diakses oleh penggunanya tepat
waktu untuk membuat perubahan-perubahan (strategi bisnis).
[Forrester Research, 1996]
19. Pengertian Data Warehouse
(cont’d)
1. Berorientasi subjek,
2. Diintegrasikan,
3. Time-variant,
4. Nonvolatile,
Koleksi data untuk medukung proses pembuatan manajemen
pengambilan keputusan.
[Bill Inmon]
20. Subject Oriented
1. Data warehouse diorganisasikan dalam lingkup subjek, sebagai
contoh: Penjualan, Produk, dan Pelanggan.
2. Berfokus ke dalam pemodelan dan analisis data untuk pihak-
pihak pembuat keputusan.
3. Memisahkan data yang tidak berguna di dalam proses
pendukung keputusan.
22. Integrated
1. Data warehouse dikonstruksikan dengan cara mengintegrasikan
sejumlah sumber data yang berbeda.
2. Data preprocessing diaplikasikan untuk meyakinkan
kekonsistensian data.
23. Integrated (cont’d)
Trust Credit cardSavings Loans
Same data
different name
Different data
Same name
Data found here
nowhere else
Different keys
same data
25. Integrated (cont’d)
appl A - balance
appl B - bal
appl C - currbal
appl D - balcurr
appl A - pipeline - cm
appl B - pipeline - in
appl C - pipeline - feet
appl D - pipeline - yds
appl A - m,f
appl B - 1,0
appl C - x,y
appl D - male, female
Data Warehouse
29. Nonvolatile
1. Sekali data direkam maka data tidak bisa diupdate.
2. Data warehouse membutuhkan dua operasi pengaksesan data,
yaitu:
a. Initial loading of data
b. Akses data
32. Arsitektur Data Warehouse
1. Data warehouse server
Pada umumnya berbentuk DBMS relasional, jarang berbentuk
file biasa.
2. OLAP Server
Mendukung dan mengoperasikan dalam bentuk struktur multi-
dimensional data.
33. Arsitektur Data Warehouse (cont’d)
3. Clients
a. Tools untuk Query dan Pelaporan
b. Tools untuk menganalisis
c. Tools untuk data mining.
34. Arsitektur Data Warehouse (cont’d)
4. Metadata Repository
Tempat menyimpan informasi tentang data yang ada di
datawarehouse.
35. Arsitektur Data Warehouse (cont’d)
Data Warehouse
Engine
Optimized Loader
Extraction
Cleansing
Metadata Repository
Relational
Databases
Legacy
Data
Purchased
Data
ERP
Systems
Analyze
Query
39. Extracting
1. Mengambil data dari sumber operational dalam “as is” status.
2. Sumber-sumber data berasal dari mainframes yang hampir
seluruhnya berupa database relasional.
44. Householding
1. Mengidentifikasi semua anggota dari household (berada di
alamat yang sama) untuk mengirimkan report.
2. Menjamin hanya satu jenis dokumen saja yang dikirimkan
kepada setiap household karena mengirimkan multiple report
akan mengakibatkan naiknya “cost” pada data warehouse.
48. Loading
1. Proses menambah atau menyisipkan data baru.
2. Teknik:
a. Menggunakan SQL untuk menambah atau menyisipkan data
baru
b. Menggunakan batch load utility.
51. Refresh
1. Proses yang mempropagasi terjadinya proses pengupdatean
dari sumber data ke data warehouse.
2. Pertanyaan yang sering muncul:
a. Kapan harus melakukan refresh
b. Bagaimana cara melakukan refresh.
52. Kapan Harus Refresh?
1. Secara Periodik (setiap malam, setiap minggu) atau setelah
event-event yang signifikan.
2. Ketika data warehouse membutuhkan data yang bersangkutan.
3. Berdasarkan kebijakan refresh yang dibuat oleh administrator
berdasarkan kebutuhan pengguna dan traffic.
53. Bagaimana Teknik untuk Refresh?
1. Full extract dari tabel-tabel dasar
Kekurangan:
a. “Mahal”
b. Hanya untuk “legacy systems”.
2. Mendeteksi perubahan.
54. Mendeteksi Perubahan
1. Membuat snapshot dari tabel log yang menyimpan perubahan
pada sumber data.
2. Setiap perubahan record akan memicu update ke dalam
snapshot log table.
58. Pendekatan Normalisasi
1. Data dalam data warehouse disimpan berdasarkan aturan
normalisasi data.
2. Kelebihan: mudah untuk menambahkan informasi ke dalam
database.
3. Kekurangan: banyak tabel yang terlibat sehingga akan
menimbulkan kesulitan dalam penggabungan data.
59. Pendekatan Dimensional
1. Data transaksi dipartisi menjadi fakta (data transaksi numerik)
dan dimensi (refernsi informasi dari fakta).
2. Kelebihan: data warehouse akan lebih mudah dimengerti oleh
penggunanya.
3. Kekurangan: susah mempertahankan integritas dari fakta dan
dimensi.
60. Mana Yang Digunakan???
Pendekatan dimensional lebih sering digunakan walaupun
terkadang di dalam pendekatannya tetap membutuhkan
normalisasi.
61. Perancangan Skema
1. Harus mirip seperti alur bisnis nyatanya.
2. Harus dikenal oleh pelaku bisnis.
3. Memiliki pendekatan dari sisi pelaku bisnis.
4. Harus SIMPEL.
62. Tabel Dimensi
1. Small tables.
2. Direlasikan dengan tabel fakta oleh foreign key.
3. Memiliki indeks.
4. Memiliki tipikal berupa dimensi seperti: periode waktu,
geographic region, product, dan pelanggan.
63. Tabel Fakta (Fact Tables)
1. Central table.
2. Kebanyakan berisi item-item numerik yang masih mentah.
3. Memiliki jumlah baris yang banyak.
4. Diakses via tabel dimensi.
64. Tabel Dimensional
Kode Produk Kode Waktu Kode Agen Penjualan Jumlah
Info Produk
Info Waktu
. . .
Ukuran numerik
dari tabel fakta
Kolom-kolom kunci dari tabel fakta
juga kunci dari tabel-tabel dimensiInfo Agen
. . .. . .. . .. . .
Tabel-tabel
dimensi
Tabel fakta
66. Skema Star
1. Sebuah fact table yang besar dan tersentralisasi.
2. Satu tabel untuk setiap dimensi.
3. Setiap fact points untuk satu tuple dalam setiap dimensinya dan
memiliki atribut tambahan.
4. Mudah dimengerti dan mengurangi jumlah dari “physical joins”.
5. Mudah untuk mendefinisikan hirarkinya.
68. Skema Star (cont’d)
Store Key
Product Key
Period Key
Units
Price
Time Dimension
Product Dimension
Store Key
Store Name
City
State
Region
Period Key
Year
Quarter
Month
Product Key
Product Desc
Store Dimension Fact Table
69. Skema Fact Constellation
1. Beberapa fact tables berbagi tabel dimensi.
2. Ditampilkan sebagai koleksi dari kumpulan skema bintang yang
sering disebut sebagai skema galaxy.
3. Dibutuhkan oleh aplikasi yang canggih.
71. Skema Fact Constellation (cont’d)
Store Key
Product Key
Period Key
Units
Price
Store Dimension
Product Dimension
Sales Fact Table
Store Key
Store Name
City
State
Region
Product Key
Product Desc
Shipper Key
Store Key
Product Key
Period Key
Units
Price
Shipping Fact Table
72. Skema Snowflake
1. Merupakan variant dari model skema star.
2. Sebuah fact tables yang besar dan tersentralisasi serta satu atau
lebih tabel untuk setiap dimensi.
3. Tabel dimensi dinormalisasi dengan cara men-split data pada
tabel dimensi ke dalam tabel tambahan.
4. Mudah untuk maintenance dan menghemat storage.
74. Skema Snowflake (cont’d)
Store Key
Product Key
Period Key
Units
Price
Time Dimension
Product Dimension
Fact Table
Store Key
Store Name
City Key
Period Key
Year
Quarter
Month
Product Key
Product Desc
City Key
City
State
Region
City Dimension
Store Dimension
81. Keterbatasan SQL (cont’d)
Masalah query:
Berapa banyak Colgate toothpaste yang dijual di kota kecil
(berdasarkan populasi) kemarin dan di hari yang sama sebulan yang
lalu?
82. Keterbatasan SQL (cont’d)
Query Pemecahan:
select sum(sales.quantity_sold)
from sales, products, stores, cities
where products.manufacturer_id = 68 -- restrict to Colgate-
and products.product_category = 'toothpaste‘
and cities.population < 40000
and sales.datetime_of_sale::date = 'yesterday'::date
and sales.product_id = products.product_id
and sales.store_id = stores.store_id
and stores.city_id = cities.city_id
84. OLAP
1. Merepresentasikan data dengan kubus multidimensional lebih mudah
dimengerti.
2. OLAP memberikan jawaban terhadap query analytic untuk data
multidimensional.
3. Aspek: ukuran (besaran data) dan dimensi (parameter bisnis).
4. Contoh melihat penjualan (ukuran) menurut wilayah, waktu dan
produk (dimensi).
92. Roll Up
1. Generalisasi satu atau beberapa dimensi dengan merangkum
nilai-nilai ukurannya
2. Generalisasi: naik ke tingkat yang lebih umum dalam hirarki
dimensi.
100. Create Dimension (cont’d)
CREATE DIMENSION StoreDim
LEVEL StoreId IS Store.StoreId
LEVEL City IS Store.StoreCity
LEVEL State IS Store.StoreState
LEVEL Zip IS Store.StoreZip
LEVEL Nation IS Store.StoreNation
LEVEL DivId IS Division.DivId
HIERARCHY CityRollup (
StoreId CHILD OF
City CHILD OF
State CHILD OF
Nation )
HIERARCHY ZipRollup (
StoreId CHILD OF
Zip CHILD OF
State CHILD OF
Nation )
HIERARCHY DivisionRollup (
StoreId CHILD OF
DivId
JOIN KEY Store.DivId REFERENCES DivId )
ATTRIBUTE DivId DETERMINES Division.DivName
ATTRIBUTE DivId DETERMINES Division.DivManager ;
Pembuatan Dimensi
Penentuan spesifik
dan general
102. Pengelompokan Data Cube (cont’d)
SELECT StoreZip, TimeMonth,
SUM(SalesDollar) AS SumSales
FROM Sales, Store, Time
WHERE Sales.StoreId = Store.StoreId
AND Sales.TimeNo = Time.TimeNo
AND (StoreNation = 'USA'
OR StoreNation = 'Canada')
AND TimeYear = 2002
GROUP BY CUBE (StoreZip, TimeMonth)
Digrupkan dalam bentuk
cube (dimensional)
103. Operasi OLAP
Cari total amounts untuk hari pertama:
SELECT sum(amt) FROM SALE WHERE date=1
sale prodId storeId date amt
p1 s1 1 12
p2 s1 1 11
p1 s3 1 50
p2 s2 1 8
p1 s1 2 44
p1 s2 2 4
81
104. Operasi OLAP (cont’d)
Total amounts menurut tanggal:
SELECT date,sum(amt) FROM SALE GROUP BY date
result date sum
1 81
2 48
sale prodId storeId date amt
p1 s1 1 12
p2 s1 1 11
p1 s3 1 50
p2 s2 1 8
p1 s1 2 44
p1 s2 2 4