Skema Snowflake vs. Star Schema

Apabila memilih skema pangkalan data untuk gudang data, kepingan salji dan skema bintang cenderung menjadi pilihan popular. Perbandingan ini membincangkan kesesuaian skema bintang vs snowflake dalam pelbagai senario dan ciri-ciri mereka.

Carta perbandingan

Skema Snowflake berbanding carta perbandingan skema Star
Skema saljiSkema Bintang
Kemudahan penyelenggaraan / perubahan Tiada redundansi, jadi skema salji salji lebih mudah untuk mengekalkan dan mengubah. Mempunyai data yang berlebihan dan dengan itu tidak mudah untuk mengekalkan / mengubah
Kemudahan penggunaan Pertanyaan yang lebih kompleks dan dengan itu kurang mudah difahami Kerumitan pertanyaan yang lebih rendah dan mudah difahami
Prestasi Kueri Lebih banyak kunci asing dan maka masa pelaksanaan pertanyaan yang lebih lama (lebih perlahan) Kurang jumlah kunci asing dan maka masa pelaksanaan pertanyaan yang lebih pendek (lebih pantas)
Jenis Datawarehouse Baik untuk digunakan untuk teras datawarehouse untuk memudahkan perhubungan yang kompleks (banyak: banyak) Baik untuk datamart dengan hubungan mudah (1: 1 atau 1: banyak)
Bergabung Bilangan Pengambilan yang lebih tinggi Lebih kurang menyertai
Jadual dimensi Skema salji salji mungkin mempunyai lebih daripada satu jadual dimensi bagi setiap dimensi. Skema bintang hanya mengandungi jadual dimensi tunggal untuk setiap dimensi.
Bila hendak digunakan Apabila jadual dimensi agak besar saiznya, salji salji lebih baik kerana ia mengurangkan ruang. Apabila jadual dimensi mengandungi kurang bilangan baris, kita boleh memilih skema Bintang.
Normalisasi / Pengecualian Jadual Dimensi berada dalam bentuk Normal tetapi Jadual Fakta dalam bentuk De-Normalized Kedua-dua Dimensi dan Jadual Fakta dalam bentuk De-Normalized
Model data Pendekatan bawah Pendekatan atas

Kandungan: Schema vs Skema Skrin Salji

  • 1 Contoh
    • Contoh Skema Star 1.1
    • Contoh Skema Snowflake
  • 2 Rujukan

Contoh

Pertimbangkan pangkalan data untuk peruncit yang mempunyai banyak kedai, dengan setiap kedai menjual banyak produk dalam banyak kategori produk dan pelbagai jenama. Gudang data atau data mart untuk peruncit sedemikian perlu memberikan penganalisis keupayaan untuk menjalankan laporan jualan yang dikumpulkan oleh kedai, tarikh (atau bulan, suku atau tahun), atau kategori produk atau jenama.

Contoh Skema Bintang

Sekiranya data ini menggunakan skema bintang, ia akan kelihatan seperti berikut:

Contoh skema Bintang

Jadual fakta akan menjadi rekod urus niaga jualan, sementara terdapat jadual dimensi untuk tarikh, menyimpan dan produk. Jadual dimensi masing-masing disambungkan ke jadual fakta melalui kunci utama mereka, yang merupakan kunci asing untuk jadual fakta. Sebagai contoh, bukan menyimpan tarikh urus niaga sebenar dalam satu barisan jadual fakta, tarikh_id disimpan. Date_id ini sepadan dengan baris unik dalam jadual Dim_Date, dan baris itu juga menyimpan atribut lain pada tarikh yang diperlukan untuk pengelompokan dalam laporan. contohnya, hari dalam seminggu, bulan, suku tahun dan sebagainya. Data itu dinamakan semula untuk pelaporan yang lebih mudah.

Berikut adalah cara seseorang mendapat laporan mengenai bilangan televisyen yang dijual oleh jenama dan negara dengan bantuan gabungan dalaman.

Contoh skema salji

Senario yang sama juga boleh menggunakan skema salji salji, di mana ia akan distrukturkan seperti berikut:

Contoh skema salji (klik untuk membesarkan)

Perbezaan utama, jika dibandingkan dengan skema bintang, ialah data dalam jadual dimensi lebih normal. Sebagai contoh, bukannya menyimpan bulan, suku dan hari dalam seminggu dalam setiap baris jadual Dim_Date, ini akan dipecah lagi ke dalam jadual dimensi mereka sendiri. Begitu juga untuk jadual Dim_Store, negara dan negara adalah sifat geografi yang satu langkah dihapuskan - daripada disimpan di dalam jadual Dim_Store, kini disimpan dalam jadual Dim_Geography berasingan.

Laporan yang sama - bilangan televisyen yang dijual oleh negara dan jenama - kini lebih rumit daripada skema bintang:

Pertanyaan SQL untuk mendapatkan bilangan produk yang dijual oleh negara dan jenama, apabila pangkalan data menggunakan skema salji salji.

Rujukan

  • wikipedia: Snowflake_schema
  • wikipedia: Star_schema