ETL SKEMA DAN MODEL DATA PADA DATA WAREH
By: Muhammad Zia ul Haq
ETL, SKEMA DAN MODEL DATA PADA DATA WAREHOUSE
1. Can we do ETL process manually?
ETL (extract, Transform, Load) dapat dilakukan dengan otomatis menggunakan perangkat
khusus, juga dapat dilakukan secara manual yakni dengan melakukan penulisan kode
pemrograman dengan teknik seperti OOP, contoh pada gambar berikut:
2. Do we need special hardware or software in ETL process? Explain your answering, please!
Penggunaan perangkat keras dan perangkat lunak dalam proses ETL sangat relatif, artinya
jenis dan kapasitasnya ditentukan berdasarkan beberapa aspek, diantaranya jumlah
perkiraan data, jenis data, jenis sumber data dan lainnya. Pada dasarnya semua komputer
utamanya yang memiliki spesifikasi yang tinggi dapat digunakan untuk proses ETL. Oracle
menetapkan spesifikasi minimum berupa: x64 processor, 1,8ghz, 3GB RAM dan 1GB
ruang bebas pada hardisk. Namun tentunya semakin tinggi dari spesifikasi minimum
tersebut akan menghasilkan performa yang lebih baik.
Dari perspektif perangkat lunak, proses ETL dapat dilakukan dengan proses manual,
namun cara ini membutuhkan ketelitian dan tingkat kerumitan yang cukup besar. Oleh
karena itu proses yang dibutuhkan akan memakan waktu yang lebih lama. Olehnya
beberapa vendor menyediakan software-software khusus untuk proses ini, diantaranya
yang terkenal adalah Oracle Warehouse Builder (OWB), SAP Data Service, IBM
By: Muhammad Zia ul Haq
Infosphere Information Server, SAS Data management, Pentaho Data Integration,
CloverETL, Elixir Repertoire for Data ETL dan lainnya.
3. What do you know about star schema, snowflake schema and fact constellation schema?
Star schema adalah model data dimensional yang mempunyai fact table di bagian tengah,
dikelilingi oleh tabel dimensi yang terdiri dari data reference (yang bisa di-denormalized).
Star schema mengambil karakteristik dari factual data yang di-generate oleh event yang
terjadi dimasa lampau.
Snowflake adalah jenis dari star schema dimana tabel dimensinya tidak mengandung
denormalisasi.
By: Muhammad Zia ul Haq
Fact constellations, pada skema ini terdapat beberapa tabel fakta yang menggunakan satu
atau beberapa tabel dimensi secara bersama-sama sehingga jika digambarkan akan terlihat
seperti sekumpulan bintang. Skema ini juga dikenal dengan galaxy schema.
4. Snowflaking is normalized unnormalized star schema. Give explanation and understanding
for that term
Maksud dari pernyataan ini adalah bahwa skema snowflake merupakan proses normalisasi
data tabel dimensi, dimana pada skema star tabel tersebut dalm kondisi unnormilized .
vs
Tabel StoreDimension belum ternormalisasi (star)
Tabel StoreDimension telah ternormalisasi (Snowflake)
Contoh pada gambar diatas menunjukkan bahwa tabel dimensi StoreDimension yang
awalnya tidak ternormalisasi pada skema star, akan dinormalisasi pada skema snowflake
dengan 2 tabel dimensi lainnya.
By: Muhammad Zia ul Haq
5. Design TPS (Transactional Processing System) database design from figure star schema
below with UML class diagram or ERD (Entity Relationship Diagram)!
ERD untuk skema ini adalah:
dateTrans
idStore
price
amount
idProduct
N
Fact
contains
1
Create
it has
1
DimWeek
1
dateTrans
DimProduct
week
month
DimStore
idStore
nameTypeProduct
idProduct
nameStore
storeLocation
6. Change figure star schema above into snowflake schema!
nameProduct
By: Muhammad Zia ul Haq
DimStore
PK
idStore
1
nameStore
*
Fact
storeLocation
*
DimWeek
PK
DateTrans
1
*
DimProduct
*
1
FK
idProduct
FK
idStore
nameProduct
FK
dateTrans
nameTypeProduct
week
price
month
amount
PK
idProduct
*
DimCatProduct
DimLocation
1
PK
idLocation
PK
idTypeProduct
*
nameTypeProduct
Address
CityProvince
zip
telephone
7. Give explanation and example about multidimensional from figure star schema below!
Multidimensional model digunakan untuk mendesain data agar terstruktur. Struktur
tersebut terdiri dari measures dan context. Measures adalah data numerik yang nantinya
akan ditrack. Context, data yang digunakan untuk mendeskripsikan measure.
Penyimpanan data dengan model multidimensional pada database inilah yang disebut
sebagai skema star.
Skema star diatas menunjukkan pada tabel fact hanya disimpan measure berupa data
numerik ‘idproduct’, ‘idstore’, dan ‘idtrans’. Sedangkan untuk mendeskripsikan measure
tersebut dibutuhkan beberapa tabel dimensi yang memuat context dari data numerikal pada
tabel fakta. Sebagai contoh:
By: Muhammad Zia ul Haq
Blok struktur data pada contoh diatas dapat digambarkan sebagai berikut:
8. Give explanation and example about roll up from figure star schema above!
Dari skema star diatas dapat dilakukan roll up, yakni penghimpunan data dengan jalan
agregasi pada kubus data, dan dapat dilakukan dengan 2 jalan:
a) Menggunakan konsep hirarki untuk sebuah dimensi
b) Mereduksi dimensi
Sebagai contoh dengan asumsi nama database yang digunakan adalah OLAP
SELECT
W.Week, P.NameProduct
COUNT(S.NameStore) as Jumlah
FROM
OLAP.fact as FT , OLAP.DimWeek as W, OLAP.DimProduct as P, OLAP.DimStore as S
WHERE
FT.DateTrans=W.DateTrans and FT.idStore=S.idStore and FT.idProduct=P.idProduct
GROUP BY
Week, NameProduct with ROLLUP;
SQL diatas memberikan output:
Week
Pertama
nameProduct
Roti
Jumlah
1
9. Give explanation and example about drill down from figure star schema above!
Drill down merupakan kebalikan dari roll-up, yakni pada pengoperasiannya dilakukan
dengan jalan:
a) Membalikkan konsep hirarki pada sebuah dimensi
b) Memperkenalkan penggunaan dimensi baru
Contohnya, dengan menggunakan left join:
By: Muhammad Zia ul Haq
SELECT
DimProduct, DimStore, DimWeek,
COUNT(NameProduct) as JumlahProduk
FROM olap.DimProduct as P
LEFT JOIN
(SELECT FT.idProduct as IP, DimProduct as DP, DimStore, DimWeek
FROM olap.fact as FT, olap.DimStore as S, olap.DimWeek as W, olap.DimProduct as P
WHERE FT.idStore=S.idStore and FT.DateTrans=W.DateTrans and
FT.idProduct=P.idProduct)
as FACT on P.idProduct=FACT.IP
GROUP BY DimProduct,DimStore, DimWeek;
Proses diatas memberikan hasil:
DimProduct
Roti
Kerupuk
Cokelat
DimStore
BinusMart1
DimWeek
Pertama
JumlahProduk
1
0
0
10. Give explanation and example about slice and dice from figure star schema above!
Pada Slice melakukan pemilihan satu dimensi pada kubus yang diberikan dan kemudian
membuat satu kubus baru, contoh pada datamart Product, kita ingin mengetahui produk
mana yang tertransaksikan pada minggu apa, maka kita perlu menerapkan query berikut:
SELECT
W.Week, P.nameProduct
FROM
olap.fact as F , olap.DimWeek as W, olap.DimProduct as P
WHERE F.Datetrans=W.DateTrans and F.idProduct=P.idProduct
GROUP BY Week, nameProduct;
Hasil yang diperoleh:
Week
Pertama
nameProduct
Roti
Sedangkan dice, melakukan pilihan dari dua atau lebih pada kubus, dan kemudian
membuat subkubus baru, misalnya pada data mart produk ingin di”dice” produk yang
memiliki hubungan dengan bulan atau minggu transaksi dimana produk yang dimaksud itu
terjual, contoh menemukan roti yang terjual pada minggu pertamaa, maka data yang
dihasilkan seperti berikut:
By: Muhammad Zia ul Haq
Week
Pertama
Kedua
nameProduct
Roti
ETL, SKEMA DAN MODEL DATA PADA DATA WAREHOUSE
1. Can we do ETL process manually?
ETL (extract, Transform, Load) dapat dilakukan dengan otomatis menggunakan perangkat
khusus, juga dapat dilakukan secara manual yakni dengan melakukan penulisan kode
pemrograman dengan teknik seperti OOP, contoh pada gambar berikut:
2. Do we need special hardware or software in ETL process? Explain your answering, please!
Penggunaan perangkat keras dan perangkat lunak dalam proses ETL sangat relatif, artinya
jenis dan kapasitasnya ditentukan berdasarkan beberapa aspek, diantaranya jumlah
perkiraan data, jenis data, jenis sumber data dan lainnya. Pada dasarnya semua komputer
utamanya yang memiliki spesifikasi yang tinggi dapat digunakan untuk proses ETL. Oracle
menetapkan spesifikasi minimum berupa: x64 processor, 1,8ghz, 3GB RAM dan 1GB
ruang bebas pada hardisk. Namun tentunya semakin tinggi dari spesifikasi minimum
tersebut akan menghasilkan performa yang lebih baik.
Dari perspektif perangkat lunak, proses ETL dapat dilakukan dengan proses manual,
namun cara ini membutuhkan ketelitian dan tingkat kerumitan yang cukup besar. Oleh
karena itu proses yang dibutuhkan akan memakan waktu yang lebih lama. Olehnya
beberapa vendor menyediakan software-software khusus untuk proses ini, diantaranya
yang terkenal adalah Oracle Warehouse Builder (OWB), SAP Data Service, IBM
By: Muhammad Zia ul Haq
Infosphere Information Server, SAS Data management, Pentaho Data Integration,
CloverETL, Elixir Repertoire for Data ETL dan lainnya.
3. What do you know about star schema, snowflake schema and fact constellation schema?
Star schema adalah model data dimensional yang mempunyai fact table di bagian tengah,
dikelilingi oleh tabel dimensi yang terdiri dari data reference (yang bisa di-denormalized).
Star schema mengambil karakteristik dari factual data yang di-generate oleh event yang
terjadi dimasa lampau.
Snowflake adalah jenis dari star schema dimana tabel dimensinya tidak mengandung
denormalisasi.
By: Muhammad Zia ul Haq
Fact constellations, pada skema ini terdapat beberapa tabel fakta yang menggunakan satu
atau beberapa tabel dimensi secara bersama-sama sehingga jika digambarkan akan terlihat
seperti sekumpulan bintang. Skema ini juga dikenal dengan galaxy schema.
4. Snowflaking is normalized unnormalized star schema. Give explanation and understanding
for that term
Maksud dari pernyataan ini adalah bahwa skema snowflake merupakan proses normalisasi
data tabel dimensi, dimana pada skema star tabel tersebut dalm kondisi unnormilized .
vs
Tabel StoreDimension belum ternormalisasi (star)
Tabel StoreDimension telah ternormalisasi (Snowflake)
Contoh pada gambar diatas menunjukkan bahwa tabel dimensi StoreDimension yang
awalnya tidak ternormalisasi pada skema star, akan dinormalisasi pada skema snowflake
dengan 2 tabel dimensi lainnya.
By: Muhammad Zia ul Haq
5. Design TPS (Transactional Processing System) database design from figure star schema
below with UML class diagram or ERD (Entity Relationship Diagram)!
ERD untuk skema ini adalah:
dateTrans
idStore
price
amount
idProduct
N
Fact
contains
1
Create
it has
1
DimWeek
1
dateTrans
DimProduct
week
month
DimStore
idStore
nameTypeProduct
idProduct
nameStore
storeLocation
6. Change figure star schema above into snowflake schema!
nameProduct
By: Muhammad Zia ul Haq
DimStore
PK
idStore
1
nameStore
*
Fact
storeLocation
*
DimWeek
PK
DateTrans
1
*
DimProduct
*
1
FK
idProduct
FK
idStore
nameProduct
FK
dateTrans
nameTypeProduct
week
price
month
amount
PK
idProduct
*
DimCatProduct
DimLocation
1
PK
idLocation
PK
idTypeProduct
*
nameTypeProduct
Address
CityProvince
zip
telephone
7. Give explanation and example about multidimensional from figure star schema below!
Multidimensional model digunakan untuk mendesain data agar terstruktur. Struktur
tersebut terdiri dari measures dan context. Measures adalah data numerik yang nantinya
akan ditrack. Context, data yang digunakan untuk mendeskripsikan measure.
Penyimpanan data dengan model multidimensional pada database inilah yang disebut
sebagai skema star.
Skema star diatas menunjukkan pada tabel fact hanya disimpan measure berupa data
numerik ‘idproduct’, ‘idstore’, dan ‘idtrans’. Sedangkan untuk mendeskripsikan measure
tersebut dibutuhkan beberapa tabel dimensi yang memuat context dari data numerikal pada
tabel fakta. Sebagai contoh:
By: Muhammad Zia ul Haq
Blok struktur data pada contoh diatas dapat digambarkan sebagai berikut:
8. Give explanation and example about roll up from figure star schema above!
Dari skema star diatas dapat dilakukan roll up, yakni penghimpunan data dengan jalan
agregasi pada kubus data, dan dapat dilakukan dengan 2 jalan:
a) Menggunakan konsep hirarki untuk sebuah dimensi
b) Mereduksi dimensi
Sebagai contoh dengan asumsi nama database yang digunakan adalah OLAP
SELECT
W.Week, P.NameProduct
COUNT(S.NameStore) as Jumlah
FROM
OLAP.fact as FT , OLAP.DimWeek as W, OLAP.DimProduct as P, OLAP.DimStore as S
WHERE
FT.DateTrans=W.DateTrans and FT.idStore=S.idStore and FT.idProduct=P.idProduct
GROUP BY
Week, NameProduct with ROLLUP;
SQL diatas memberikan output:
Week
Pertama
nameProduct
Roti
Jumlah
1
9. Give explanation and example about drill down from figure star schema above!
Drill down merupakan kebalikan dari roll-up, yakni pada pengoperasiannya dilakukan
dengan jalan:
a) Membalikkan konsep hirarki pada sebuah dimensi
b) Memperkenalkan penggunaan dimensi baru
Contohnya, dengan menggunakan left join:
By: Muhammad Zia ul Haq
SELECT
DimProduct, DimStore, DimWeek,
COUNT(NameProduct) as JumlahProduk
FROM olap.DimProduct as P
LEFT JOIN
(SELECT FT.idProduct as IP, DimProduct as DP, DimStore, DimWeek
FROM olap.fact as FT, olap.DimStore as S, olap.DimWeek as W, olap.DimProduct as P
WHERE FT.idStore=S.idStore and FT.DateTrans=W.DateTrans and
FT.idProduct=P.idProduct)
as FACT on P.idProduct=FACT.IP
GROUP BY DimProduct,DimStore, DimWeek;
Proses diatas memberikan hasil:
DimProduct
Roti
Kerupuk
Cokelat
DimStore
BinusMart1
DimWeek
Pertama
JumlahProduk
1
0
0
10. Give explanation and example about slice and dice from figure star schema above!
Pada Slice melakukan pemilihan satu dimensi pada kubus yang diberikan dan kemudian
membuat satu kubus baru, contoh pada datamart Product, kita ingin mengetahui produk
mana yang tertransaksikan pada minggu apa, maka kita perlu menerapkan query berikut:
SELECT
W.Week, P.nameProduct
FROM
olap.fact as F , olap.DimWeek as W, olap.DimProduct as P
WHERE F.Datetrans=W.DateTrans and F.idProduct=P.idProduct
GROUP BY Week, nameProduct;
Hasil yang diperoleh:
Week
Pertama
nameProduct
Roti
Sedangkan dice, melakukan pilihan dari dua atau lebih pada kubus, dan kemudian
membuat subkubus baru, misalnya pada data mart produk ingin di”dice” produk yang
memiliki hubungan dengan bulan atau minggu transaksi dimana produk yang dimaksud itu
terjual, contoh menemukan roti yang terjual pada minggu pertamaa, maka data yang
dihasilkan seperti berikut:
By: Muhammad Zia ul Haq
Week
Pertama
Kedua
nameProduct
Roti