Top Banner
DATA WAREHOUSE Presented by : Helmy Faisal M Adam Mukharil B Adib Toriq
105
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Data warehouse

DATA WAREHOUSE Presented by :

Helmy Faisal M

Adam Mukharil B

Adib Toriq

Page 2: Data warehouse

1. Why we need data warehouse?

2. Konsep data warehouse.

3. Data Transformation.

4. Perancangan data warehouse.

5. Query Language dan OLAP.

Page 3: Data warehouse

Why we need Data

Warehouse

Page 4: Data warehouse

Fenomena Di Dunia Nyata

Page 5: Data warehouse

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 ..

Page 6: Data warehouse

Fenomena Di Dunia Nyata

Saya butuh data yang konsisten untuk mengambil keputusan strategi bisnis

perusahaan di masa yang akan datang !!

Page 7: Data warehouse

Fenomena Di Dunia Nyata (cont’d)

Page 8: Data warehouse

Fenomena Di Dunia Nyata (cont’d)

Page 9: Data warehouse

Gimana caranya saya bisa dapat data yang saya butuhkan ??

Fenomena Di Dunia Nyata (cont’d)

Page 10: Data warehouse

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.

Page 11: Data warehouse

Fenomena Di Dunia Nyata (cont’d)

Jakarta

Bandung

Palembang

Penjulan per item per

cabang untuk kurun waktu pertama

Manajer Penjualan

Papua

Page 12: Data warehouse

GoT Corp butuh solusi !!

Page 13: Data warehouse

Solusi Permasalahan 1

Jakarta

Bandung

Papua

Palembang

Data Warehouse

Manajer Penjualan

Query & Analisis tools

Laporan

Page 14: Data warehouse

Solusi Permasalahan 2

Database Operasional Cabang ...

Data Warehouse

Extract data

Operator Data Entry

Operator Data Entry

Manajer Penjualan

Laporan

Transaksi

Page 15: Data warehouse

Kesimpulan

GoT Corp butuh data warehouse

Page 16: Data warehouse

Konsep Data Warehouse

Page 17: Data warehouse

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]

Page 18: Data warehouse

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]

Page 19: Data warehouse

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]

Page 20: Data warehouse

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.

Page 21: Data warehouse

Subject Oriented (cont’d)

Page 22: Data warehouse

Integrated

1. Data warehouse dikonstruksikan dengan cara mengintegrasikan

sejumlah sumber data yang berbeda.

2. Data preprocessing diaplikasikan untuk meyakinkan

kekonsistensian data.

Page 23: Data warehouse

Integrated (cont’d)

Trust Credit card Savings Loans

Same data different name

Different data Same name

Data found here nowhere else

Different keys same data

Page 24: Data warehouse

Integrated (cont’d)

Encoding Structures

Measurement of attributes

Multiple Sources

Data Type Formats

Page 25: Data warehouse

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

Page 26: Data warehouse

Time-Variant

1. Menghasilkan informasi dari sudut pandang historical (misal:

5-10 tahun yang lalu).

2. Setiap struktur kunci mengandung elemen waktu.

Page 27: Data warehouse

Time-Variant (cont’d)

Page 28: Data warehouse

Time-Variant (cont’d)

Page 29: Data warehouse

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

Page 30: Data warehouse

Nonvolatile (cont’d)

Page 31: Data warehouse

Membentuk Data Warehouse

Data Source

cleaning

Transformation

Data Warehouse

New

Update

Page 32: Data warehouse

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.

Page 33: Data warehouse

Arsitektur Data Warehouse (cont’d)

3. Clients

a. Tools untuk Query dan Pelaporan

b. Tools untuk menganalisis

c. Tools untuk data mining.

Page 34: Data warehouse

Arsitektur Data Warehouse (cont’d)

4. Metadata Repository

Tempat menyimpan informasi tentang data yang ada di

datawarehouse.

Page 35: Data warehouse

Arsitektur Data Warehouse (cont’d)

Data Warehouse

Engine

Optimized Loader

Extraction

Cleansing

Metadata Repository

Relational

Databases

Legacy

Data

Purchased

Data

ERP

Systems

Analyze

Query

Page 36: Data warehouse

Data Transformation

Page 37: Data warehouse

Data Transformation

Fase yang terjadi ketika mengintegrasikan data ke dalam data

warehouse.

Page 38: Data warehouse

Aturan-Aturan Data Transformation

1. Extracting

2. Conditioning

3. Scrubbing

4. Merging

5. Householding

6. Enrichment

7. Scoring

8. Loading

9. Validating

10. Delta Updating

Page 39: Data warehouse

Extracting

1. Mengambil data dari sumber operational dalam “as is” status.

2. Sumber-sumber data berasal dari mainframes yang hampir

seluruhnya berupa database relasional.

Page 40: Data warehouse

Conditioning

Perubahan tipe data dari sumber data ke target data (data

warehouse) tetap dalam bentuk database relasional.

Page 41: Data warehouse

Scrubbing

1. Digunakan untuk “membersihkan”/meningkatkan kualitas data.

2. Contoh: Adam M.B., Adam MB, Adam Mukharil B. Adalah orang

yang sama.

Page 42: Data warehouse

Scrubbing (cont’d)

Page 43: Data warehouse

Merging

Proses penggabungan data dengan memperhatikan aturan-aturan

dalam mengintegrasikan data.

Page 44: Data warehouse

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.

Page 45: Data warehouse

Householding (cont’d)

Page 46: Data warehouse

Enrichment

Mengambil data dari sumber data eksternal (di luar data source

yang seharusnya) untuk memperkaya data operasional yang sudah

ada.

Page 47: Data warehouse

Scoring

Komputasi probabilitas tentang sebuah event, sebagai contoh

menghitung kemungkinan pelanggan membeli produk baru.

Page 48: Data warehouse

Loading

1. Proses menambah atau menyisipkan data baru.

2. Teknik:

a. Menggunakan SQL untuk menambah atau menyisipkan data

baru

b. Menggunakan batch load utility.

Page 49: Data warehouse

Validating

Proses pemeriksaan kebenaran suatu data yang dihasilkan dari

penggabungan.

Page 50: Data warehouse

Delta Updating

Proses update yang hanya akan mengupdate data baru saja tanpa

menghasilkan duplikasi record.

Page 51: Data warehouse

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.

Page 52: Data warehouse

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.

Page 53: Data warehouse

Bagaimana Teknik untuk Refresh?

1. Full extract dari tabel-tabel dasar

Kekurangan:

a. “Mahal”

b. Hanya untuk “legacy systems”.

2. Mendeteksi perubahan.

Page 54: Data warehouse

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.

Page 55: Data warehouse

Perancangan Data

Warehouse

Page 56: Data warehouse

Pendekatan Perancangan

1. Pendekatan normalisasi

2. Pendekatan dimensional.

Page 57: Data warehouse

Pendekatan Perancangan

1. Pendekatan normalisasi

2. Pendekatan dimensional.

Page 58: Data warehouse

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.

Page 59: Data warehouse

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.

Page 60: Data warehouse

Mana Yang Digunakan???

Pendekatan dimensional lebih sering digunakan walaupun

terkadang di dalam pendekatannya tetap membutuhkan

normalisasi.

Page 61: Data warehouse

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.

Page 62: Data warehouse

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.

Page 63: Data warehouse

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.

Page 64: Data warehouse

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 dimensi Info Agen

. . . . . . . . . . . .

Tabel-tabel

dimensi

Tabel fakta

Page 65: Data warehouse

Skema Data Warehouse

1. Skema Star.

2. Skema Fact Constellation.

3. Skema Snowflake

Page 66: Data warehouse

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.

Page 67: Data warehouse

Skema Star (cont’d)

T i

m e

p r o d

c u s t

f a c t

date, custno, prodno, cityname, ...

C i t y

Page 68: Data warehouse

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

Page 69: Data warehouse

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.

Page 70: Data warehouse

Skema Fact Constellation (cont’d)

Hotels

Travel Agents

Promotion

Room Type

Customer

Booking

Checkout

Page 71: Data warehouse

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

Page 72: Data warehouse

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.

Page 73: Data warehouse

Skema Snowflake (cont’d)

T i

m e

p r o d

c u s t

c i t y

f a c t

date, custno, prodno, cityname, ...

r e g i o n

Page 74: Data warehouse

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

Page 75: Data warehouse

Query Language &

OLAP

Page 76: Data warehouse

Keterbatasan SQL

Mari kita lihat tabel penjualan berikut:

Page 77: Data warehouse

Keterbatasan SQL (cont’d)

Berikutnya kita lihat tabel produk:

Page 78: Data warehouse

Keterbatasan SQL (cont’d)

Berikutnya... Tabel Gudang:

Page 79: Data warehouse

Keterbatasan SQL (cont’d)

Terakhir... Tabel Kota:

Page 80: Data warehouse

Keterbatasan SQL (cont’d)

ERD:

Page 81: Data warehouse

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?

Page 82: Data warehouse

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

Page 83: Data warehouse

PEMECAHAN

O L A P (Online Analytical Processing)

Page 84: Data warehouse

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).

Page 85: Data warehouse

OLAP (cont’d)

Kubus 3-dimensi: Tabel fakta:

sale prod-Id store-Id tgl jumlah

p1 s1 1 12

p2 s1 1 11

p1 s3 1 50

p2 s2 1 8

p1 s1 2 44

p1 s2 2 4

tgl 2 s1 s2 s3

p1 44 4p2 s1 s2 s3

p1 12 50p2 11 8

tgl 1

Page 86: Data warehouse

Operasi OLAP

1. Slice and dice

2. Role up dan drill down

3. Pivot

Pelanggan

Senin

Rabu

Selasa

Produk 850

001

002

003

Penjualan

323 714

Page 87: Data warehouse

Slicing and Dicing

Mengambil potongan kubus berdasarkan nilai tertentu pada satu

dimensi atau beberapa dimensinya.

Page 88: Data warehouse

Slicing and Dicing (cont’d)

tgl 2 s1 s2 s3

p1 44 4p2 s1 s2 s3

p1 12 50p2 11 8

tgl 1

s1 s2 s3

p1 12 50p2 11 8

WAKTU = tanggal 1

Page 89: Data warehouse

Pivoting

1. Menampilkan nilai-nilai ukuran dalam tata letak tabel yang

berbeda.

2. Mengatur kembali dimensi dalam sebuah kubus data.

Page 90: Data warehouse

Pivoting (cont’d)

Page 91: Data warehouse

Slicing and Pivoting

Produk Tgl-1 Tgl-2

Toko t1 Electronics $5.2

Toys $1.9

Clothing $2.3

Cosmetics $1.1

Toko t2 Electronics $8.9

Toys $0.75

Clothing $4.6

Cosmetics $1.5

Produk

Toko t1 Toko t2

Toko t1 Electronics $5.2 $8.9

Toys $1.9 $0.75

Clothing $2.3 $4.6

Cosmetics $1.1 $1.5

Toko t2 Electronics

Toys

Clothing

(juta $)

Tgl-1

Penjualan

(juta $) Waktu

Penjualan

Page 92: Data warehouse

Roll Up

1. Generalisasi satu atau beberapa dimensi dengan merangkum

nilai-nilai ukurannya

2. Generalisasi: naik ke tingkat yang lebih umum dalam hirarki

dimensi.

Page 93: Data warehouse

Roll Up (cont’d)

tgl 2 s1 s2 s3

p1 44 4p2 s1 s2 s3

p1 12 50p2 11 8

tgl 1

s1 s2 s3

p1 56 4 50p2 11 8

s1 s2 s3

sum 67 12 50

sum

p1 110

p2 19

129

. . .

Contoh: penghitungan total

Page 94: Data warehouse

Drill Down

1. Mendapatkan lebih detail tentang dimensi.

2. Navigasi dari tingkat yang lebih umum ke tingkat yang lebih

spesifik.

Page 95: Data warehouse

Drill Down (cont’d)

Page 96: Data warehouse

Data Agregat

1. Penggabungan beberapa data yang digunakan untuk

mempermudah pembuatan query.

2. Data agregat disimpan dalam tabel fakta.

Page 97: Data warehouse

Data Agregat (cont’d)

* s1 s2 s3 *

p1 56 4 50 110p2 11 8 19* 67 12 50 129

tgl 2 s1 s2 s3 *

p1 44 4 48p2* 44 4 48s1 s2 s3 *

p1 12 50 62p2 11 8 19* 23 8 50 81

tgl 1 penjualan(*,p2,*)

Page 98: Data warehouse

Query Operation

1. Create Dimension

2. Pengelompokkan Cube (kubus)

3. Operator Analisis

Page 99: Data warehouse

Create Dimension

Ditujukan untuk pembuatan dimensi,

penentuan dimensi yang spesifik dan

general.

Page 100: Data warehouse

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

Page 101: Data warehouse

Pengelompokan Data Cube

Pengelompokan data dalam kubus

dimensional untuk mempermudah analisis

data.

Page 102: Data warehouse

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)

Page 103: Data warehouse

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

Page 104: Data warehouse

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 12p2 s1 1 11p1 s3 1 50p2 s2 1 8p1 s1 2 44p1 s2 2 4

Page 105: Data warehouse

Question PLEASE!!!