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.
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.
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)
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:
6. Change figure star schema above into snowflake schema!
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:
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
SQL diatas memberikan output:
Week nameProduct Jumlah
Pertama Roti 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: 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
Proses diatas memberikan hasil:
DimProduct DimStore DimWeek JumlahProduk
Roti BinusMart1 Pertama 1
Kerupuk 0
Cokelat 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:
Hasil yang diperoleh:
Week nameProduct
Pertama 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:
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;
SELECT
W.Week, P.nameProduct FROM
Week nameProduct Pertama Roti