Home / MAKALELER / Veri Ambarı / OLAP Mimarisine Genel Bakış-1

OLAP Mimarisine Genel Bakış-1

Veri ambarı ile uğraşan kişilerin sıkça duyduğu bir kavramdır.Mutlaka oltp sistemleriyle karşılaştırılması ve küp yapılmaya çalışılması ile meşhurdur J  Veri ambarı yapısını yeni kuracak bir şirketteki  yöneticilerle konuştuğumda tek amaçlarının küp yapmak olduğunu söylüyorlardı.Veri ambarı = Olap küpleri , algısının olması garip ve düşündürücü ?

Peki bu OLAP nedir ?

Açılımı “online analytical processing “ Türkçesi “çevrimiçi analitik işleme” dir.

 

Online : Canlı,hazır,gerçek veriye ulaşırsınız.

Analytical Processing: Verileri analiz etmektir.Anlık sorgular,çok boyutlu,zaman tabanlı..vb

OLAP  raporlar ile geleceğe yönelik analizler çıkarmak mümkün(iyi bir istatistikçi olduğunuzu varsayıyorum) fakat biz yaptığımız veya yapıyor olduğumuz şeylerin raporlarını oluşturuyoruz. Örneğin ; geçen bir ay içinde(dün de dahil) şu üründen şu bölgede şu zaman aralıklarında şu profildeki insanlara ne kadar sattık ?  Veya , geçen sene şu şu markalı ürünlerimizin geçmiş 5 seneye göre üretim oranları nedir ?

 

olapyapi

Yukardaki sorularda gördüğümüz şey bir ürün ve o ürüne ait alt özellikler.Satış yeri,zamanı,miktarı,biçimi..vb  Yani bunların herbirisi için bir dimensional model vardır.Yani boyutsal yapılar vardır.Peki bir OLAP küpündeki bu yapılar nedir kısaca bunlara bakalım;

Measures ; Bu ölçüler sayısal bir veriyi temsil ederler.Yani bir küp yapımızdaki somut ifadelerdir.Herbir boyut yapısına göre yeni bir değer oluşturulur. Aşağıdaki şekildeki kırmızı çizgiler bir somut değeri ifade eder.Sayı,metin,tarih..vb ifadelerdir.

 

olap2

Bu veriler değerleriyle  veya belli bir formülasyondan geçmiş şekilde ,tablolarımızda tutulur.

 

Dimensions; Bir küp düşünürsek herbir kenarı bir dimension’dır.Her bir hücrenin birleşiminden oluşmuşlardır.Aşağıdaki şekilde ürün ,şehir ve zaman bilgisi bir dimension yani boyuttur.

 

olap3

Her dir dimension’ı oluşturan 3 farklı yapı vardır.Bunlar; hierarchies,levels,attributes lardan oluşur.Şimdi bu yapılara bakalım;

 Hierarchies: Bu hiyerarşiler aslında bizim navigasyonumuz gibidir.Parent-child ilişkisine dayalı olarak verileri indexlemek ve ölçülerin (measures) toplamlarını gerçekleştirdiğimiz yapılardır.Bir veya birden fazla kırılımları olabilir.

olap4

 

Levels: Yukardaki şekilde görüldüğü gibi bu hiyerarşideki her bir adım bir level’i temsil eder.

Attributes: Öznitelikler anlamına gelen bu yapılarda herbir dimension elemanı hakkında açıklayıcı bilgiler verilir.Aşağıdaki şekilde görüldüğü gibi ürünler ve onlara özgü bilgiler açıklanmaktadır.

 

olap5

Buraya kadar bir OLAP küpünün içini görmeye çalıştık.Peki bu olap küpleri hangi yapılardan oluşturulabilir ?

Bunun için 2 türlü yapımız vardır.Multidimensional form ve RDBMS yapıları.

 

1.Multidimensional Database

Kullanıcılar tarafından tercih edilen mantıksal modelleme tipidir.Hızlı geliştirilmesi ve depolama yeteneği vardır.Güçlü analitik hesapları daha kolay şekilde yapabilir.Dezavantajları ise extra maliyet,öğrenme süreci ve ölçebilirliğin sınırlı olmasıdır.

 

olap6

 

2.RDBMS Yapıları

Daha geniş hacimli verileri barındırı.İlişkisel yapılar sayesinde öğrenme süreci kısadır.Her bir sisteme göre extra maliyeti yoktur. 1. Seçeneğe göre yüksek kapasitedeki hesaplamaları yapmak daha zordur.

Şimdi bu yapıların performanslarını grafiksel olarak görelim;

olap7

 

Yukardaki grafik sorgu performanslarını karşılaştırmaktadır.Görüldüğü gibi RDBMS te karmaşık sorgular arttıkça sorgu performansı düşmektedir.Buna karşın MD yapılarında  artış vardır. Sorgular çok karmaşık olsada sorguların analiz edilme ve sonuçlanma süresinde çok az bir düşüş vardır.

Aşağıdaki şekil ise verilerin zaman göre sorgu hazırlanma grafiğini göstermektedir.Burda dikkat edilmesi gereken Relational data types da 0 dan başlayan bir geliştirme süreci olması.Yani Relation yapılarında kullandığımız ,star veya snowflake şema yapılarında oluşturulan bir küp yapısı bize performans olarak geri dönecektir.Fakat bunları hazırlama süreci uzun olacaktır.Bu yapıyı kurduktan sonra karmaşık sorgulardaki performansımız bir nebze daha iyi olur ve karmaşık hesapları daha kolay hale getirebiliriz.

 

olap8

 

 

 

Olap raporları nasıl olmalı?

 

Olap küplerini oluşturdunuz ( hangi tipteki olap ama ? bunları anlatan birçok makale mevcut o yüzden çeşitlerini ayrıntılı olarak başka bir yazımda anlatacağım) ve şimdi raporlarını almaya başlayacaksınız.Bu aşamaya kadar geçtiğiniz süreçleri sıralarsak; (istisnalardan bahsetmiyorum)

Kaynak sistemden verileri aldınız – Staging alanında topladınız- Buraya aktarılırken veya buradan veri ambarına aktarılırken ETL aşamasında tüm cleaning-conforming ve quality problemlerini çözdünüz-Data martlar sayesinde verilerinizi bölümlendirdiniz.

İşte şimdi rapor alma zamanınız geldi.Eğer bu yapılardan geçerken küp yapısına uygun bir modelleme yapmadıysanız ve verilerinizde sorun varsa asla sağlıklı bir rapor alamazsınız.Son kullanıcının üst yönetime doğru raporları vermesi için doğru ve güvenilir bir akışı takip etmemiz gerekmektedir.

 

Günümüzde olap küplerini oluşturacağınız birçok araç mevcuttur.Bu konuda hangisini tercih edeceğiniz sizin yapınıza ve şirketinizin parasına göre değişir.Fakat open source olan veya sadece bakım ücreti talep eden araçlarda mevcut.

Zamanımız olduğu sürece olap küplerine devam edeceğiz.Görüşmek üzere.

 

Kaynaklar;

http://www.oracle.com/technetwork/database/options/olap/index.html

http://www.olapcube.com/

About Yusuf Arslan

Sakarya Üniversitesi Bilgisayar Mühendisliği bölümünü bitirdikten sonra kariyerine Datawarehouse-Database Uzmanı olarak devam etmektedir Sitenin kurucusu ve yazarıdır. yusufarslanbm@gmail.com adresinden bana ulaşabilirsiniz.

İlginizi Çekebilir

Udemy Online Veri Ambarı Eğitimi

Yoğun emekler sonucunda “Türkçe” Veri Ambarı Eğitimi Udemy’de yayın hayatına başladı.Ömür boyu erişim,soru cevap bölümleri …

Bir Cevap Yazın