![](https://www.veribilimiokulu.com/wp-content/uploads/2020/04/Ekran-Alıntısı_900x500.jpg)
Boyutsal Modelleme Adımları
Herkese merhaba arkadaşlar. Corona virüsten dolayı alışık olmadığımız günler geçiriyoruz, bu dönemi herkesin en az etkileneceği şekilde atlatmasını ve en kısa sürede eski günlerimize dönmeyi umuyorum. Bu yazımda boyutsal modelleme adımları ile veri ambarı serimize devam ediyor olacağız. Böylece şimdiye kadar ele aldığımız terimlerin nasıl bir senaryoda canlıya alındığını göreceğiz.
Giriş
Veri modelleri genellikle oldukça basit başlar, ancak işletmeler geliştikçe ve yeni gereksinimler ortaya çıktıkça, işler oldukça hızlı bir şekilde kontrolden çıkabilir. Boyutsal modellemeyi adım adım takip etmekteki amaç; kaynak verilerinin iyi, kötü ve çirkin gerçeklerini ortaya çıkaracak ve sürprizlerden, gecikmelerden ve maliyet aşımlarından kaçınmayı sağlamaktır.
Adımlar
![](https://www.veribilimiokulu.com/wp-content/uploads/2020/04/proje_.jpg)
1.İş Sürecini Tanımlamak
Boyutsal modelleme adımları iş hedefini tanımlamak ile başlar. Bu, kuruluşun veri analizi ihtiyaçlarına göre pazarlama, satış, insan kaynakları vb. olabilir. İş süreçlerini yönetebilmek için BPMN (Business Process Model and Notation) gibi temel iş süreci modelleme notasyonları kullanılabilir.
İzlemek istediğimiz iş sürecini tanımlarken temel kaynak verilerinin makul bir değerlendirmesi yapılmalı, bunun yanı sıra işletmenin gereksinimlerini de sağlam bir şekilde anlamak gerekmektedir. Gereksinimler, en öncelikli ihtiyaçların tanımlandığı bir belge ile takip edilebilir. Başarılı bir model tasarımına ulaşmanın en iyi yolu işbirlikçi bir ekip çalışmasıdır, çünkü hiç kimse hem iş gereklilikleri hem de kaynak sistemin özellikleri hakkında ayrıntılı bilgiye sahip değildir. Modelleme ekibi; iş analisti, ileri düzey kullanıcı, BI uygulama geliştiricisi, ETL ekibi veya bunların tümü gibi iş kullanıcılarının analitik ihtiyaçlarını doğru bir şekilde temsil edebilecek kişileri de içermelidir.
İş sürecini tanımlamak boyutsal modelleme sürecinin en önemli adımıdır ve buradaki başarısızlık basamaklı ve onarılamaz kusurlara neden olacaktır.
Örnek vermek gerekirse müşteri hizmetleri telefon görüşmeleri, kredi kartı işlemleri veya web sitesi etkinliği gibi gerçek bir iş sürecini temsil eden herhangi bir işlem iş süreci olabilir. Biz örnek bir iş süreci oluşturmak için bir bankayı düşünelim. Herhangi bir kişi bankaya giderek hesap açtırmak/kapattırmak, para transferi yapmak, para yatırmak/çekmek, hesaba kısıt koydurmak gibi işlemler yaptırmak isteyebilir. Biz örneğimizdeki kişinin “hesap açtırmak” istediğini düşünelim ve bu süreci ele alalım.
2. Ayrıntı Düzeyi (Grain) Tanımlamak
Ayrıntı düzeyi (grain), iş süreci için veri ambarındaki herhangi bir tabloda depolanan en düşük bilgi seviyesidir. Bir tablo her gün için satış verileri içeriyorsa; günlük ayrıntı düzeyi, her ay için toplam satış verileri içeriyorsa; aylık ayrıntı düzeyi olmalıdır.
Bu aşamada şu örnek sorular sorulur:
- Mevcut tüm ürünleri mi yoksa sadece birkaç çeşit ürünü mü saklamamız gerekiyor? Bu karar, veri ambarı için seçilen iş süreçlerine dayanmaktadır.
- Ürün satış bilgilerini aylık, haftalık, günlük veya saatlik olarak mı saklıyoruz? Bu karar, yöneticiler tarafından talep edilen raporların niteliğine bağlıdır.
- Yukarıdaki iki seçenek veritabanı boyutunu nasıl etkiler?
Örneğimizdeki bankaya gelen müşteriye hesap açıldıktan ve müşteri eklendikten sonra oluşan hesap no buna örnektir. Aynı şekilde; para transeferi, para yatırma/çekme gibi işlemlerdeki tutar o sürecin ayrıntı düzeyi (grain) olur.
Yani grain tanımlanan sürece göre değişir eğer farklı konumlardaki belirli ürünlerin satışlarını günlük olarak bulmak istiyorsak buradaki grain; güne ve yere göre ürün satış bilgileridir.
3. Boyutları (Dimension) Tanımlamak
Bu aşamada her işlemde yer alan öznitelikler belirlenir ve bunlar için ayrı boyut tabloları oluşturulur. Önceki yazımda detaylarıyla incelediğimiz boyut tablolarındaki her kayıt benzersiz olmalı ve kendisiyle ilişkilendirilmiş sayısal bir birincil anahtara (primary key) sahip olmalıdır. Tarihler, mağazalar, ürünler, müşteriler, çalışanlar boyuta örnek verilebilir.
Boyutlar hiyerarşi içerebilir. Örneğin tarih boyutunda yıl, hafta, ay gibi bilgiler veya konum boyutunda ülke, şehir, mahalle gibi ayrımlar bulunabilir.
Yine bizim örneğimizde tarih, müşteri, şube, hesap tipi, müşteri gibi boyutlar yer alabilir.
4. Olguları (Fact) Tanımlamak
Miktar ve satış tutarı gibi kalan metrikler ölçümlerinizdir ve bir hareket tablosuna aittir. Her ölçümün yanı sıra, ürün, müşteri ve mağaza gibi sürece dahil olan tüm boyutları referans alan yabancı anahtarlar (foreign key) bu tabloda bulunmalıdır.
Bizim örneğimiz için hareket tablosu niteliğinde “hesap açılış tablosu” yaratılabilir. Aynı şekilde; şubeye/ tarihe göre açılan toplam hesap sayısı tabloları da hareket (fact) tablosu olabilir.
5. Şema Oluşturma
Son olarak hazırladığımız tablolar için iki popüler şema olduğunu söyleyebiliriz. Bunlardan ilki olan yıldız şemasında merkezde hareket (fact) tablosu, yıldızın noktalarında ise boyut (dimension) tabloları yer alır. Boyut tabloları çok fazla niteliğe sahip olduklarında normalize edilmeleri gerekir. Bu durumda, yıldız modeli normalize edilmiş boyut tablolarını desteklemediğinden, her bir boyut tablosuna ait başka boyut tablolarının bulunduğu kar tanesi modeli kullanılır.
Sonuç
Modelleme sürecinin tüm adımlarının gerçekleşmesinin ardından son aşama olarak; modelin ilgili taraflarla gözden geçirilmesi ve onaylanması, proje ekibinden başlayarak, kaynak sistemler hakkında derinlemesine bilgi sahibi olan BT’ye (Bilgi Teknolojileri) genişleyen ve daha geniş iş topluluğuyla sonuçlandırılması gerekmektedir. Veri uygulamasına zaman ve para yatırmadan önce bu son gruptan onay almak önemlidir.
Tipik bir tasarım çalışması, tek bir iş süreci boyutlu modeli için genellikle üç ila dört hafta sürer, ancak gereken süre, iş sürecinin karmaşıklığına, önceden var olan uyumlu boyutların kullanılabilirliğine, modelleme ekibinin deneyimine, iş gereksinimleri ve fikir birliğine ulaşma zorluğuna bağlı olarak değişebilir.
Böylece boyutsal modelleme proje adımlarının hangi sırayı takip etmesi gerektiğini incelemiş olduk. Bir sonraki yazımda veri ambarı modelleme konusunda karşımıza çıkabilecek hatalardan ve çözümlerinden bahsedeceğiz. Sağlıklı günlerde görüşmek üzere!
Kaynakça
https://decisionworks.com/2008/09/practical-steps-for-designing-a-dimensional-model/
https://www.guru99.com/dimensional-model-data-warehouse.html