Apa itu Snowflake Schema ?
Snowflake schema adalah database multidimensional dalam data warehouse. Database berupa skema ini memiliki beberapa tabel di dalamnya yang menyerupai bentuk snowflake atau kepingan salju.
Oleh karena itu, namanya disebut sebagai snowflake schema atau skema kepingan salju. Skema ini tersusun dari fact table atau tabel fakta yang berada di tengah.
Tabel ini terhubung dengan berbagai dimensi yang juga dikelompokkan dalam tabel. Tabel ini disebut dengan dimensional tables atau tabel dimensional.
Informasi atau data dalam tabel-tabel ini kemudian dinormalisasi untuk mengurangi redundancy atau pengulangan data yang ada.
Skema jenis ini merupakan yang sangat cocok untuk mengolah data dengan hubungan serta tabel yang rumit, tidak seperti star schema.
snowflake schema ilustration // geeksforgeeks
Kelebihan Snowflake Schema
1) Lebih banyak tool yang bisa digunakan
Snowflake schema bisa digunakan dengan lebih banyak OLAP database modeling tools. OLAP database modeling tools adalah tool yang digunakan untuk analisis data dan modeling.
Tool ini pada dasarnya dibuat dan didesain untuk memproses skema data tipe snowflake.
2) Hemat storage
Karena ada proses snowflaking yaitu normalisasi data, pengulangan data yang sama bisa dikurangi.
Dengan begitu, besar data yang harus disimpan juga semakin kecil.
Kekurangan Snowflake Schema
1) Skema data lebih kompleks
Skema database yang satu ini memiliki kemungkinan menciptakan banyak level kompleksitas saat proses normalisasi atribut dari star schema.
Memang, ini akan berujung pada penyimpanan data yang lebih efektif. Namun, performanya bisa menurun akibat join query yang rumit.
Akan tetapi, dengan berkembangnya teknologi, snowflake schema menjadi semakin cepat beberapa tahun belakangan ini.
Oleh karena itu, skema ini semakin banyak digunakan dari waktu ke waktu.
2) Proses lebih lambat
Skema ini lebih lambat dalam memproses cube data akibat join query yang kompleks. Dibanding star schema, kecepatannya masih kalah.
3) Integritas data
Skema jenis ini memiliki integritas data yang lebih rendah.
Snowflake schema pada dasarnya menawarkan pengambilan data yang lebih efektif dengan risiko minim setelah update dan memasukkan data baru.
Akan tetapi, tidak ada jaminan integritas data seperti struktur database tradisional yang highly–normalized.
Untuk meminimalkan risiko ini, penting untuk selalu mengecek kualitas informasi atau data setelah di-load.
sumber referensi : glint, geeksforgeeks