DESAIN WAREHOUSE FIRDAUS SOLIHIN UNIVERSITAS TRUNOJOYO
LANGKAH MEMBANGUN WAREHOUSE
1
4 Langkah Data Warehouse Design Data Warehouse
Extraction, Transfor Mation And Loading (ETL)
Create Cube
Create Dimension
View and Analize DATA Firdaus Solihin (UNIJOYO) 2009
1. Desain Data Warehouse
Physical Design
Logical Design • • • •
Menggunakan ER Diagram Mencari objek-objek penting (entitas) Mendefinisikan atribute Membuat relasi
• Merubah dari logical design menjadi objek-objek database • Tablespace, Table, integrity constraint, dll
Firdaus Solihin (UNIJOYO) 2009
2
2. Extraction, Transformation and Loading (ETL) Adalah proses pengekstrakan data dari sumber data yang kemudian dimasukkan ke dalam data warehouse. dilakukan secara periodik untuk kebutuhan bisnis dengan analisa data yang akurat.
Firdaus Solihin (UNIJOYO) 2009
2. Extraction, Transformation and Loading (ETL)
Menggunakan Data Transformation Service (DTS) dari MS SQL Server Menggunakan SQL* Loader dari Oracle
Firdaus Solihin (UNIJOYO) 2009
3
SQL* Loader
Foodmart.mdb
File Text .csv
Konversi dengan Mengg. MS Acces
Membuat Control file
Loading Data
Category.ctl load data infile 'f:\category\category.csv' into table category fields terminated by ',' ( category_id,category_parent, category_description,categor y_rollup )
C:> SQLLDR userid = anang/anang control = category.ctl
Firdaus Solihin (UNIJOYO) 2009
3. Membuat Dimension
Dimension adalah sebuah struktur yang terbentuk dari satu atau lebih hirarki yang mengkategorisasi data Dimensi terbentuk dari satu atau lebih tabel. Setiap kolomnya merepresentasikan level pada hierarchy. Firdaus Solihin (UNIJOYO) 2009
4
Alur pembuatan Dimension Menentukan nama dimension
Memilih skema dimensi
Memilih Tabel
Memilih level
Memilih tipe dimensi
Menentukan relation
Menentukan hierarchy Firdaus Solihin (UNIJOYO) 2009
4. Membuat Cube Menentukan nama Cube
Memilih Tabel Fakta
Memilih measure
Memilih dimension Firdaus Solihin (UNIJOYO) 2009
5
DESAIN WAREHOUSE
Desain Warehouse
Pengantar Multidimensional Data Model Pertimbangan dalam Membuat Desain Implementasi Desain Mengetes Desain Contoh Desain
Firdaus Solihin (UNIJOYO) 2009
6
Pengantar
Ingat: Database Warehouse TERPISAH dari Database untuk Operasional
Data Warehouse vs Data Transaksi Warehouse (OLAP) Transaksi (OLTP)
Desain Tujuan
Multidimensional Data Model Efisiensi Waktu Query
Entity Relationship Diagram (ERD) Efisiensi Space/Storage
Firdaus Solihin (UNIJOYO) 2009
Apakah Multidimensional Modeling?
Subject Oriented
Berisikan data-data yang:
Melihat data dari berbagai perspektif (Stok, Penjualan, dll) Telah tervalidasi Historikal (contoh: data dua tahun terakhir) Terintegrasi Mudah Diakses
Direpresentasikan dalam bentuk Data Cube Firdaus Solihin (UNIJOYO) 2009
7
Apakah Data Cube
Adalah representasi kumpulan data dalam multi-dimensi Meskipun dinamakan cube, namun dapat merepresentasikan data dalam N-dimensi
Firdaus Solihin (UNIJOYO) 2009
Contoh Data Cube …
0 dimensi:
1 dimensi:
Total penjualan sampai sekarang
Total penjualan untuk waktu tertentu
Total Waktu 1
AAA
Waktu 2
BBB
Waktu 3
CCC
2 dimensi:
Total penjualan pada waktu tertentu untuk barang tertentu
XXX
Barang 1 Barang 2 Waktu 1
AAA
DDD
Waktu 2
BBB
EEE
Waktu 3
CCC
FFF
Firdaus Solihin (UNIJOYO) 2009
8
… Contoh Data Cube … Lokasi 4
3 dimensi:
Barang 1
Barang 2
Lokasi 3
Total penjualan pada waktu tertentu untuk barang pada lokasi tertentu Lokasi Barang
Lokasi 2
Barang 1 Barang 2 Waktu 1 AAA DDD4
Barang 1 Barang 2 Waktu 1 AAA DDD3 Waktu Barang 1 2Barang BBB 2 EEE4 Waktu 1 AAA DDD2 Waktu 2 BBB EEE3 Waktu 3 Waktu 1 CCC FFF4 AAA1 DDD1 Waktu 2 BBB EEE2 Waktu 3 CCC FFF3
Lokasi 1
Waktu 2 BBB1 EEE1 Waktu 3 CCC FFF2 Waktu 3
CCC1
FFF1
Firdaus Solihin (UNIJOYO) 2009
Waktu
… Contoh Data Cube
4 dimensi:
Total penjualan pada waktu tertentu untuk barang pada lokasi tertentu oleh penjual tertentu
Lokasi 4 Barang1 Barang 2 1 Lokasi 3 Barang1 Barang 2 Waktu 1 AAA DDD4 Lokasi 2 1 Barang1 Barang 2 Waktu 1 AAA DDD3 Lokasi 1 1 Waktu 2Barang 2 BBB EEE4 Barang1 Waktu 1 AAA DDD2 Waktu 2 BBB EEE3 Waktu 3 FFF4 Waktu 1 AAA1 DDD1CCC Waktu 2 BBB EEE2 Waktu 3 CCC FFF3 Waktu 2 BBB1 EEE1 Waktu 3 CCC FFF2 Waktu 3
CCC1
PENJUAL 1
FFF1
Lokasi 4 Barang1 Barang 2 1 Lokasi 3 Barang1 Barang 2 Waktu 1 AAA DDD4 Lokasi 2 1 Barang1 Barang 2 Waktu 1 AAA DDD3 Lokasi 1 1 Waktu 2Barang 2 BBB EEE4 Barang1 Waktu 1 AAA DDD2 Waktu 2 BBB EEE3 Waktu 3 FFF4 Waktu 1 AAA1 DDD1CCC Waktu 2 BBB EEE2 Waktu 3 CCC FFF3 Waktu 2 BBB1 EEE1 Waktu 3 CCC FFF2 Waktu 3
Firdaus Solihin (UNIJOYO) 2009
CCC1
FFF1
PENJUAL 2
9
Bagaimana Membuat Multidimensional Data Model?
Tabel dalam Model Data Multidimensi dibagi menjadi 2 macam:
Fact Table => Measure Dimension Table => Atribut Sumbu
Skema Model Data Multidimensi dibagi menjadi 3:
Star Schema Snow Flake Schema Fact Constellation Schema Firdaus Solihin (UNIJOYO) 2009
Data Cube dan Skema Multidimensi
DIMENSI 1 (A)
DIMENSI 2 (B)
Fact Table menyimpan Measure Dimension Table menyimpan Atribut Sumbu Cube / Dimensi
MEASURE = CUBE (A, B, C)
Dimensi 1 (A) Dimensi 2 (B) Dimensi 3 (C)
DIMENSI 3 (C) Firdaus Solihin (UNIJOYO) 2009
10
Star Schema … Item Dimension
DIMENSION TABLE
Time Dimension year quarter month day_of_week day time_key
supplier_type
FACT type TABLE brand
item_name item_key
SALES Fact
Branch Dimension
time_key item_key branch_key location_key
branch_type branch_name branch_key
dollars_sold units_sold avg_sales Firdaus Solihin (UNIJOYO) 2009
Location Dimension country province_or_state MEASURE city street location_key
… Star Schema Item Time year quarter month day_of_week day time_key
Branch branch_type branch_name branch_key
SALES time_key item_key branch_key location_key
supplier_type type brand item_name item_key
Location
Mengakibatkan Redundansi Untuk mengatasi, bisa dinormalisasi
country province_or_state city dollars_sold street units_sold Firdaus Solihin (UNIJOYO) 2009 location_key avg_sales
11
Snowflake Schema Time year quarter month day_of_week day time_key
Branch branch_type branch_name branch_key
SALES time_key item_key branch_key location_key
Item
Supplier
supplier_key supplier_type type brand item_name item_key
supplier_key supplier_type
Location
City
country city_key province_or_state city dollars_sold street units_sold 2009 location_key avg_sales Firdaus Solihin (UNIJOYO)
city_key city province_or_state
country
Fact Constellation SHIPPING Item Time year quarter month day_of_week day time_key
SALES time_key item_key branch_key location_key
dollars_cost units_shipped
Location Shipper
country province_or_state
Branch branch_type branch_name branch_key
time_key item_key shipper key from_location to_location
supplier_type type brand item_name item_key
dollars_sold units_sold avg_sales
shipper_key shipper_name location_key shipper_type
city street location_key
Firdaus Solihin (UNIJOYO) 2009
Sudut pandang Subjek “SALES”
Sudut pandang Subjek “SHIPPING”
12
Arsitektur Data Warehouse Multi-Tiered Metadata
other
sources Operational
DBs
Extract Transform Load Refresh
Monitor & Integrator
Data Warehouse
OLAP Server
Serve
Analysis Query Reports Data mining
Data Marts
Data Sources
Firdaus Solihin (UNIJOYO) 2009 Data Storage OLAP Engine Front-End Tools
Pertimbangan dalam Membuat Desain Warehouse
Desain untuk Pengelolaan
Mudah di Backup secara Teratur Ketika Loading new data Ketika Aggregating new data Ketika Melakukan Aktifitas Pemeliharaan Data, contoh: Indexing dan Archiving
Desain untuk Performa
Tentukan tipe, dimana, berapa banyak ruang yang dibutuhkan untuk indeks Firdaus Solihin (UNIJOYO) 2009
13
Implementasi
Satu Database atau Lebih? Kesepakatan dalam Aturan Penamaan? Membuat Database Menentukan Skema untuk Database Mengatur Data File dan Tablespace Membuat Tabel Fact dan Tabel Dimensi Konstrain Indeks Partisi Membuat View Keamanan Firdaus Solihin (UNIJOYO) 2009
Testing
Dilakukan sebelum rilis produksi Yang perlu di tes antara lain:
Waktu yang dibutuhkan untuk melakukan load data Pembersihan data dan transformasi Waktu respon query Data summary yang dibutuhkan Waktu yang dibutuhkan untuk tugas-tugas pengelolaan (manajemen) Firdaus Solihin (UNIJOYO) 2009
14
Tugas
Pelajari Pivot Table di Excel Buat Dokumentasi Cara Membuat data multi dimensi di Pivot Table
Firdaus Solihin (UNIJOYO) 2009
Product Manager Quarterly Sales Report Quarter 1 actuals 30330.79 all products 13846.36 skin care 8391.27 soap rose water soap 4472.02 olive oil soap 3919.25 5455.09 lotion hypoallergenic lotion 5455.09 16484.43 furniture 12624.76 office bookshelves 4998.31 dividers 7626.45 3859.67 home mattresses 3859.67
Jan Feb variance actuals variance actuals 1.03948 9109 1.039721493 10019.9 1.01357 4156 1.013658537 4571.6 1.00079 2517 1.000795229 2768.7 0.98685 1342 0.986764706 1476.2 1.01718 1175 1.017316017 1292.5 1.03388 1639 1.034069401 1802.9 1.03388 1639 1.034069401 1802.9 1.06228 4953 1.062647501 5448.3 1.08537 3796 1.085812357 4175.6 0.99016 1501 0.990105541 1651.1 1.15837 2295 1.159090909 2524.5 0.99319 1157 0.993133047 1272.7 0.99319 1157 0.993133047 1272.7
variance 1.039721493 1.013658537 1.000795229 0.986764706 1.017316017 1.034069401 1.034069401 1.062647501 1.085812357 0.990105541 1.159090909 0.993133047 0.993133047
Mar actuals 11027 5033.8 3050.6 1628.8 1426.8 1988.2 1988.2 5998.1 4598.2 1821.2 2782 1405 1405
variance 1.039702767 1.013644785 1.000793924 0.986804798 1.017254287 1.03398081 1.03398081 1.062592009 1.085711048 0.990132437 1.15875958 0.993157318 0.993157318
Firdaus Solihin (UNIJOYO) 2009
15
Regional Manager Quarterly Sales Report Quarter 1 actuals 30330.79 B&B Northeast 14551.39 Ridgewood 6600.35 Newbury 6067.44 Avon 1883.6 15779.4 Midwest Francis 8778.33 Nikki's 4630.9 Roger's 2370.17
Jan variance actuals 1.039476 9109 1.018063 4369 1.036381 1985 1.013267 1824 0.972653 560 1.060037 4740 1.110085 2643 1.003587 1390 1.002801 707
Feb variance actuals 1.039721 10019.9 1.018178 4805.9 1.036554 2183.5 1.013333 2006.4 0.972222 616 1.060403 5214 1.110504 2907.3 1.00361 1529 1.002837 777.7
Mar variance actuals 1.039721 11026.89 1.018178 5291.49 1.036554 2406.85 1.013333 2212.04 0.972222 682.6 1.060403 5740.4 1.110504 3203.03 1.00361 1686.9 1.002837 860.47
variance 1.039703 1.01816 1.036475 1.013303 0.97242 1.060347 1.110313 1.003599 1.00282
Firdaus Solihin (UNIJOYO) 2009
Define Dimensions and Links : Store N N N N N N
Ridgewood Newbury Avon Francis Nikki's Roger's
C
Northeast Ridgewood Newbury Avon
C
Midwest Francis Nikki's Roger's
C
B&B Northeast Midwest
Firdaus Solihin (UNIJOYO) 2009
16
Define Dimensions and Links : Time N N N N N N N N N N N N
Jan Feb Mar Apr May Jun Jul Aug Sept Oct Nov Dec
C
Quarter 1 Jan Feb Mar
C
Quarter 2 Apr May Jun
Firdaus Solihin (UNIJOYO) 2009
Define Dimensions and Links : Product N N N N N N
rose water soap olive oil soap hypoallergenic lotion bookshelves dividers mattresses
C
soap rose water soap olive oil soap
C
lotion hypoallergenic lotion
C
office bookshelves dividers
C
home mattresses
Firdaus Solihin (UNIJOYO) 2009
17
Define Dimensions and Links : Scenarios N N
actuals plans
N
variance
Firdaus Solihin (UNIJOYO) 2009
Define Dimensions and Links : Variables N N
sales costs
Firdaus Solihin (UNIJOYO) 2009
18