Aracılığıyla paylaş


Microsoft Fabric Warehouse'da boyutsal modelleme: Olgu tabloları

Şunlar için geçerlidir: Microsoft Fabric'te SQL analiz uç noktası ve Ambarı

Not

Bu makale, Boyutsal modelleme makale serisinin bir bölümünü oluşturur. Bu seri, Microsoft Fabric Warehouse'da boyutsal modellemeyle ilgili rehberlik ve tasarım en iyi yöntemlerine odaklanır.

Bu makalede olgu tablolarını boyutsal bir modelde tasarlamaya yönelik yönergeler ve en iyi yöntemler sağlanır. Tablo oluşturma ve tablolardaki verileri yönetme gibi birçok T-SQL özelliklerini destekleyen bir deneyim olan Microsoft Fabric'teki Warehouse için pratik rehberlik sağlar. Bu nedenle, boyutsal model tablolarınızı oluşturma ve bunları verilerle yükleme konusunda tam denetime sahip olursunuz.

Not

Bu makalede, veri ambarı terimi kuruluş genelinde kritik verilerin kapsamlı tümleştirmesini sağlayan kurumsal veri ambarını ifade eder. Buna karşılık, tek başına terim ambarı, veri ambarı uygulamak için kullanabileceğiniz bir hizmet olarak yazılım (SaaS) ilişkisel veritabanı teklifi olan Doku Ambarı'nı ifade eder. Netlik için, bu makalede ikincisinde Doku Ambarı olarak bahsedilmektedir.

İpucu

Boyutsal modelleme konusunda deneyimli değilseniz ilk adımınız olan bu makale serisini göz önünde bulundurun. Boyutsal modelleme tasarımı hakkında eksiksiz bir tartışma sağlamak için tasarlanmamıştır. Daha fazla bilgi için, Ralph Kimball ve diğer kişilerin The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling (3rd edition, 2013) gibi yaygın olarak benimsenen yayımlanmış içeriklere doğrudan bakın.

Boyutsal modelde olgu tablosu gözlemler veya olaylarla ilişkili ölçümleri depolar. Satış siparişlerini, hisse senedi bakiyelerini, döviz kurlarını, sıcaklık değerlerini ve daha fazlasını depolayabilir.

Olgu tabloları genellikle satış siparişi miktarı gibi sayısal sütunlar olan ölçüleri içerir. Analiz sorguları ölçüleri (toplam, sayı, ortalama ve diğer işlevleri kullanarak) boyut filtreleri ve gruplandırmalar bağlamında özetler.

Olgu tabloları, olguların boyutsallığını belirleyen boyut anahtarlarını da içerir. Boyut anahtarı değerleri olguların ayrıntı düzeyini belirler ve bu da olguların tanımlandığı atomik düzeydir. Örneğin, satış olgu tablosundaki sipariş tarihi boyut anahtarı olguların ayrıntı düzeyini tarih düzeyinde ayarlarken, satış hedefi olgu tablosundaki bir hedef tarih boyut anahtarı da ayrıntı düzeyini çeyrek düzeyinde ayarlayabilir.

Not

Olguları daha yüksek bir ayrıntı düzeyinde depolamak mümkün olsa da ölçü değerlerini daha düşük ayrıntı düzeyine bölmek (gerekirse) kolay değildir. Veri hacimlerini analiz gereksinimleriyle birlikte ayrıntılı analiz pahasına daha yüksek ayrıntı düzeyine sahip olguları depolamak için geçerli bir neden sağlayabilir.

Olgu tablolarını kolayca tanımlamak için genellikle adlarına f_ veya Fact_ön ekini eklersiniz.

Olgu tablosu yapısı

Olgu tablosunun yapısını açıklamak için adlı f_Salesaşağıdaki satış olgu tablosunun örneğini göz önünde bulundurun. Bu örnek iyi tasarım uygulamaları uygular. Sütun gruplarının her biri aşağıdaki bölümlerde açıklanmıştır.

CREATE TABLE f_Sales
(
    --Dimension keys
    OrderDate_Date_FK INT NOT NULL,
    ShipDate_Date_FK INT NOT NULL,
    Product_FK INT NOT NULL,
    Salesperson_FK INT NOT NULL,
    <…>
    
    --Attributes
    SalesOrderNo INT NOT NULL,
    SalesOrderLineNo SMALLINT NOT NULL,
    
    --Measures
    Quantity INT NOT NULL,
    <…>
    
    --Audit attributes
    AuditMissing BIT NOT NULL,
    AuditCreatedDate DATE NOT NULL,
    AuditCreatedBy VARCHAR(15) NOT NULL,
    AuditLastModifiedDate DATE NOT NULL,
    AuditLastModifiedBy VARCHAR(15) NOT NULL
);

Birincil anahtar

Örnekte olduğu gibi, örnek olgu tablosunun birincil anahtarı yoktur. Bunun nedeni, genellikle kullanışlı bir amaca hizmet etmemesi ve tablo depolama boyutunu gereksiz yere artırmasıdır. Birincil anahtar genellikle boyut anahtarları ve öznitelikleri kümesi tarafından örtülür.

Boyut anahtarları

Örnek olgu tablosunda olgu tablosunun boyutsallığını belirleyen çeşitli boyut anahtarları vardır. Boyut anahtarları, ilişkili boyutlardaki vekil anahtarlara (veya daha üst düzey özniteliklere) başvurudur.

Not

En az bir tarih boyut anahtarı içermeyen olağan dışı bir olgu tablosudur.

Olgu tablosu bir boyuta birden çok kez başvurabilir. Bu durumda rol yapma boyutu olarak bilinir. Bu örnekte olgu tablosunda ve ShipDate_Date_FK boyut anahtarları vardırOrderDate_Date_FK. Her boyut anahtarı ayrı bir rolü temsil eder, ancak yalnızca bir fiziksel tarih boyutu vardır.

Her boyut anahtarını olarak NOT NULLayarlamak iyi bir uygulamadır. Olgu tablosu yükü sırasında, eksik, bilinmeyen, YOK veya hata durumlarını (gerekirse) göstermek için özel boyut üyelerini kullanabilirsiniz.

Özellikler

Örnek olgu tablosunun iki özniteliği vardır. Öznitelikler ek bilgi sağlar ve olgu verilerinin ayrıntı düzeyini ayarlar, ancak ne boyut anahtarları ne boyut öznitelikleri ne de ölçülerdir. Bu örnekte, öznitelik sütunları satış siparişi bilgilerini depolar. Diğer örnekler arasında izleme numaraları veya bilet numaraları yer alabilir. Analiz amacıyla, bir öznitelik bozuk bir boyut oluşturabilir.

Ölçümler

Örnek olgu tablosunda da sütun gibi ölçülerQuantity bulunur. Ölçü sütunları genellikle sayısal ve yaygın olarak eklenebilir (başka toplamalar kullanılarak toplanabilir ve özetlenebilir). Daha fazla bilgi için bu makalenin devamında yer alan Ölçü türleri bölümüne bakın.

Öznitelikleri denetleme

Örnek olgu tablosunun çeşitli denetim öznitelikleri de vardır. Denetim öznitelikleri isteğe bağlıdır. Olgu kayıtlarının ne zaman ve nasıl oluşturulduğunu veya değiştirildiğini izlemenize olanak sağlar ve Ayıklama, Dönüştürme ve Yükleme (ETL) işlemleri sırasında oluşturulan tanılama veya sorun giderme bilgilerini içerebilirler. Örneğin, bir satırı kimin (veya hangi işlemin) ne zaman güncelleştirmiş olduğunu izlemek istersiniz. Denetim öznitelikleri, etl işleminin beklenmedik bir şekilde durması gibi zorlu bir sorunu tanılamaya da yardımcı olabilir.

Olgu tablosu boyutu

Olgu tablolarının boyutu farklılık gösterir. Boyutları boyutsallığa, ayrıntı düzeyine, ölçü sayısına ve geçmiş miktarına karşılık gelir. Boyut tablolarına kıyasla olgu tabloları daha dar (daha az sütun) ancak satırlar bakımından büyük ve hatta muazzamdır (milyarların üzerinde).

Olgu tasarımı kavramları

Bu bölümde çeşitli olgu tasarımı kavramları açıklanmaktadır.

Olgu tablosu türleri

Üç tür olgu tablosu vardır:

  • İşlem olgu tabloları
  • Düzenli anlık görüntü olgu tabloları
  • Anlık görüntü olgu tablolarını biriktirme

İşlem olgu tabloları

İşlem olgu tablosu iş olaylarını veya işlemleri depolar. Her satır boyut anahtarları ve ölçüleri ve isteğe bağlı olarak diğer öznitelikler açısından olguları depolar. Tüm veriler eklendiğinde tam olarak bilinir ve hiçbir zaman değişmez (hataları düzeltmek dışında).

İşlem olgu tabloları genellikle olguları mümkün olan en düşük ayrıntı düzeyinde depolar ve tüm boyutlara ekli ölçüler içerir. Her satış siparişi satırını depolayan bir satış olgu tablosu, işlem olgu tablosunun iyi bir örneğidir.

Düzenli anlık görüntü olgu tabloları

Düzenli bir anlık görüntü olgu tablosu ölçümleri önceden tanımlanmış bir zamanda veya belirli aralıklarda depolar. Zaman içindeki önemli ölçümlerin veya performans göstergelerinin özetini sağlar ve bu nedenle zaman içindeki eğilim analizi ve izleme değişikliği için yararlıdır. Ölçüler her zaman yarı katkılıdır (daha sonra açıklanmıştır).

Envanter olgu tablosu, düzenli anlık görüntü tablosunun iyi bir örneğidir. Her gün her ürünün gün sonu stok bakiyesiyle yüklenir.

Düzenli anlık görüntü tabloları, büyük hacimli işlemlerin kaydedilmesi pahalı olduğunda işlem olgu tablosu yerine kullanılabilir ve herhangi bir yararlı analiz gereksinimini desteklemez. Örneğin, bir günde milyonlarca hisse senedi hareketi olabilir (işlem olgu tablosunda depolanabilir), ancak analiziniz yalnızca gün sonu hisse senedi düzeylerinin eğilimleriyle ilgilidir.

Anlık görüntü olgu tablolarını biriktirme

Birikmiş anlık görüntü olgu tablosu, iyi tanımlanmış bir dönem veya iş akışı boyunca biriken ölçümleri depolar. Genellikle bir iş sürecinin durumunu günler, haftalar, hatta aylar sürebilecek ayrı aşamalarda veya kilometre taşlarında kaydeder.

Bir işlemdeki ilk olaydan hemen sonra bir olgu satırı yüklenir ve her kilometre taşı olayı gerçekleştiğinde satır tahmin edilebilir bir sırada güncelleştirilir. Güncelleştirmeler, işlem tamamlanana kadar devam eder.

Anlık görüntü olgu tablosunun biriktirilmesi, her biri bir kilometre taşı olayını temsil eden birden çok tarih boyut anahtarına sahiptir. Bazı boyut anahtarları, işlem belirli bir kilometre taşına ulaşana kadar bir Yok durumunu kaydedebilir. Ölçüler genellikle süreleri kaydeder. Kilometre taşları arasındaki süreler, iş akışı veya derleme süreci hakkında değerli içgörüler sağlayabilir.

Ölçü türleri

Ölçüler genellikle sayısaldır ve genellikle eklenir. Ancak bazı ölçüler her zaman eklenemez. Bu ölçüler yarı katkılı veya katkı içermeyen olarak kategorilere ayrılmıştır.

Ek ölçüler

Eklemeli ölçü herhangi bir boyutta toplanabilir. Örneğin, sipariş miktarı ve satış geliri ek ölçülerdir (gelir sağlanması tek bir para birimi için kaydedilir).

Yarı katkılı ölçüler

Yarı katkılı ölçü yalnızca belirli boyutlarda toplanabilir.

Yarı katkılı ölçülerin bazı örnekleri aşağıda verilmiştir.

  • Düzenli aralıklarla anlık görüntü olgu tablosundaki ölçüler diğer dönemlerde toplanamaz. Örneğin, her gece örneklenen bir stok öğesinin yaşını toplamamanız gerekir, ancak her gece bir raftaki tüm stok öğelerinin yaşını toplayabilirsiniz.
  • Stok olgu tablosundaki bir stok bakiyesi ölçüsü diğer ürünler arasında toplanamaz.
  • Para birimi boyut anahtarına sahip bir satış olgu tablosundaki satış geliri, para birimleri arasında toplanamaz.

Eklemeli olmayan ölçüler

Ek olmayan ölçüler herhangi bir boyutta toplanamaz. Buna örnek olarak, doğası gereği diğer okumalara eklemenin anlamlı olmadığı bir sıcaklık okuması örnektir.

Diğer örnekler arasında birim fiyatlar ve oranlar gibi fiyatlar yer alır. Ancak, oranı hesaplamak için kullanılan değerleri depolamak daha iyi bir uygulama olarak kabul edilir ve gerekirse oranın hesaplanması mümkündür. Örneğin, bir satış olgusunun indirim yüzdesi bir indirim tutarı ölçüsü olarak depolanabilir (satış geliri ölçüsüne bölünebilir). Öte yandan, raftaki bir stok öğesinin yaşı zaman içinde toplanmamıştır, ancak stok maddelerinin ortalama yaşlarında bir eğilim gözlemleyebilirsiniz.

Bazı ölçüler toplanamaz ancak yine de geçerli ölçülerdir. Bunlar count, distinct count, minimum, maximum, average ve diğerleri kullanılarak toplanabilir. Ayrıca, eklemeli olmayan ölçüler, hesaplamalarda kullanıldıklarında eklenebilir hale gelebilir. Örneğin, birim fiyatın sipariş miktarıyla çarpılması, katkı maddesi olan satış geliri üretir.

Olgu içermeyen olgu tabloları

Olgu tablosu herhangi bir ölçü sütunu içermediğinde, olgusuz olgu tablosu olarak adlandırılır. Olgu içermeyen olgu tablosu genellikle sınıfa katılan öğrenciler gibi olayları veya oluşumları kaydeder. Analiz perspektifinden bakıldığında olgu satırları sayılarak ölçüm gerçekleştirilebilir.

Olgu tablolarını toplama

Toplama olgu tablosu, temel olgu tablosunun daha düşük boyutluluk ve/veya daha yüksek ayrıntı düzeyine sahip bir toplamasını temsil eder. Amacı, sık sorgulanan boyutlar için sorgu performansını hızlandırmaktır.

Not

Power BI anlam modeli, aynı sonucu elde etmek için kullanıcı tanımlı toplamalar oluşturabilir veya DirectQuery depolama modunu kullanarak veri ambarı toplama olgu tablosunu kullanabilir.

Bu serinin sonraki makalesinde, boyutsal model tablolarını yüklemeye yönelik rehberlik ve tasarım en iyi yöntemleri hakkında bilgi edinin.