Skema Kepingan Salju dalam Model Gudang Data

⚡ Ringkasan Cerdas

Skema Snowflake dalam pemodelan Data Warehouse mengatur tabel dimensi yang dinormalisasi yang bercabang dari tabel fakta pusat, menyerupai kepingan salju. Skema ini memperluas skema bintang, mengurangi redundansi data, dan mengatur hierarki di beberapa tabel pencarian terkait.

  • 🧩 Struktur Inti: Tabel fakta pusat terhubung ke tabel dimensi yang dinormalisasi menjadi sub-dimensi dan tabel pencarian lebih lanjut.
  • ❄️ Normalisasi: Memisahkan setiap dimensi ke dalam tabel yang saling terkait menghilangkan atribut yang berulang dan mendorong hierarki menuju bentuk normal ketiga.
  • 🌟 Hubungan dengan Skema Bintang: Skema snowflake memperluas skema bintang dengan menormalisasi tabel dimensi datar dan tidak dinormalisasi.
  • 💾 Manfaat Penyimpanan: Tabel pencarian ternormalisasi yang lebih kecil mengurangi penggunaan disk dan menghilangkan data yang berlebihan, sehingga memudahkan pemeliharaan.
  • 🔗 Pertimbangan dalam Kueri: Semakin banyak tabel berarti semakin banyak operasi join, yang dapat memperlambat kinerja kueri dan mempersulit pelaporan.
  • 🧭 Kapan Harus Digunakan: Pilih opsi ini untuk dimensi besar dengan hierarki yang dalam di mana penghematan penyimpanan dan integritas data sangat penting.
  • 🪐 Skema Terkait: Desain galaksi dan gugusan bintang dibangun berdasarkan konsep bintang dan kepingan salju untuk model yang lebih kompleks.

Skema Snowflake di Data Warehouse dengan tabel dimensi yang dinormalisasi yang bercabang dari tabel fakta pusat.

Apa itu Skema Kepingan Salju?

A Skema Kepingan Salju Dalam data warehouse, terdapat susunan logis tabel dalam basis data multidimensi yang diagram hubungan entitas (ER) menyerupai bentuk kepingan salju. Ini adalah model dimensi di mana tabel fakta pusat terhubung ke tabel dimensi, dan tabel dimensi tersebut selanjutnya dibagi menjadi tabel sub-dimensi yang terkait.

Skema snowflake merupakan perluasan dari skema bintang. Sementara skema bintang menyimpan setiap dimensi dalam satu tabel datar, skema snowflake menormalisasi dimensi tersebut, membagi kelompok data yang berulang ke dalam tabel pencarian tambahan. Normalisasi ini menghilangkan redundansi dan menciptakan struktur hierarkis bercabang yang menjadi asal nama skema ini.

Contoh Skema Kepingan Salju

Dalam contoh skema snowflake berikut, tabel fakta Penjualan berada di tengah, dikelilingi oleh dimensi seperti Produk, Tanggal, dan Toko. Alih-alih menyimpan setiap atribut di dalam satu tabel dimensi, informasi geografis dinormalisasi sehingga Negara dipindahkan ke tabel terpisah tersendiri.

Contoh skema snowflake dengan tabel fakta pusat dan tabel dimensi Negara yang dinormalisasi.
Contoh Skema Kepingan Salju

Di sini, dimensi Toko merujuk pada tabel Kota, tabel Kota merujuk pada tabel Negara Bagian, dan tabel Negara Bagian merujuk pada tabel Negara. Setiap nilai hanya disimpan sekali dan dihubungkan oleh kunci asing, sehingga nama negara tidak pernah diulang di jutaan baris. Normalisasi berlapis inilah yang membedakan skema snowflake dari skema bintang datar.

Karakteristik Skema Kepingan Salju

Skema kepingan salju memiliki beberapa karakteristik yang mendefinisikannya:

  • Metode ini menggunakan ruang disk yang lebih kecil, karena tabel dimensi yang dinormalisasi menghindari penyimpanan nilai yang berulang.
  • Dimensi baru dapat ditambahkan ke skema dengan upaya yang relatif sedikit.
  • Performa kueri dapat menurun, karena pengambilan data memerlukan penggabungan banyak tabel.
  • Diperlukan lebih banyak upaya pemeliharaan, karena jumlah tabel pencarian yang harus dikelola lebih banyak.

Cara Mendesain Skema Kepingan Salju

Mendesain skema snowflake dimulai dengan cara yang sama seperti model dimensional lainnya, kemudian menambahkan langkah normalisasi. Tujuannya adalah untuk mengidentifikasi proses bisnis yang ingin Anda analisis, memodelkannya terlebih dahulu sebagai skema bintang, dan kemudian menormalisasi dimensi yang berisi hierarki yang dalam. Ikuti langkah-langkah berikut:

  1. Identifikasi proses bisnis dan tingkat detailnya. Tentukan apa yang diwakili oleh satu baris dalam tabel fakta, misalnya satu transaksi penjualan, dan definisikan ukuran numerik, atau fakta, yang perlu Anda laporkan.
  2. Buat tabel fakta utama. Jumlahkan ukuran numerik beserta kunci asing yang mengarah ke setiap dimensi; bersama-sama, kunci asing tersebut biasanya membentuk kunci utama komposit.
  3. Definisikan tabel dimensi. Buat satu tabel untuk setiap dimensi deskriptif, seperti Produk, Pelanggan, Tanggal, dan Toko, dan tetapkan kunci utama pengganti (surrogate primary key) untuk masing-masing dimensi.
  4. Normalisasikan hierarki. Pisahkan setiap dimensi yang memuat atribut berulang ke dalam tabel sub-dimensi, misalnya memindahkan Kategori dari Produk, atau Kota, Provinsi, dan Negara dari dimensi Toko.
  5. Hubungkan tabel-tabel tersebut dengan kunci asing. Hubungkan setiap sub-dimensi kembali ke tabel induknya sehingga cabang-cabangnya membentuk hierarki satu-ke-banyak yang jelas menyerupai kepingan salju.
  6. Validasi dan uji dengan kueri. Jalankan kueri pelaporan representatif untuk memastikan bahwa penggabungan (join) mengembalikan hasil yang benar dan bahwa kinerja keseluruhan tetap dapat diterima.

Karena desain tersebut menormalisasi data ke arah bentuk normal ketiga, dokumentasikan jalur penggabungan dengan jelas agar analis memahami cara menavigasi setiap cabang. Setelah struktur didefinisikan, ada baiknya mempertimbangkan manfaat skema dibandingkan dengan biayanya.

Keunggulan Skema Kepingan Salju

Skema snowflake menawarkan sejumlah manfaat:

  • Keunggulan utamanya adalah pengurangan penyimpanan disk, karena penggabungan tabel pencarian yang dinormalisasi lebih kecil menghindari duplikasi data dimensi.
  • Hal ini memberikan skalabilitas yang lebih besar dalam hubungan antara komponen dan tingkat dimensi.
  • Hal ini menghilangkan redundansi, yang meningkatkan integritas data dan membuat model lebih mudah dipelihara.
  • Atribut deskriptif hanya diperbarui di satu tempat, yang mengurangi risiko data yang tidak konsisten.

Kelemahan Skema Snowflake

Desain ini juga memiliki beberapa kompromi yang perlu dipertimbangkan:

  • Struktur yang dinormalisasi meningkatkan kebutuhan pemeliharaan untuk mengelola banyak tabel terkait.
  • Kueri kompleks yang mencakup banyak operasi join dapat sulit untuk ditulis dan dipahami.
  • Semakin banyak tabel berarti semakin banyak operasi join, yang memperpanjang waktu eksekusi query.
  • Pengguna bisnis seringkali merasa model percabangan lebih sulit dinavigasi daripada skema bintang sederhana.

Skema Kepingan Salju vs Skema Bintang

Skema kepingan salju dan skema bintang Skema bintang dan skema kepingan salju adalah dua desain multidimensi yang paling umum dalam gudang data, dan perbedaan utama di antara keduanya adalah normalisasi. Skema bintang menyimpan setiap dimensi dalam satu tabel datar yang tidak dinormalisasi untuk kecepatan kueri maksimum, sedangkan skema kepingan salju menormalisasi dimensi tersebut ke dalam beberapa tabel terkait untuk menghemat penyimpanan dan melindungi integritas data. Karena itu, kedua skema tersebut sesuai dengan prioritas yang berbeda.

AspekSkema BintangSkema Kepingan Salju
Tabel dimensiTidak dinormalisasi, satu tabel per dimensiDinormalisasi ke dalam tabel sub-dimensi
StorageMenggunakan lebih banyak ruang karena adanya redundansi.Menggunakan lebih sedikit ruang, tanpa redundansi.
Performa kueriLebih cepat, lebih sedikit penggabunganLebih lambat, lebih banyak penggabungan
Kompleksitas kueriMudah ditulisLebih kompleks
Paling cocok untukPelaporan cepat dan BIDimensi besar dan hierarkis

Singkatnya, pilih skema bintang (star schema) ketika kecepatan kueri dan kesederhanaan pelaporan menjadi prioritas utama, dan pilih skema kepingan salju (snowflake schema) ketika efisiensi penyimpanan, hierarki yang rapi, dan redundansi data yang rendah menjadi prioritas. Banyak gudang data (data warehouse) yang sebenarnya menggabungkan kedua pola tersebut tergantung pada ukuran dan kedalaman setiap dimensi.

Kapan Menggunakan Skema Kepingan Salju?

Skema snowflake tidak selalu merupakan pilihan yang tepat, jadi ada baiknya menyesuaikan desain dengan beban kerja dan kebutuhan pelaporan. Skema ini cenderung bekerja paling baik dalam situasi berikut:

  • Dimensi sangat besar dan mengandung banyak atribut berulang yang membuang ruang penyimpanan saat dinormalisasi.
  • Dimensi memiliki hierarki yang mendalam dan terdefinisi dengan baik, seperti Wilayah ke Negara ke Provinsi ke Kota, yang secara alami dipetakan ke tabel terpisah.
  • Integritas dan konsistensi data lebih penting bagi proyek daripada kecepatan kueri mentah.
  • Biaya penyimpanan merupakan masalah yang nyata dan penghematan ruang disk pada tabel dimensi yang sangat besar sangatlah signifikan.
  • Model tersebut memberi makan OLAP alat yang dapat menavigasi hierarki yang dinormalisasi secara efisien.

Sebaliknya, ketika pelaporan yang cepat dan sederhana untuk analis bisnis menjadi prioritas, skema bintang atau desain gugus bintang hibrida biasanya lebih cocok. Banyak arsitektur gudang data Dengan sengaja memadukan kedua pendekatan tersebut untuk menyeimbangkan kecepatan dan penyimpanan.

Apa itu Skema Galaksi?

A Skema Galaxy Berisi dua atau lebih tabel fakta yang berbagi tabel dimensi di antara keduanya. Ini juga disebut Skema Konstelasi Fakta, dan karena dapat dilihat sebagai kumpulan bintang, maka disebut juga skema galaksi.

Contoh skema galaksi dengan dua tabel fakta yang berbagi tabel dimensi yang sesuai.
Contoh Skema Galaksi

Seperti yang Anda lihat pada contoh di atas, ada dua tabel fakta:

  1. Revenue
  2. Produk

Dalam skema galaksi, dimensi yang dibagi antara tabel fakta disebut dimensi yang sesuai.

Karakteristik Skema Galaksi

Skema galaksi memiliki karakteristik sebagai berikut:

  • Dimensi-dimensi tersebut dipisahkan menjadi dimensi-dimensi yang berbeda berdasarkan berbagai tingkatan hierarki.
  • Sebagai contoh, jika geografi memiliki empat tingkatan hierarki — wilayah, negara, negara bagian, dan kota — maka skema galaksi seharusnya memiliki empat dimensi.
  • Skema jenis ini dapat dibangun dengan membagi satu skema bintang menjadi beberapa skema bintang lainnya.
  • Dimensi dalam skema ini besar dan harus dibangun sesuai dengan tingkatan hierarki.
  • Skema ini bermanfaat untuk menggabungkan tabel fakta guna mendukung analisis dan pemahaman yang lebih baik.

Apa itu Bintang Cluster Skema?

Skema snowflake berisi hierarki yang sepenuhnya diperluas, yang dapat menambah kompleksitas dan memerlukan penggabungan tambahan. Skema bintang, di sisi lain, berisi hierarki yang sepenuhnya dilipat, yang dapat menyebabkan redundansi. Solusi terbaik seringkali merupakan keseimbangan antara kedua desain ini, yang dikenal sebagai skema Bintang. Cluster Skema.

Contoh skema gugusan bintang yang menyeimbangkan desain bintang dan kepingan salju.
Contoh Bintang Cluster Skema

Tumpang tindihping Dimensi muncul sebagai percabangan dalam hierarki. Percabangan terjadi ketika suatu entitas bertindak sebagai induk dalam dua hierarki dimensi yang berbeda. Entitas percabangan ini kemudian diidentifikasi sebagai klasifikasi dengan hubungan satu-ke-banyak, yang membatasi jumlah tabel tambahan yang dibuat oleh desain.

Pertanyaan Umum Demo Slot

Skema ini mendapatkan namanya karena diagram relasi entitasnya bercabang keluar seperti kepingan salju. Normalisasi setiap dimensi ke dalam sub-dimensi dan tabel pencarian menciptakan beberapa tingkatan yang terhubung yang memancar dari tabel fakta pusat, membentuk bentuk yang menyerupai kristal kepingan salju.

Normalisasi membagi tabel dimensi menjadi tabel-tabel terkait yang lebih kecil untuk menghilangkan data yang berulang. Dalam skema snowflake, atribut seperti kategori atau negara dipindahkan ke tabelnya sendiri, biasanya mencapai bentuk normal ketiga, yang mengurangi redundansi dan menjaga agar setiap nilai hanya tersimpan sekali.

Tabel fakta menyimpan peristiwa bisnis numerik yang terukur, seperti jumlah penjualan, ditambah kunci asing ke dimensi. Tabel dimensi menyimpan atribut deskriptif, seperti nama produk atau wilayah, yang memberikan konteks pada fakta-fakta tersebut. Tabel fakta biasanya jauh lebih besar daripada tabel dimensi.

Sub-dimensi, terkadang disebut tabel cabang, adalah tabel yang dinormalisasi yang bercabang dari dimensi utama. Misalnya, dimensi Produk dapat terhubung ke tabel Kategori yang terpisah. Tabel-tabel tambahan ini menciptakan hierarki multi-level yang menjadi ciri khas model snowflake.

Ya. Banyak gudang menggabungkan kedua pola tersebut, hanya menormalkan dimensi besar yang mendapat manfaat darinya sambil mempertahankan ukuran yang lebih kecil.ping Dimensi yang lebih kecil dan datar. Skema hibrida ini, yang terkadang disebut skema gugus bintang, menyeimbangkan kecepatan kueri skema bintang dengan penghematan penyimpanan skema kepingan salju.

Ya. Skema kepingan salju memberi makan OLAP Sistem ini bekerja dengan baik karena hierarki yang dinormalisasinya dipetakan dengan rapi ke tingkat penelusuran mendalam seperti negara, provinsi, dan kota. Namun, penggabungan tambahan dapat memperlambat pemrosesan kubus, sehingga beban kerja OLAP yang sangat berat terhadap kueri terkadang lebih menyukai skema bintang.

Asisten AI dapat menyarankan dimensi mana yang perlu dinormalisasi, menghasilkan struktur tabel dari deskripsi bisnis, dan merekomendasikan indeks atau jalur penggabungan yang meningkatkan kinerja. Mereka juga dapat mendeteksi redundansi dan kunci yang tidak konsisten, meskipun seorang insinyur data harus meninjau setiap rekomendasi sebelum menerapkannya.

Ya. ChatGPT ke Kopilot GitHub Anda dapat membuat draf pernyataan CREATE TABLE dan kueri join untuk skema snowflake dari perintah singkat. Selalu tinjau kunci, tipe data, dan relasi yang dihasilkan sebelum menjalankannya di lingkungan produksi.

Ringkaslah postingan ini dengan: