Contents
Data Warehouse
Data Warehouse merupakan jenis sistem manajemen data yang dirancang untuk mendukung aktivitas intelijen bisnis (BI)
Data Warehouse mengintegrasikan berbagai sumber data dan memungkinkan organisasi/perusahaan memperoleh wawasan bisnis yang berharga dari 1 sumber data yang terpercaya yang lebih dikenal dengan isitilah “single source of truth.”
Ada 4 karaktkeristik utama dalam data warehouse yaitu Subject-oriented, Integrated, Nonvolatile, Time-variant
Subject-oriented
artinya data warehouse fokus memberikan informasi seputar subjek / departemen daripada operasi organisasi yang sedang berlangsung
Integrated
artinya data warehouse itu terintegrasi dari berbagai sumber data. Jadi jika hanya mempunyai 1 sumber data tentu tidak cocok dibangun data warehouse
Nonvolatile
artinya data yang sudah masuk ke dalam data warehouse tidak berubah (tidak ada update/delete)
Time-variant
menyatakan bahwa data warehouse menyimpan historical data dengan perubahan dari waktu ke waktu

Star Schema
Bentuk dari data warehouse sebenarnya seperti relational database pada umumnya tapi lebih dikenal dengan istilah dimensional modeling
Data warehouse dapat dibangun diatas konsep ERD. ERD atau Entity Relationship Diagram merupakan pemodelan data yang menampilkan struktur dan hubungan antar entitas
star schema
merupakan salah satu bentuk modeling data warehouse yang sangat terkenal
Disebut star schema
atau skema bintang karena susunan skemanya mirip bintang. Skema ini sangat populer dan mudah diimplementasikan untuk analisis 1 jenis subjek
Star schema dibangun dengan 1 tabel fakta (fact table
) yang dikelilingi oleh tabel dimensi (dimension table
)
Tabel fakta umumnya terbentuk dari tabel transaksi yang terdapat informasi kuantitatif sedangkan tabel dimensi lebih mengarah kepada data kualitatif
Dalam table fakta ada metrik yang dikenal dengan istilah measure
. Measure adalah properti di mana perhitungan dapat dilakukan. Misalnya dapat dijumlah, dirata-rata, dicari nilai minimum dan maksimum dan lainnya
Contoh Implementasi Star Schema
Oke untuk lebih memudahkan kita coba ambil contoh sederhana
Misal terdapat proses bisnis yang menangani traksaksi jual beli (sales
) oleh pembeli (customer
) terhadap produk (product
) di lokasi tertentu (location
) dalam rentang waktu tertentu (date
)
Dalam transaksi jual beli tentu ada identitas konsumen, lokasi penjualan, produk dan waktu transaksi. Selain itu juga terdapat jumlah item yang terjual (quantity
) dan total harga jual (total
). Atau misalnya juga ada diskon / tidak di setiap transaksi
Dari case diatas kita bisa memodelkan dalam bentuk star schema yang terdiri dari 1 tabel fakta yaitu sales
dan 4 tabel dimensi yaitu customer,
location
, product dan date
Selain itu juga terdapat 3 measure
di tabel fakta yaitu quantity, total sales dan discount
Deep Dive
Kita coba perdetail contoh kasus diatas secara lebih dalam
Misal jika terdapat perusahaan retail yang mempunyai lebih dari 1 toko, dimisalkan ada toko A, toko B dan toko C yang mempunyai sistem yang berbeda
Pihak perusahaan ingin membangun database yang yang utuh dan terintegrasi sehingga dapat dianggap sebagai single source of truth
Misal ..
Toko A
menjual produk sepatu dan topi
Toko B
menjual produk sepatu, jaket dan kaos
Toko C
menjual produk kaos dan kemeja
Jika pemilik perusahaan ingin membangun business intelligence untuk mendapatkan decision support system yang lebih baik dengan melakukan analsis transaksi penjualan seperti kuantitas item yang terjual, total penjualan dan diskon
Analisis juga diharapakan dapat dilihat dari berbagai sudut pandang misal jenis produk, waktu, pelanggan dan kota tempat penjualan. Jika sistem yang terpisah hanya bisa dilakukan analisis di masing-masing toko. Belum lagi jika terdapat duplikasi identitas pelanggan di beda toko
Perusahaan ingin membangun database yang utuh dan lengkap sehingga dibangunlah data warehouse yang dapat mengintegrasikan setiap transaksi di 3 toko tersebut
Berikut adalah transaksi di 3 toko yang diilustrasikan dalam bentuk 1 tabel
Transaksi Toko A

Transaksi Toko B

Transaksi Toko C

Arsitektur Data Warehouse
Arsitektur data warehouse yang kita buat tidak jauh berbeda seperti pada umumnya. Terdapat sumber data di sisi kiri yang dalam case ini adalah sistem dari Toko A, B dan C. Sumber data diekstrak dalam interval waktu tertentu (extract
) kemudian ditransformasikan bentuknya ke dalam 1 format yang konsisten (transform
) dan di masukkan ke dalam data warehouse (load
)

Pada tahap transform
kalau dilihat lebih detail dari 3 sumber data terdapat sedikit perbedaan di kolom customer
dan location
Di skema Toko A hanya menggunakan 1 atribut nama lengkap untuk menyimpan nama pelanggan sedangkan di Toko B dan C menggunakan 2 atribut yaitu nama awal dan nama akhir

Dalam skema bintang yang dibangun harus merujuk dalam 1 bentuk yang sama. Misal nama pelanggan hanya disimpan di 1 atribut Customer Name
sehingga dalam proses transform
data nama pelanggan di Toko B dan C harus ditransformasikan dengan menggabungkan atribut firstName
dan lastName
Selain itu kita bisa temukan kalau di skema Toko A dan B menyimpan kota dan propinsi lokasi toko berada sedangkan di Toko C hanya menyimpan kota tanpa menyimpan lokasi propinsinya

Misal dalam skema data warehouse diharuskan untuk menyimpan data propinsi transaksi maka di Toko A dan B hanya perlu dilakukan extract-load (EL)
sedangkan di Toko C harus dilakukan extract-transform-load (ETL)
untuk menambah kolom propinsi dengan pendekatan VLOOKUP
Sedangkan skema bintang untuk kasus transaksi sales
ini digambarkan sebagai berikut

Dengen pemodelan data seperti ini akan lebih mudah dalam analasis total penjulan, total item terjual dan diskon yang diberikan berdasarkan 4 dimensi yaitu produk, waktu, lokasi dan pelanggan
Dari data warehouse yang dirancang kita akan dengan mudah mendapatkan inteligen bisnis dengan cepat dan mudah. Misalnya dapat dengan mudah dan cepat dalam menjawab beberapa pertanyaan seperti :
- Berapa banyak item yang terjual secara global?
- Berapa banyak item sepatu yang terjual secara global?
- Berapa banyak item Kaos yang terjual di kota bandung?
- Berapa banyak revenue/ total sales dari penjualan di jawa timur?
- Berapa banyak revenue/ total sales dari produk sepatu di tahun 2022?
- Seberapa besar hubungan pemberian diskon terhadap penjualan Topi?
- Dan lain sebagainya
Untuk bisa menjawab dengan mudah gunakan operasi OLAP seperti Drill down, Roll up, Dice, Slice dan Pivot

Detail operasi OLAP dapat dibaca di artikel OLAP Operation in DBMS
Cukup sekian penjelasan konsep star schema di data warehouse beserta contoh kasusnya semoga bisa bermanfaat. Dan bagi anda yang ingin mencoba implementasi cloud data warehouse bisa mengunjungi artikel Cloud Data Warehouse dengan Snowflake