Veri Ambarı Nedir? Star Schema, Fact ve Dimension Rehberi
Veri ambarı, farklı kaynaklardan gelen veriyi analiz ve raporlama için bütünleşik, tarihsel ve düzenli biçimde saklayan veri platformudur. Operasyonel sistemler günlük işlemleri yürütürken veri ambarı, bu işlemleri zaman içinde karşılaştırmayı sağlar.
Örneğin SAP, CRM ve e-ticaret verilerinin ortak müşteri ve ürün tanımlarıyla tek satış modelinde birleşmesi veri ambarı kullanımına örnektir.
Operasyonel veritabanı mı, veri ambarı mı?
Operasyonel veritabanı sipariş oluşturma, stok düşme veya ödeme kaydetme gibi anlık işlemler için tasarlanır. Veri ambarı ise milyonlarca kaydı toplamak ve dönemsel analiz yapmak için düzenlenir.
| Operasyonel sistem | Veri ambarı |
|---|---|
| Günlük işlemler | Analiz ve raporlama |
| Güncel durum | Tarihsel veri |
| Sık ekleme ve güncelleme | Toplu okuma ve hesaplama |
| Normalleştirilmiş model | Boyutsal veya analitik model |
Star schema nedir?
Star schema, merkezde ölçümleri tutan bir fact table, çevresinde açıklayıcı bilgileri tutan dimension table yapısıdır.
DimDate
|
DimCustomer — FactSales — DimProduct
|
DimStore
Bu yapı rapor filtrelerini ve toplulaştırmaları anlaşılır hâle getirir.
Fact table nedir?
Fact table, analiz edilen olayları ve ölçüleri içerir. Satış fact tablosunda şu alanlar bulunabilir:
- Tarih anahtarı
- Müşteri anahtarı
- Ürün anahtarı
- Mağaza anahtarı
- Satış miktarı
- Net satış tutarı
- Maliyet
- İndirim
Fact tablosunun en kritik özelliği grain, yani bir satırın neyi temsil ettiğidir.
Örnek grain:
Her satır, bir satış belgesindeki tek ürün kalemini temsil eder.
Grain açık değilse ölçüler iki kez sayılabilir veya farklı seviyedeki veriler yanlış birleştirilebilir.
Dimension table nedir?
Dimension table, fact kaydını açıklayan nitelikleri içerir.
Ürün boyutunda:
- Ürün kodu
- Ürün adı
- Marka
- Kategori
- Alt kategori
Müşteri boyutunda:
- Müşteri kodu
- Müşteri adı
- Segment
- Şehir
- Bölge
bulunabilir.
Surrogate key neden kullanılır?
Kaynak sistemdeki iş anahtarı değişebilir veya farklı sistemlerde aynı kod farklı anlam taşıyabilir. Veri ambarında üretilen vekil anahtar, boyut kayıtlarını bağımsız ve tarihsel biçimde yönetmeyi kolaylaştırır.
Örneğin müşteri kodu C100 kaynak anahtarı iken veri ambarındaki CustomerKey = 4821 vekil anahtardır.
Slowly Changing Dimension nedir?
SCD, boyut bilgilerindeki değişimin nasıl saklanacağını tanımlar.
| Tip | Yaklaşım |
|---|---|
| SCD Type 1 | Eski değer güncellenir, tarihçe tutulmaz |
| SCD Type 2 | Yeni satır açılır, tarihçe korunur |
| SCD Type 3 | Sınırlı önceki değer ayrı kolonda tutulur |
Bir müşterinin segment değişimini geçmiş satışlara doğru yansıtmak gerekiyorsa Type 2 tercih edilebilir.
Veri ambarı katmanları
Yaygın bir mimari:
Kaynak → Staging/Bronze → Temiz/Silver → İş Modeli/Gold → BI
- Bronze: kaynağa yakın ham veri
- Silver: temizlenmiş ve standartlaştırılmış veri
- Gold: raporlamaya hazır iş modelleri
İsimler platforma göre değişse de amaç ham veri ile kullanıcıya sunulan veri arasındaki sorumlulukları ayırmaktır.
Veri ambarı ve data lake farkı
Data lake yapılandırılmış ve yapılandırılmamış ham veriyi geniş ölçekte saklayabilir. Veri ambarı ise tanımlı şema, kalite ve performansla raporlamaya hazır veri sunar. Modern lakehouse yaklaşımları iki dünyanın özelliklerini birleştirmeye çalışır.
Veri ambarı projesinde sık hatalar
- Grain tanımlamadan fact tablo oluşturmak
- Kaynak kodlarını doğrudan anahtar olarak kullanmak
- Tarih boyutunu ihmal etmek
- Geç gelen veriyi yönetmemek
- SCD ihtiyacını sonradan düşünmek
- İş birimiyle KPI tanımını netleştirmemek
- Kaynak-hedef mutabakatı kurmamak
Nereden başlanmalı?
Önce ETL ve ELT farkını öğrenin. Ardından SQL ile tabloları birleştirme ve toplulaştırma pratiği yapın. Ücretsiz SQL eğitiminde sorguları doğrudan çalıştırabilirsiniz.
Veri ambarı hakkında sık sorulan sorular
Veri ambarı için SQL gerekir mi?
Evet. Platforma göre farklı araçlar kullanılsa da model sorgulama, kalite kontrolü ve dönüşüm için SQL temel beceridir.
Fact ve dimension farkı nedir?
Fact tablo ölçülebilir olayları, dimension tablo bu olayları açıklayan nitelikleri tutar.
Star schema neden tercih edilir?
Basit ilişki yapısı, anlaşılır filtre yönü ve raporlama performansı sağlar.