olap sistemleri, kullanıcıların hızlı analiz yapmalarını sağlayan iş zekâsı sistemleridir. önce bazı sık karşılaşılan olap terimlerinden bahsedelim:
slice: elimizdeki verinin belli bir dimensionda sadece belli özellikte olanlarını görüntüleme. mesela sadece 1. çeyrek değerlerini almak.
ilişkisel veri tabanları için düşündüğümüzde where filtresi vermekten başka bir şey değil.
dice: slice işleminin birden fazla dimensionda yapılması.
drill down/roll up: belli bir hiyerarşi olan dimensionlarda detaydan özete veya özetten detaya çıkma işlemi. yıllık gelir toplamını görüntülemek için roll up, aylık bazda görüntülemek için drill down işlemi yaparız. yine ilişkisel veritabanları için düşünürsek group by keywordüyle yapılan işlemler.
pivot tablo: pivot tablo da bu işlemleri yapabilmemizi sağlayan yapılara deniyor. excelde de zaten mevcut.
olap dendiğinde bu işlemlerin yapılabildiği ortamlar akla gelmeli. microsoft, oracle, microstrategy gibi şirketlerin olap çözümleri mevcut.
bu çözümlerden hiçbirini kullanmadan, veri ambarından veya direk olarak operasyonel sistemden veriyi excele alıp pivot tablo yapmamiz da aslında basit bir olap işlemidir.
ürünlerin bize sağladığı ise en temelde, yukarda bahsettiğimiz manuel olarak excele alıp pivot yapma işleminin daha verimli, görsel olarak daha etkileyici bir şekilde sağlaması. ürünler bu özellik için extra bir veri tutma işlemi yapmıyor, gidip hâlihazırdaki ilişkisel veritabanınızı kullanıp istediğiniz işlemleri(slice, dice vs) gerçekleştiriyor. teknik arkadaşlar için dolayısıyla bu özelliğin hiçbir etkileyici yanı yok zaten kendisi de veri tabanında sorgu çalıştırarak bunları yapar. ancak teknik olmayan kişiler için muazzam bir analiz ortamı sunmuş oluyor. bu şekilde ilişkisel veritabanını kullanan olap sistemler relational olap(rolap) olarak geçiyor.
asıl vurucu özellik, olap sisteminin ilişkisel veri tabanınından ilgili tabloları alıp bu verileri belirtilen dimension ve measurelara göre kendi multidimensional(çok boyutlu) veri tabanında tutabilmesiyle ortaya çıkıyor. böyle olduğunda olap işlemleri bariz bir şekilde hızlanıyor. multidimensional olarak veriyi tutmak demek tüm dimension kombinasyonlarında measure değerleri önceden hesaplayıp multidimensional arraylerde tutmak ve olap işlemleri yapıldığında hiçbir hesaplama yapmaksızın direk olarak istenen değerleri gösterebilmektir. multidimensional olan olap sistemlere de multidimensional olap(molap) deniyor. molap sistemlerde sorgulama yapmak için mdx(multidimensional expression) adında karmaşık bir query dili kullanılıyor.
rolap ve molap kıyaslandığında, rolapta ön hesaplama olmadığını, tabloların relational olarak tutulduğunu molapta ise tüm kombinasyonların önceden hesaplandığı dolayısıyla kullanıcıyı işlem sırasında hiç bekletmediğini görüyoruz. ancak molapta da önceden herşey hesaplandığından aslında belki de hiç sorgulanmayacak birtakım durumlar için bile kaynak harcamış oluyoruz. bu durum, hybrid olap(holap) diye bir sistemin ortaya çıkmasına sebep oluyor. holapta belli seviyede molap gibi ön hesaplamalar yapılıyor ama daha detaya inilmek istendiğinde relational tablolardan veri alınıp hesaplanıyor. mesela yıllık ve aylık bilgiler önceden hesaplanıyor fakat gün detayına inilmek istendiğinde o an relational tabloya gidilip hesaplanıyor.
(bkz: http://www.kurumsalzeka.com/?p=117)