Son Dakika
Sen Türkiye’nin önde gelen bilim, teknoloji ve kültür yayınlarında 20 yıldır görev yapan deneyimli bir Başyazar ve Haber Editörüsün.
Yapay Zeka

Sen Türkiye’nin önde gelen bilim, teknoloji ve kültür yayınlarında 20 yıldır görev yapan deneyimli bir Başyazar ve Haber Editörüsün.

21 Ağustos 2026 · 8 dk okuma · 2 görüntülenme · Yapay Sinir

GİRDİ BAŞLIK:
Yıldız Şemada Kullanılan Boyut Türleri ve Nasıl Kullanılır

GİRDİ İÇERİK:
Boyutsal Modellemeye Giriş

Bu yazıda, öncelikle yıldız şemasının ne olduğunu ve boyutsal modellemenin nasıl çalıştığını kısaca açıklayacağız.

Yıldız şeması en iyi aşağıdaki diyagramla açıklanabilir:

İlk bakışta neden “yıldız şeması” denildiğini fark edebilirsiniz.

Yıldız şeması iki temel nesne türünden oluşur:

Veri Tabloları: Veri tabloları, iş süreçlerini tanımlar. Daha kesin olarak, iş süreçlerindeki olayları ve sayısal verileri içeren bilgileri barındırırlar. Bunlar şunlar olabilir:
Satış işlemleri
Banka işlemleri
Stok seviyeleri
İnsan kaynakları verileri (maaşlar veya çalışan sayısı gibi)
Bir binaya giriş yapan bir kişinin olduğu gibi olaylarla ilgili veriler

Boyut Tabloları: Boyut tabloları, şu gibi tanımlayıcı verileri içerir:
İşlemin tarihi
Müşteri bilgileri
Hesaplar
Ürünler
İşlemin coğrafi bilgisi

Çünkü birden fazla boyut tablosu bulunur, bu modelleme yaklaşımı aynı zamanda “boyutsal veri modelleme” olarak da adlandırılır. Ancak “yıldız şeması” terimi daha kolay anlaşılır ve daha sık kullanılır.

Bu modelleme yaklaşımının birçok avantajı vardır:
İş kullanıcıları tarafından kolayca anlaşılabilir ve kullanılabilir.
İşlemsel ve tanımlayıcı veriler arasında net bir ayrım sağlar.
Karmaşık iş senaryolarını kapsayabilir.
Veri analizi ve raporlama senaryolarında yaygın olarak kullanılır.

Bu yaklaşımın, veri modelleme konusunda “de facto” standart olduğu söylenebilir. Bir boyutun nasıl tanımlanacağını anlamak kolaydır. Ancak farklı türlerde boyutlar bulunur. Şimdi bu türleri inceleyelim.

Boyut Türleri:
Üç ana boyut türü vardır:
Normal Boyutlar: Örneğin, müşteri, ürün veya coğrafya.
Junk Boyutlar: Farklı varlıkları tek bir boyutta birleştirir, böylece birden fazla küçük boyutun olmasını engeller.
Degeneratif Boyutlar: Sık sık değişen bilgileri içerir (örneğin, işlem numarası).

Şimdi bu türleri daha detaylı inceleyelim.

Normal Boyutlar:
Normal boyutlar en yaygın olanıdır. Bir iş varlığını tanımlayan bilgileri içerir. Örneğin, müşteri bir normal varlık olabilir. Normal bir varlık aşağıdaki kurallara uyar:
Her satır, varlığın bir örneğini açıklar.
Her satır benzersiz olarak tanımlanabilir.
Veriler normalleştirilmemiştir (yani, 3. normal formda değildir). Normalleştirilmemiş verilerde bilgi tekrarı bulunur.

Aşağıdaki bölümlerde, 3. normal formu ve verilerin nasıl modellenmesi gerektiğini açıklayan iki bağlantı bulabilirsiniz. Ayrıca, bir normal boyut aşağıdaki öğeleri içerir:
Hiyerarşiler
Ek özellikler
Varlığın tarihsel bilgilerini içeren alanlar.

ContosoRetailDW örnek veri kümesinden alınan müşteri boyutu örneğini inceleyelim:

Bu tabloda aşağıdaki sütunlar bulunur:
CustomerKey: Her satır için benzersiz olan birincil anahtardır. Aşağıda, birincil anahtar kavramını daha detaylı açıklayacağız.
CustomerLabel: Müşteri numarasını içeren alandır (iş anahtarı).
FullName: Müşterinin tam adıdır.
Gender ve House Owner Flag: Müşteri hakkında ek bilgiler içerir.
Continent, “Region Country”, State Province ve City: Coğrafi hiyerarşiyi tanımlar. Aynı coğrafi değerlerin birden fazla kez veri içinde tekrarlandığını görebilirsiniz. Bu, boyut tablosunun normalleştirilmemiş kısmıdır.

Hiyerarşiler, verilerin gruplandırılması ve özetlenmesi için önemlidir. Rapor kullanıcıları, sonuçların daha geniş bir resmini görmek için bunları kullanabilirler. Bir boyutta birden fazla hiyerarşi olabilir.

Junk Boyutlar:
Bu, özel bir boyut türüdür. Aşağıdaki senaryoyu düşünün: Veri modelinizde, yalnızca birkaç satırı olan (örneğin, 10’dan az) birçok iş varlığı bulunur. Bu durumda, çok sayıda küçük boyutta olmak yerine, bunları daha küçük bir “junk” boyutta birleştirebilirsiniz.

Örneğin:

Bu sütunlar aşağıdaki anlamlara gelir:
ID: Her satır için benzersiz bir tanımlayıcıdır.
Area: Gruplama için kullanılan bir alandır.
AreaID: Her grup içindeki satırlar için benzersiz bir tanımlayıcıdır. Bu, gruplar içindeki sıralamayı sağlamak için kullanılabilir veya iş anahtarını içerebilir.
Name: Satırın adıdır.
Description: Açıklama alanı veya başka bilgiler de içerebilir.

Gerekirse, satırların doğru sırada görüntülenmesini sağlamak için bir sıralama sütunu da eklenebilir. Junk boyutun bir diğer örneği de “ölçüm” boyutudur. Kullanıcının raporda hangi ölçümü göstereceğini seçmesine olanak tanıyan bir boyut olabilir. Ancak, iki ayrı boyutu tek bir junk boyutta birleştirmekten kaçınmak önemlidir, çünkü bu, kullanıcının sonuçları etkileyebilecek beklenmedik davranışlara yol açabilir.

Degeneratif Boyutlar:
Degeneratif bir boyut, her işlem için doğrudan ilgili olan bir bilgidir. En yaygın örneklerden biri “işlem numarası”dır. Milyonlarca işlem olabilir ve bu bilgiyi ayrı bir tabloda saklamak pratik olmayacaktır. Genellikle bu bilgiler, işlem değerleriyle birlikte ana tablo içinde saklanır.

Örneğin:

Bu durumda, “Satış Siparişi Numarası” alanı, degeneratif bir boyuttur. Ana tabloda 1.674.320 siparişin bilgileri bulunur. Her sipariş için birden fazla satır olabilir (örneğin, her ürün satırı). Ancak, kullanıcıların belirli bir işlem hakkında bilgi almasını sağlamak için filtreler kullanılabilir.

Boyutların Yeniden Kullanılması:
Bu, veri modellemesinde önemli bir kavramdır. Aynı verileri kullanan boyutlar “uyumlu” olarak adlandırılır. Örneğin, aynı boyutu hem satış hem de perakende işlemleri için kullanmak mümkündür. Bir diğer örnek ise, tarih veya takvim boyutudur. Neredeyse tüm ana tablolar tarih bilgilerini içerir. Bazen, yalnızca bir alt kümesi tarafından kullanılan ek özellikler içeren bir uyumlu boyuta eklenebilir.

Boyutları Planlama:
Veri modelini planlarken, “boyut matrisi” kullanılır. Bu matris, ana tabloları boyut tablolarıyla ilişkilendirir. DWH Toolkit’te (sayfa 109’dan itibaren) bu matrise “bus matrisi” denir. Hem terimler aynı anlama gelir.

Aşağıdaki resimde, Contoso veri modelinin bir bölümü için boyut matrisinin örneğini görebilirsiniz:

Genellikle, tarih boyutu ilk olarak listelenir, çünkü neredeyse her ana tablo bu boyutu kullanır. Bu resimden, hangi boyutun hangi ana tablo tarafından kullanıldığını kolayca görebilirsiniz. Bu, veri modelini oluştururken çok yardımcı olur.

Boyutlar Hakkında Diğer Kavramlar:
Boyut modellemesiyle ilgili birkaç başka kavram daha vardır:
Birincil Anahtar: Birincil anahtar, iş anahtarı ile ilişkili olmayan bir teknik anahtardır. İş anahtarı, ürün numarası veya müşteri kimliği gibi olabilir. Birincil anahtar, sayısal bir değer veya bileşik bir anahtar olabilir. Birincil anahtarın önemi, özellikle “yavaş değişen boyutlar” (SCD) kullanıldığında ortaya çıkar.

“Yavaş değişen boyutlar”, zaman içinde değişen bilgileri tarihsel olarak izlemek için kullanılan bir tekniktir. Bu, örneğin, bir müşterinin adresini değiştirdiğinde, hem eski adresi hem de yeni adresi aynı anda saklamayı sağlar. Bu, hangi temsilcinin satış komisyonunu alacağını belirlemek gibi durumlarda önemlidir.

Tarih tablosunda, tarih bilgisi için sayısal bir değer kullanılır (YYYYMMDD). Bu, tarih bilgisinin kolayca hesaplanmasını ve sıralanmasını sağlar.

Sonuç:
Doğru bir veri modelini oluşturmak için boyutları nasıl tasarlayacağınızı bilmek önemlidir. Kullanıcıların hangi varlığın veya iş sürecinin tanımlayıcı bilgilerini kolayca anlayabilmesi gerekir. Çoğu durumda, ana tablo kullanıcılar tarafından doğrudan görünmez (ancak degeneratif boyutlar istisnadır).

Yeni bir veri modeline başlarken, bir boyut matrisi oluşturun. Bu matris, tüm proje üyelerinin veri modelinin yapısını anlamasına yardımcı olur. Ayrıca, rapor oluşturucuların da veri modelini nasıl kullanacaklarını anlamalarına yardımcı olabilir.

Birçok veri modeli oluşturulmuştur ve bu yaklaşım her zaman faydalı olmuştur. Ancak en önemlisi: Veri modelinizin kullanıcılarının kim olduğunu ve onların ihtiyaçlarını unutmayın!

Figure 1 – Yıldız Şeması ve Boyutsal Modellemenin Prensibi (Şekil Yazar Tarafından Hazırlanmıştır)
Figure 2 – ContosoRetailDW Örnek Veri Kümesinden Alınan Müşteri Boyutu (Şekil Yazar Tarafından Hazırlanmıştır)
Figure 2 – Degeneratif Bir Boyut Örneği (Şekil Yazar Tarafından Hazırlanmıştır)
Figure 2 – Contoso Perakende Örnek Veri Kümesi İçin Boyut Matrisi (Şekil Yazar Tarafından Hazırlanmıştır)

Kaynak: towards-data-science

Google Tercih Edilen Kaynak
Google’da bizi favori kaynaklarınıza ekleyin
Son dakika gelişmelerini ve yeni haberleri Google Keşfet’te anında görün

Google’da Takip Et

Paylaş