Data warehouse

Preview:

DESCRIPTION

data warehouse from A to Z

Citation preview

DATA WAREHOUSE Presented by :

Helmy Faisal M

Adam Mukharil B

Adib Toriq

1. Why we need data warehouse?

2. Konsep data warehouse.

3. Data Transformation.

4. Perancangan data warehouse.

5. Query Language dan OLAP.

Why we need Data

Warehouse

Fenomena Di Dunia Nyata

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

Fenomena Di Dunia Nyata

Saya butuh data yang konsisten untuk mengambil keputusan strategi bisnis

perusahaan di masa yang akan datang !!

Fenomena Di Dunia Nyata (cont’d)

Fenomena Di Dunia Nyata (cont’d)

Gimana caranya saya bisa dapat data yang saya butuhkan ??

Fenomena Di Dunia Nyata (cont’d)

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.

Fenomena Di Dunia Nyata (cont’d)

Jakarta

Bandung

Palembang

Penjulan per item per

cabang untuk kurun waktu pertama

Manajer Penjualan

Papua

GoT Corp butuh solusi !!

Solusi Permasalahan 1

Jakarta

Bandung

Papua

Palembang

Data Warehouse

Manajer Penjualan

Query & Analisis tools

Laporan

Solusi Permasalahan 2

Database Operasional Cabang ...

Data Warehouse

Extract data

Operator Data Entry

Operator Data Entry

Manajer Penjualan

Laporan

Transaksi

Kesimpulan

GoT Corp butuh data warehouse

Konsep 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]

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]

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]

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.

Subject Oriented (cont’d)

Integrated

1. Data warehouse dikonstruksikan dengan cara mengintegrasikan

sejumlah sumber data yang berbeda.

2. Data preprocessing diaplikasikan untuk meyakinkan

kekonsistensian data.

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

Integrated (cont’d)

Encoding Structures

Measurement of attributes

Multiple Sources

Data Type Formats

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

Time-Variant

1. Menghasilkan informasi dari sudut pandang historical (misal:

5-10 tahun yang lalu).

2. Setiap struktur kunci mengandung elemen waktu.

Time-Variant (cont’d)

Time-Variant (cont’d)

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

Nonvolatile (cont’d)

Membentuk Data Warehouse

Data Source

cleaning

Transformation

Data Warehouse

New

Update

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.

Arsitektur Data Warehouse (cont’d)

3. Clients

a. Tools untuk Query dan Pelaporan

b. Tools untuk menganalisis

c. Tools untuk data mining.

Arsitektur Data Warehouse (cont’d)

4. Metadata Repository

Tempat menyimpan informasi tentang data yang ada di

datawarehouse.

Arsitektur Data Warehouse (cont’d)

Data Warehouse

Engine

Optimized Loader

Extraction

Cleansing

Metadata Repository

Relational

Databases

Legacy

Data

Purchased

Data

ERP

Systems

Analyze

Query

Data Transformation

Data Transformation

Fase yang terjadi ketika mengintegrasikan data ke dalam 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

Extracting

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

2. Sumber-sumber data berasal dari mainframes yang hampir

seluruhnya berupa database relasional.

Conditioning

Perubahan tipe data dari sumber data ke target data (data

warehouse) tetap dalam bentuk database relasional.

Scrubbing

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

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

yang sama.

Scrubbing (cont’d)

Merging

Proses penggabungan data dengan memperhatikan aturan-aturan

dalam mengintegrasikan data.

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.

Householding (cont’d)

Enrichment

Mengambil data dari sumber data eksternal (di luar data source

yang seharusnya) untuk memperkaya data operasional yang sudah

ada.

Scoring

Komputasi probabilitas tentang sebuah event, sebagai contoh

menghitung kemungkinan pelanggan membeli produk baru.

Loading

1. Proses menambah atau menyisipkan data baru.

2. Teknik:

a. Menggunakan SQL untuk menambah atau menyisipkan data

baru

b. Menggunakan batch load utility.

Validating

Proses pemeriksaan kebenaran suatu data yang dihasilkan dari

penggabungan.

Delta Updating

Proses update yang hanya akan mengupdate data baru saja tanpa

menghasilkan duplikasi record.

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.

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.

Bagaimana Teknik untuk Refresh?

1. Full extract dari tabel-tabel dasar

Kekurangan:

a. “Mahal”

b. Hanya untuk “legacy systems”.

2. Mendeteksi perubahan.

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.

Perancangan Data

Warehouse

Pendekatan Perancangan

1. Pendekatan normalisasi

2. Pendekatan dimensional.

Pendekatan Perancangan

1. Pendekatan normalisasi

2. Pendekatan dimensional.

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.

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.

Mana Yang Digunakan???

Pendekatan dimensional lebih sering digunakan walaupun

terkadang di dalam pendekatannya tetap membutuhkan

normalisasi.

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.

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.

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.

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

Skema Data Warehouse

1. Skema Star.

2. Skema Fact Constellation.

3. Skema Snowflake

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.

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

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

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.

Skema Fact Constellation (cont’d)

Hotels

Travel Agents

Promotion

Room Type

Customer

Booking

Checkout

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

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.

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

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

Query Language &

OLAP

Keterbatasan SQL

Mari kita lihat tabel penjualan berikut:

Keterbatasan SQL (cont’d)

Berikutnya kita lihat tabel produk:

Keterbatasan SQL (cont’d)

Berikutnya... Tabel Gudang:

Keterbatasan SQL (cont’d)

Terakhir... Tabel Kota:

Keterbatasan SQL (cont’d)

ERD:

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?

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

PEMECAHAN

O L A P (Online Analytical Processing)

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

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

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

Slicing and Dicing

Mengambil potongan kubus berdasarkan nilai tertentu pada satu

dimensi atau beberapa dimensinya.

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

Pivoting

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

berbeda.

2. Mengatur kembali dimensi dalam sebuah kubus data.

Pivoting (cont’d)

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

Roll Up

1. Generalisasi satu atau beberapa dimensi dengan merangkum

nilai-nilai ukurannya

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

dimensi.

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

Drill Down

1. Mendapatkan lebih detail tentang dimensi.

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

spesifik.

Drill Down (cont’d)

Data Agregat

1. Penggabungan beberapa data yang digunakan untuk

mempermudah pembuatan query.

2. Data agregat disimpan dalam tabel fakta.

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,*)

Query Operation

1. Create Dimension

2. Pengelompokkan Cube (kubus)

3. Operator Analisis

Create Dimension

Ditujukan untuk pembuatan dimensi,

penentuan dimensi yang spesifik dan

general.

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

Pengelompokan Data Cube

Pengelompokan data dalam kubus

dimensional untuk mempermudah analisis

data.

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)

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

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

Question PLEASE!!!

Recommended