Snowflake Schema
Snowflake schema adalah cara mendesain struktur data warehouse di mana dimension tables dipecah lagi menjadi tabel-tabel yang lebih kecil lewat normalisasi. Hasilnya bentuk diagramnya mirip kepingan salju.
Apa itu Snowflake Schema?
Snowflake schema adalah salah satu pendekatan untuk mendesain model data di data warehouse, khususnya untuk keperluan analitik dan reporting. Nama "snowflake" berasal dari bentuk diagramnya yang mirip kepingan salju: satu tabel fakta di tengah, dikelilingi dimension tables yang bercabang-cabang.
Snowflake schema merupakan pengembangan dari star schema. Kalau di star schema, dimension tables langsung bergantung ke fact table dalam satu tabel yang flat, di snowflake schema, dimension tables tersebut dipecah lagi menjadi sub-dimension tables yang lebih kecil lewat proses normalisasi.
Star Schema vs Snowflake Schema
Ini perbedaan yang paling penting untuk dipahami:
| Aspek | Star Schema | Snowflake Schema |
|---|---|---|
| Struktur Dimension | Satu tabel dimension yang flat | Dimension dipecah ke sub-tabel |
| Normalisasi | Denormalized (data bisa berulang) | Normalized (lebih sedikit redundansi) |
| Kecepatan Query | Lebih cepat (join lebih sedikit) | Lebih lambat (butuh lebih banyak join) |
| Penggunaan Storage | Lebih besar | Lebih hemat storage |
| Kemudahan Dipahami | Lebih simpel | Lebih kompleks |
| Cocok Untuk | Query analitik cepat, BI tools | Storage efisien, dimensi hierarki panjang |
Contoh Konkret
Bayangkan data warehouse untuk perusahaan retail Indonesia.
Di star schema, tabel dimensi dim_produk langsung punya kolom nama_produk, kategori, dan subkategori dalam satu tabel yang flat.
Di snowflake schema, tabel dim_produk cuma punya produk_id dan nama_produk, lalu ada tabel terpisah dim_kategori yang isinya kategori_id dan nama_kategori, dan ada lagi tabel dim_subkategori yang terpisah. Produk ke Kategori ke Subkategori jadi tiga tabel berbeda yang saling terhubung.
Kapan Pakai Snowflake Schema?
Snowflake schema masuk akal dalam beberapa situasi:
- Data dimensi sering berubah: Karena dinormalisasi, update lebih efisien karena cukup update satu tempat
- Storage sangat terbatas: Normalisasi mengurangi duplikasi data secara signifikan
- Hierarki dimensi kompleks: Seperti wilayah geografis yang punya hierarki Provinsi, Kota, Kecamatan, Kelurahan
- Dimension tables sangat besar: Kalau satu dimensi punya jutaan baris, memecahnya jadi lebih masuk akal
Untuk kebanyakan kasus analitik modern, star schema tetap lebih populer karena query-nya lebih simpel dan tool BI seperti Looker, Tableau, atau Metabase lebih mudah bekerja dengannya.
Catatan Penting: Snowflake Schema vs Platform Snowflake
Nama "Snowflake" juga dipakai oleh cloud data warehouse bernama Snowflake, tapi dua hal ini berbeda. Snowflake schema adalah konsep desain model data, bukan nama produk tertentu.
Udah paham Snowflake Schema? Lanjut latihan SQL dan Excel yuk!
Latihan interaktif, langsung di browser.