Snowflake Schema

Menengah

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:

AspekStar SchemaSnowflake Schema
Struktur DimensionSatu tabel dimension yang flatDimension dipecah ke sub-tabel
NormalisasiDenormalized (data bisa berulang)Normalized (lebih sedikit redundansi)
Kecepatan QueryLebih cepat (join lebih sedikit)Lebih lambat (butuh lebih banyak join)
Penggunaan StorageLebih besarLebih hemat storage
Kemudahan DipahamiLebih simpelLebih kompleks
Cocok UntukQuery analitik cepat, BI toolsStorage 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.

Lanjut Latihan

Udah paham Snowflake Schema? Lanjut latihan SQL dan Excel yuk!

Latihan interaktif, langsung di browser.

Mulai Latihan →