Kartanesi Şeması ve Yıldız Şeması

Veri ambarı için bir veritabanı şeması seçerken, kar tanesi ve yıldız şemaları popüler seçenekler olma eğilimindedir. Bu karşılaştırma, yıldız ve kar tanesi şemalarının farklı senaryolardaki uygunluğunu ve özelliklerini tartışır..

Karşılaştırma Tablosu

Kartanesi Şeması ve Yıldız Şeması karşılaştırma tablosu
Kar Tanesi ŞemasıYıldız Şeması
Bakım / değişiklik kolaylığı Artıklık yok, bu nedenle kar tanesi şemalarının bakımı ve değiştirilmesi daha kolay. Gereksiz verilere sahiptir ve bu nedenle bakımı / değiştirilmesi daha az kolaydır
Kullanım kolaylığı Daha karmaşık sorgular ve dolayısıyla anlaşılması daha kolay Daha düşük sorgu karmaşıklığı ve kolay anlaşılır
Sorgu Performansı Daha fazla yabancı anahtar ve dolayısıyla daha uzun sorgu yürütme süresi (daha yavaş) Daha az sayıda yabancı anahtar ve dolayısıyla daha kısa sorgu yürütme süresi (daha hızlı)
Veri Ambarı Türü Karmaşık ilişkileri basitleştirmek için datawarehouse çekirdeği için iyi kullanılır (çok: çok) Basit ilişkileri olan veri grupları için iyi (1: 1 veya 1: çok)
Katıldı Daha fazla Katılma Daha Az Katılma
Boyut tablosu Bir kar tanesi şemasında her boyut için birden fazla boyut tablosu olabilir. Yıldız şeması her boyut için yalnızca tek boyut tablosu içerir.
Ne zaman kullanılır? Boyut tablosu göreceli olarak büyük olduğunda, alanı azalttığı için kar tanesi yapmak daha iyidir. Boyut tablosu daha az sayıda satır içerdiğinde, Yıldız şemasını seçebiliriz.
Normalizasyon / Normalleştirmenin Giderilmesi Boyut Tabloları Normalize edilmiş formda, ancak Gerçekler Tablosu Normalize Olmayan biçimde Hem Boyut hem de Olgu Tabloları Normalleştirildi biçimindedir
Veri örneği Aşağıdan yukarıya yaklaşım Yukarıdan aşağıya yaklaşım

İçindekiler: Kar Tanesi Şeması vs Yıldız Şeması

  • 1 Örnekler
    • 1.1 Yıldız Şeması Örneği
    • 1.2 Kar Tanesi Şeması Örneği
  • 2 Kaynaklar

Örnekler

Her mağazanın birçok ürün kategorisinde ve çeşitli markalarda çok sayıda ürün sattığı birçok mağazaya sahip bir perakendeci için bir veritabanı düşünün. Böyle bir perakendeci için bir veri ambarı veya veri martının, analistlere mağaza, tarih (veya ay, çeyrek veya yıl) veya ürün kategorisi veya markasına göre gruplandırılmış satış raporları çalıştırma olanağı sunması gerekir..

Yıldız Şeması Örneği

Bu veri mart bir yıldız şeması kullanıyor olsaydı, aşağıdaki gibi görünecektir:

Yıldız şeması örneği

Olgu tablosu satış işlemlerinin bir kaydı olurken, tarih, mağaza ve ürün için boyut tabloları vardır. Boyut tablolarının her biri, olgu tablosu için yabancı bir anahtar olan birincil anahtarları aracılığıyla olgu tablosuna bağlanır. Örneğin, gerçek işlem tarihini olgu tablosunun bir satırında saklamak yerine, tarih_kimliği saklanır. Bu tarih_kimliği, Dim_Date tablosundaki benzersiz bir satıra karşılık gelir ve bu satır, raporlarda gruplama için gereken tarihin diğer niteliklerini de depolar. örneğin, haftanın günü, ay, yılın çeyreği vb. Veriler daha kolay raporlama için denormalize edilmiştir.

İşte iç birleşimler yardımıyla markaya ve ülkeye göre satılan televizyonların sayısı hakkında rapor almak için:.

Kar Tanesi Şeması Örneği

Aynı senaryoda bir kar tanesi şeması da kullanılabilir, bu durumda aşağıdaki gibi yapılandırılır:

Kar tanesi şeması örneği (büyütmek için tıklayın)

Yıldız şeması ile karşılaştırıldığında temel fark, boyut tablolarındaki verilerin daha normalize edilmesidir. Örneğin, Dim_Date tablosunun her satırında ay, çeyrek ve haftanın gününü depolamak yerine, bunlar kendi boyut tablolarına ayrılır. Benzer şekilde Dim_Store tablosu için, eyalet ve ülke, bir adım kaldırılan coğrafi niteliklerdir - Dim_Store tablosunda saklanmak yerine, artık ayrı bir Dim_Geography tablosunda saklanırlar.

Aynı rapor - ülke ve markaya göre satılan televizyon sayısı - şimdi bir yıldız şemasından biraz daha karmaşıktır:

Veritabanı bir kar tanesi şeması kullandığında, ülke ve marka tarafından satılan ürün sayısını almak için SQL sorgusu.

Referanslar

  • wikipedia: Snowflake_schema
  • wikipedia: Star_schema