Boyutsal Modelleme
Merhaba arkadaşlar. Ralph Kimball tarafından geliştirilen boyutsal modelleme tekniğinde veri ambarının veri depolarının birleşiminden oluştuğunu söylemiş, avantaj ve dezavantajlarından bahsetmiştik. Bu yazıda boyutsal modellemede kullanılan hareket (fact) ve boyut (dimension) tablolarını ele alacağız.
Boyutsal model bilgi almayı ve raporlamayı kolaylaştıracak şekilde tasarlanır. Son kullanıcıların analizlerine yönelik bilgileri kolay ve hızlı okumak, özetlemek, analiz etmek amaçlarını taşır. Bunun için hareket (fact) ve boyut (dimension) tablolarını kullanır.
Boyutsal modelleme ve normalize yaklaşımın (E-R modellemesi) resmedildiği aşağıdaki şemaları gördüğünüzde bence neyden bahsettiğimizi daha iyi anlayacaksınız.
Hareket Tablosu
Hareket tabloları boyutsal modelin birincil tablosudur. Hareket tablosu yıldız (star schema) veya kar tanesi şemasının (snowflake schema) merkezinde bulunur. İki tip veriyi barındıran kolonlardan oluşur:
- Ölçümler (Measurements) : Satışlar, miktar, birim tutar gibi sayısal değerler
- Birincil anahtarlar (Primary key): Tarih ID, Kişi ID, Birim ID gibi boyut tablosunu refere eden kolonlar
Boyut Tablosu
Boyut tabloları hareket tablosundaki bilgileri detaylandırmak için kullanılır. Birincil anahtarlar (primary key) ile ana tabloya (hareket tablosuna) bağlanırlar. Yukarıdaki boyutsal modelleme şemasında ana tabloyu çevreleyen her bir tablo bir boyuta ait ayrıntılı bilgileri barındırır. Örneğin zaman boyutu, iş işlemlerinize başladığınızdan bu yana gerçekleşen her saat, gün, hafta, ay, çeyrek ve yılı içerir. Ürün boyutu, sattığınız ürünlerin adını ve açıklamasını, birim fiyatını, rengini, ağırlığını ve uygulanabilir diğer özellikleri içerebilir.
Ünlü bir giyim markasının mağazalarını bir düşünün. Satın almak, iade yapmak veya değişim için her gün gelen giden kaç müşterisi oluyordur? Hele bir de indirim zamanları 😊 Her dakika işlem alan kasiyerin yorgunluğu arttıkça hareket tablosu da büyüyor. Bir müşteri bir veya birden fazla mağazada, birden fazla günde alışveriş yapmış olabilir. Aldığı ürünlere ait tüm bilgilerin, lokasyonun, işlem alan çalışanın, müşterinin tüm bilgilerin tek tabloda olması mümkün değil. Bunun için hareket tablosu daha çok sayısal verileri takip ediyor, boyut tablosu ise ilgili boyutun detaylarını içeriyor.
Yapılacak sorguyu kolaylaştırmak, hızlı bir şekilde raporlama yapabilmek için satışlara ait hareket tablosu ve bunun kenarlarındaki boyut tablosuna bir örnek hayal edelim.
Hareket tablosunda ID si bulunan her bir boyutun tablosu olabilir. Örnek olarak ürüne ait boyut tablosunu verelim.
Böylece boyut tabloları veri ambarlarında hareket tablolarına göre çok daha az yer kaplamaktadırlar. Aralarındaki farklar için aşağıdaki tabloyu inceleyebilirsiniz:
Hareket tabloları veya boyut tabloları kullanılacak projeye ait veri tiplerine göre çeşitlilik gösterebilir. Bir sonraki yazımda veri ambarı modelleme proje adımlarından bahsederken neye göre seçim yapacağımızı göreceğiz. Görüşmek üzere!
Kaynakça