star schema data warehouse
Database

Mengenal Star Schema di Data Warehouse

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

Star Schema di Data Warehouse

Transaksi Toko B

Star Schema di Data Warehouse

Transaksi Toko C

Star Schema di Data Warehouse

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)

Star Schema di Data Warehouse

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

Star Schema di Data Warehouse

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

Star Schema di Data Warehouse

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

Star Schema di Data Warehouse

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 :

  1. Berapa banyak item yang terjual secara global?
  2. Berapa banyak item sepatu yang terjual secara global?
  3. Berapa banyak item Kaos yang terjual di kota bandung?
  4. Berapa banyak revenue/ total sales dari penjualan di jawa timur?
  5. Berapa banyak revenue/ total sales dari produk sepatu di tahun 2022?
  6. Seberapa besar hubungan pemberian diskon terhadap penjualan Topi?
  7. Dan lain sebagainya

Untuk bisa menjawab dengan mudah gunakan operasi OLAP seperti Drill down, Roll up, Dice, Slice dan Pivot

https://www.geeksforgeeks.org/data-cube-or-olap-approach-in-data-mining/

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

Leave a Reply

Your email address will not be published. Required fields are marked *