schema types data warehouse modeling star snowflake schema
Bu Eğitimde Çeşitli Veri Ambarı Şema Türleri Açıklanmaktadır. Yıldız Şeması ve Kar Tanesi Şeması Nedir ve Yıldız Şeması ile Kar Tanesi Şeması Arasındaki Farkı Öğrenin:
Bunda Yeni Başlayanlar İçin Tarih Deposu Eğitimleri derinlemesine bir göz attık Veri Ambarında Boyutsal Veri Modeli önceki eğitimimizde.
Bu eğiticide, veri reyonları (veya) veri ambarı tablolarını yapılandırmak için kullanılan Veri Ambarı Şemaları hakkında her şeyi öğreneceğiz.
en iyi metin okuma yazılımı nedir
Hadi başlayalım!!
Hedef kitle
- Veri ambarı / ETL geliştiricileri ve test edicileri.
- Temel veritabanı kavramları bilgisine sahip veritabanı uzmanları.
- Veri ambarı / ETL alanlarını anlamak isteyen veritabanı yöneticileri / büyük veri uzmanları.
- Veri ambarı işleri arayan üniversite mezunları / Freshers.
Ne öğreneceksin:
Veri Ambarı Şeması
Bir veri ambarında, sistemi tüm veritabanı varlıkları (olgu tabloları, boyut tabloları) ve bunların mantıksal ilişkileri ile organize etme yolunu tanımlamak için bir şema kullanılır.
DW'deki farklı Şema türleri şunlardır:
- Yıldız Takvimi
- SnowFlake Şeması
- Galaxy Diyagramı
- Yıldız Kümesi Şeması
# 1) Yıldız Programı
Bu, bir veri ambarındaki en basit ve en etkili şemadır. Ortadaki çoklu boyut tablolarıyla çevrili bir olgu tablosu, Yıldız Şeması modelindeki bir yıldızı andırır.
Olgu tablosu, tüm boyut tablolarıyla bire çok ilişkileri korur. Olgu tablosundaki her satır, bir yabancı anahtar referansı ile kendi boyut tablosu satırlarıyla ilişkilendirilir.
Yukarıdaki nedenden dolayı, bu modeldeki tablolar arasında gezinme, birleştirilmiş verileri sorgulamak için kolaydır. Bir son kullanıcı bu yapıyı kolaylıkla anlayabilir. Bu nedenle, tüm İş Zekası (BI) araçları, Yıldız şema modelini büyük ölçüde destekler.
Yıldız şemaları tasarlanırken boyut tabloları kasıtlı olarak normalleştirilir. Daha iyi analiz ve raporlama için bağlamsal verileri depolamak için birçok özelliğe sahipler.
Yıldız Şemasının Faydaları
- Sorgular, verileri alırken çok basit birleştirmeleri kullanır ve böylece sorgu performansı artar.
- Herhangi bir dönem için herhangi bir zamanda raporlama için verileri almak kolaydır.
Yıldız Şemasının Dezavantajları
- Gereksinimlerde çok sayıda değişiklik varsa, mevcut yıldız şemasının uzun vadede değiştirilmesi ve yeniden kullanılması önerilmez.
- Tablolar hiyerarşik olarak bölünmediği için veri fazlalığı daha fazladır.
Bir Yıldız Şeması örneği aşağıda verilmiştir.
Bir Yıldız Şemasını Sorgulama
Bir son kullanıcı, İş Zekası araçlarını kullanarak bir rapor talep edebilir. Tüm bu tür istekler, dahili olarak bir 'SEÇME sorgular' zinciri oluşturularak işlenecektir. Bu sorguların performansının, rapor yürütme süresi üzerinde etkisi olacaktır.
Yukarıdaki Yıldız şeması örneğinden, bir işletme kullanıcısı Ocak 2018'de Kerala eyaletinde kaç Roman ve DVD satıldığını bilmek isterse, sorguyu aşağıdaki gibi Star şema tablolarına uygulayabilirsiniz:
SELECT pdim.Name Product_Name, Sum (sfact.sales_units) Quanity_Sold FROM Product pdim, Sales sfact, Store sdim, Date ddim WHERE sfact.product_id = pdim.product_id AND sfact.store_id = sdim.store_id AND sfact.date_id = ddim.date_id AND sdim.state = 'Kerala' AND ddim.month = 1 AND ddim.year = 2018 AND pdim.Name in (‘Novels’, ‘DVDs’) GROUP BY pdim.Name
Sonuçlar:
Ürün adı | Miktar_Satılan | |
---|---|---|
7 | Şemayı herkes kolayca anlayabilir ve tasarlayabilir. | Şemayı anlamak ve tasarlamak zor. |
Romanlar | 12.702 | |
DVD'ler | 32.919 |
Umarım bir Yıldız Şemasını sorgulamanın ne kadar kolay olduğunu anlamışsınızdır.
# 2) SnowFlake Şeması
Yıldız şeması, bir SnowFlake şeması tasarlamak için bir girdi görevi görür. Kar dökülmesi, tüm boyut tablolarını bir yıldız şemasından tamamen normalleştiren bir işlemdir.
Ortadaki bir olgu tablosunun birden çok boyut tablosu hiyerarşisi ile çevrili düzeni, SnowFlake şema modelindeki bir SnowFlake'e benziyor. Her olgu tablosu satırı, bir yabancı anahtar referansı ile kendi boyut tablosu satırlarıyla ilişkilendirilir.
SnowFlake şemaları tasarlanırken boyut tabloları bilinçli olarak normalleştirilir. Üst özelliğine bağlanmak için boyut tablolarının her seviyesine yabancı anahtarlar eklenecektir. SnowFlake şemasının karmaşıklığı, boyut tablolarının hiyerarşi seviyeleriyle doğru orantılıdır.
SnowFlake Şemasının Faydaları:
- Veri fazlalığı, yeni boyut tabloları oluşturularak tamamen kaldırılır.
- Yıldız şeması ile karşılaştırıldığında, Kar Pullanma boyut tablolarında daha az depolama alanı kullanılır.
- Kar Dökülme tablolarını güncellemek (veya) korumak kolaydır.
SnowFlake Şemasının Dezavantajları:
- Normalleştirilmiş boyut tabloları nedeniyle, ETL sistemi tablo sayısını yüklemelidir.
- Eklenen tablo sayısı nedeniyle bir sorgu gerçekleştirmek için karmaşık birleştirmelere ihtiyacınız olabilir. Bu nedenle sorgu performansı düşecektir.
Bir SnowFlake Şeması örneği aşağıda verilmiştir.
Yukarıdaki SnowFlake Diyagramındaki Boyut Tabloları aşağıda açıklandığı gibi normalleştirilmiştir:
- Tarih boyutu, Tarih tablosunda yabancı anahtar kimlikleri bırakılarak Üç Aylık, Aylık ve Haftalık tablolara normalleştirilir.
- Mağaza boyutu, Durum tablosunu içerecek şekilde normalleştirilir.
- Ürün boyutu Marka olarak normalleştirilir.
- Müşteri boyutunda şehre bağlı öznitelikler, Müşteri tablosunda yabancı anahtar kimliği bırakılarak yeni Şehir tablosuna taşınır.
Aynı şekilde, tek bir boyut birden çok hiyerarşi düzeyini koruyabilir.
Yukarıdaki diyagramdan farklı hiyerarşi seviyeleri aşağıdaki gibi ifade edilebilir:
- Üç aylık kimlik, Aylık kimlik ve Haftalık kimlikler, Tarih boyut hiyerarşileri için oluşturulan ve Tarih boyut tablosuna yabancı anahtarlar olarak eklenen yeni vekil anahtarlardır.
- Durum kimliği, Mağaza boyut hiyerarşisi için oluşturulan yeni vekil anahtardır ve Mağaza boyut tablosuna yabancı anahtar olarak eklenmiştir.
- Marka kimliği, Ürün boyut hiyerarşisi için oluşturulan yeni vekil anahtardır ve Ürün boyut tablosuna yabancı anahtar olarak eklenmiştir.
- Şehir kimliği, Müşteri boyut hiyerarşisi için oluşturulan yeni vekil anahtardır ve Müşteri boyut tablosuna yabancı anahtar olarak eklenmiştir.
Bir Kar Tanesi Şemasını Sorgulama
Son kullanıcılar için SnowFlake şemaları ile yıldız şema yapıları ile aynı tür raporlar oluşturabiliriz. Ancak burada sorgular biraz karmaşıktır.
Yukarıdaki SnowFlake şema örneğinden, Star şeması sorgu örneği sırasında tasarladığımız sorgunun aynısını oluşturacağız.
Yani bir işletme kullanıcısı Ocak 2018'de Kerala eyaletinde kaç tane Roman ve DVD satıldığını bilmek istiyorsa, SnowFlake şema tablolarında aşağıdaki gibi sorguyu uygulayabilirsiniz.
SELECT pdim.Name Product_Name, Sum (sfact.sales_units) Quanity_Sold FROM Sales sfact INNER JOIN Product pdim ON sfact.product_id = pdim.product_id INNER JOIN Store sdim ON sfact.store_id = sdim.store_id INNER JOIN State stdim ON sdim.state_id = stdim.state_id INNER JOIN Date ddim ON sfact.date_id = ddim.date_id INNER JOIN Month mdim ON ddim.month_id = mdim.month_id WHERE stdim.state = 'Kerala' AND mdim.month = 1 AND ddim.year = 2018 AND pdim.Name in (‘Novels’, ‘DVDs’) GROUP BY pdim.Name
Sonuçlar:
Ürün adı | Miktar_Satılan |
---|---|
Romanlar | 12.702 |
DVD'ler | 32.919 |
Star (veya) SnowFlake Şema Tablolarını Sorgularken Hatırlanması Gereken Noktalar
Herhangi bir sorgu aşağıdaki yapı ile tasarlanabilir:
Madde SEÇİN:
- Select yan tümcesinde belirtilen öznitelikler sorgu sonuçlarında gösterilir.
- Select deyimi, birleştirilmiş değerleri bulmak için grupları da kullanır ve bu nedenle, where koşulunda group by cümlesi kullanmalıyız.
MADDE:
- Tüm temel olgu tabloları ve boyut tabloları bağlama göre seçilmelidir.
NEREDE Fıkra:
- Uygun boyut öznitelikleri, where cümlesinde olgu tablosu öznitelikleri ile birleştirilerek belirtilir. Boyut tablolarındaki yedek anahtarlar sorgulanacak veri aralığını düzeltmek için olgu tablolarındaki ilgili yabancı anahtarlarla birleştirilir. Bunu anlamak için lütfen yukarıda yazılı yıldız şeması sorgu örneğine bakın. SnowFlake şema örneğinde yazıldığı gibi, orada iç / dış birleştirmeleri kullanıyorsanız, from cümlesindeki verileri de filtreleyebilirsiniz.
- Boyut öznitelikleri, where cümlesindeki veriler üzerinde kısıtlamalar olarak da bahsedilir.
- Verileri yukarıdaki tüm adımlarla filtreleyerek, raporlar için uygun veriler döndürülür.
İş ihtiyaçlarına göre, yukarıdaki yapıyı izleyerek bir yıldız şeması (veya) SnowFlake şema sorgusuna gerçekleri, boyutları, nitelikleri ve kısıtlamaları ekleyebilir (veya kaldırabilirsiniz). Ayrıca, karmaşık raporlar için veri oluşturmak üzere alt sorgular ekleyebilir (veya) farklı sorgu sonuçlarını birleştirebilirsiniz.
# 3) Gökada Şeması
Bir galaksi şeması aynı zamanda Gerçek Takımyıldızı Şeması olarak da bilinir. Bu şemada, birden çok olgu tablosu aynı boyut tablosunu paylaşır. Olgu tablolarının ve boyut tablolarının düzenlenmesi, Galaxy şema modelinde bir yıldız koleksiyonuna benziyor.
Bu modeldeki paylaşılan boyutlar, Uyumlu boyutlar olarak bilinir.
Bu tür şema, karmaşık gereksinimler ve Yıldız şeması (veya) SnowFlake şeması tarafından desteklenecek daha karmaşık olan toplu olgu tabloları için kullanılır. Bu şemanın karmaşıklığından dolayı sürdürülmesi zordur.
Aşağıda bir Galaxy Şeması örneği verilmiştir.
# 4) Yıldız Kümesi Şeması
Birçok boyut tablosuna sahip bir SnowFlake şeması, sorgulama sırasında daha karmaşık birleştirmelere ihtiyaç duyabilir. Daha az boyut tablosu olan bir yıldız şeması daha fazla fazlalığa sahip olabilir. Dolayısıyla yukarıdaki iki şemanın özelliklerini birleştirerek bir yıldız kümesi şeması ortaya çıktı.
Yıldız şeması, bir yıldız kümesi şeması tasarlamanın temelidir ve yıldız şemasından birkaç temel boyut tablosu karla kaplanır ve bu da daha kararlı bir şema yapısı oluşturur.
Bir Yıldız Kümesi Şeması örneği aşağıda verilmiştir.
Hangisi Daha İyi Kar Tanesi Şeması Veya Yıldız Şeması?
Veri ambarı platformu ve DW sisteminizde kullanılan BI araçları, tasarlanacak uygun şemaya karar vermede hayati bir rol oynayacaktır. Star ve SnowFlake, DW'de en sık kullanılan şemalardır.
İş zekası araçları, iş kullanıcılarının basit sorgularla tablo yapılarıyla kolayca etkileşim kurmasına izin veriyorsa yıldız şeması tercih edilir. SnowFlake şeması, daha fazla birleştirme ve karmaşık sorgular nedeniyle iş kullanıcılarının tablo yapılarıyla doğrudan etkileşime girmesi için BI araçları daha karmaşıksa tercih edilir.
Depolama alanından tasarruf etmek istiyorsanız veya DW sisteminiz bu şemayı tasarlamak için optimize edilmiş araçlara sahipse, SnowFlake şemasıyla devam edebilirsiniz.
Yıldız Şeması Vs Kar Tanesi Şeması
Aşağıda, Yıldız şeması ve SnowFlake şeması arasındaki temel farklar verilmiştir.
S.No | Yıldız Takvimi | Kar Tanesi Şeması |
---|---|---|
1 | Veri yedekliliği daha fazladır. | Veri yedekliliği daha azdır. |
iki | Boyut tabloları için depolama alanı daha fazladır. | Boyut tabloları için depolama alanı nispeten daha azdır. |
3 | Normalize edilmemiş boyut tabloları içerir. | Normalleştirilmiş boyut tabloları içerir. |
4 | Tek olgu tablosu, birden çok boyut tablosu ile çevrilidir. | Tek olgu tablosu, birden çok boyut tablosu hiyerarşisiyle çevrilidir. |
5 | Sorgular, verileri almak için gerçek ve boyutlar arasında doğrudan birleştirmeleri kullanır. | Sorgular, verileri getirmek için gerçek ve boyutlar arasındaki karmaşık birleşimleri kullanır. |
6 | Sorgu yürütme süresi daha azdır. | Sorgu yürütme süresi daha fazladır. |
8 | Yukarıdan aşağıya yaklaşımı kullanır. | Aşağıdan yukarıya yaklaşımı kullanır. |
Sonuç
Bu eğiticinin avantajları ve dezavantajları ile birlikte farklı Veri Ambarı Şemaları türlerini iyi anladığınızı umuyoruz.
Ayrıca Star Schema ve SnowFlake Schema'nın nasıl sorgulanabileceğini ve bu ikisi arasında farklılıklarıyla birlikte hangi şemanın seçileceğini öğrendik.
ETL'deki Data Mart hakkında daha fazla bilgi edinmek için yaklaşan eğitimimizi takip etmeye devam edin !!
=> Basit Veri Ambarlama Eğitim Serisine Buradan Dikkat Edin.
Önerilen Kaynaklar
- Python Veri Türleri
- C ++ Veri Türleri
- Örneklerle Veri Ambarı Test Eğitimi | ETL Test Kılavuzu
- En Popüler 10 Veri Ambarı Araçları ve Test Teknolojileri
- Veri Ambarında Boyutlu Veri Modeli - Örneklerle Eğitim
- ETL Test Veri Ambarı Test Eğitimi (Tam Kılavuz)
- Veri Ambarı'nda ETL (Çıkart, Dönüştür, Yükle) İşlemi Nedir?
- Veri Madenciliği: Veri Analizinde Süreç, Teknikler ve Başlıca Sorunlar