OLAP Nedir?
Tarih
01/11/2008 00:27
Konu Sahibi
accessdelisi
Yorumlar
1
Okunma
1245
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



accessdelisi
Tımarhaneden Yeni Kaçtım
Kullanici Avatari
Aktif Üye
314
30/10/2008
24
-
Ofis 2010 32 Bit
04/12/2016,07:52
IT departmanları, bir çok şirkette bel kemiği, göz bebeği departmanları arasındaki yerini çoktan aldı. Elbetteki bu artışla birlikte veri yığınları da dağ gibi büyüyor. Bu verilerin sadece depolanan, ihtiyaç duyulduğunda bir bölümüne bakılarak kullanılan veri çöplüklerinden, gerçekten işe yarar, farklı yorumlara açık, gelecek için trend analizlerine uygun önemli bilgiler

İlişkisel veritabanlarının boyutları artık bir çok orta-büyük seviyeli uygulamalarda onlarca gigabytetan terabyte'lara ulaşan boyutlarıyla raporlamayı imkansız bir hale getiriyor, üstelik bu raporlar genelde "elimizdeki ürünler ve onların satış fiyatları" gibi kolay raporlar olamıyor. Verinin ilişkisel yapısı nedeniyle karışıklığının yanında, boyutunun büyüklüğü nedeniyle doğan performans kaybı tahammül edilemez seviyelere ulaşabiliyor. Bir rapor almak için saatlerce bekleyen firmalar fazlasıyla çok.

OLAP'ın teknik yapısına bakmadan önce şu soruya cevap verelim:
İlişkisel veri tabanı mı daha hızlıdır yoksa flat file (düz text metni) mi?

Bu soruya hemen hepinizin "elbetteki ilişkisel veri tabanı daha hızlıdır" dediğini duyuyorum. Cevap için öncelikle veri tabanlarının tarihine bakalım. Önceden bilgiler ilişkisel olmayan, yapısal text dosyalarında tutuluyordu. (hala bu tarz uygulamalar yazdığımız oluyor). Fakat 1970 yılında IBM de çalışan bir araştırmacı tarafından bulunan ilişkisel yapı ile, çok daha az yere (fiziksel alana) çok daha fazla veri depolamak mümkündü. Fikir hepimizin şuanda fazlasıyla iyi bildiğimiz RDBMS sistemleri. Tekrarlanmayan veriler, key'ler üzerinden kurulan ilişkiler.... vs.. (bu ilk ilişkisel veritabanının adı SEQUEL - Structured English Query Language'tir ve hala doğru ingilizce okunuşu es ku el olmasına rağmen si qu el olarak okunmasının sebebi de budur.)

İlişkisel veritabanları yer olarak çok daha küçük boyutlardadır fakat relational engine'in çalışması manuplasyon işlemerinden insert update ve delete'i hızlandırsa da, select için hiç performanslı sayılmaz. Hatta şunu açıkça belirtmeliyim ki, ilişkisel veri tabanlarında select işlemi çok daha yavaş çalışır. Gelin bunu örnekleyerek görelim.

008112 Kivanc Özüölmez Computer Engineering
998610 Deneme Deneme Civil Engineering
..........

datalarını içeren 1 milyon kayıtlı bir dosyamız olsun, tüm kayıtların fixed length ve bölümler ile tümleşik olduğunu görürüyoruz. Halbuki bunu ilişkisel bir yapıda kurmak isteseydik, bölümler için ayrı bir tablo yapardık, bölümID yi primary key ve foreign key constraintleri üzerinden bağlayarak bu işlemimizi gerçekleştirirdik.

Bu 1 milyon kayıt içerisinde bizim aradığımız kayıt 500 000. olsun. Bir text dosya içinde 500 000. kayıda ulaştığımızda aradığımız tüm verileri almış oluruz. Fakat benzer bir yapıda ilişkisel veritabanında 500 000. kayıdı bulduktan sonra, o kaydın işaret ettiği diğer tablolara gidip o tablolar uzerinde de arama yapmamız gerekecekti. Dolayısı ile aradığımız kayıt 500 000. sırada olsa da, birlikte gelmesini istediğimiz datalara ulaşmak için ayrı bir çaba sarfedeceğiz.

Aşağıdaki şekil bu işlemi çok daha açık bir şekilde özetliyor.

resim

Şekilden de anlayacağınız gibi, ilişkisel veri tabanları select işlemi için çok daha zayıf kalmakta. (bundan bahsederken birçok arkadaşım "indexleme var, bir çok arama algoritması var" diyor. Fakat indexlemeler vs.. gibi işlemler flat filelar üzerinde de yapılabilir!)

Öyleyse karşımızda yine şu güzel oran var: performans | storage . Flat File gibi yapılarda storage miktarımız çok ciddi oranlarda artmakta. Bu konuya daha sonra değineceğiz.

Şu an için kısaca şu şekilde özetleyelim OLAP'ı : İlişkisel veri tabanının aksine veriyi tekrarlayarak, mümkün olduğunca az ilişki ile (dolayısıyla çok daha fazla veri alanı ile) veriyi depolayan, bu şekilde veriye erişim hızımızı cok büyük ölçüde arttıran yapılardır ve de yukarıya baktığımızda, flat file mantığı ile uyuşan yapıdır.

Bir çok makalede OLAP sözcüğü ile bütünleşmiş küp kelimesi karşımıza çıkar. OLAP yapısının küpler ile ifade edilmesinin sebebi, aynen geometrik bir küp gibi kenarlara, boyutlara, her birim hacminde bir dataya sahip olmasıdır. Dolayısı ile nasıl ki rübik küpünü her çevirişinizde farkli bir yüzey, farklı bir data (aynı verilerden elde edilen farklı sonuclar) ile karşılaşır iseniz, OLAP yapısındaki datanıza da her farklı açıdan bakışınızda çok farklı sonuçlara ulaşırsınız.

Örneğin, x adlı içeceğimizin yaz aylarındaki turistik bölgelerdeki satış miktarlarının hava sıcaklığı ve gün dağılımlı (hafta içi hafta sonu) olarak gidişatını görmek istiyorsunuz. Ya da y adlı ürünüzü alan kişilerin a ürününü mü daha çok tercih ettiğini yoksa b ürününü mü daha çok tercih ettiğini merak ediyorsunuz. Soru örnekleri çoğaltılabilir. Önemli olan beklentilerinize yönelik olarak kübünüzü kurabilmektir. (aynen rübik kübü gibi, bir tur çevirin tamamen farklı sonuçlarla karşılaşın.)


Biraz daha gerçek dünyadan örnek verir isek bu teknolojiyi en çok kullanan şirketler büyük alışveriş mağazaları (hatta bu konuda öncü olan ve bu sayede de fazlasıyla büyüyen wallmart ) tır. Alışveriş mağazalarının bizlere dağıttığı üyelik / club / vs.. kartlarının da esas amacı bu tarz datalara ulaşabilmektir.

Büyük bir veri tabanınızın olması OLAP'a ihtiyacınız var anlamına gelmez. Aksine, yukarıdaki tüm benzetmeleri ve detayları inceledikten sonra şu özet, bizi en doğru noktaya getirir: Database yapınız verilerinizi depolayacağınız, işlemlerinizi yapacağınız, sistemlerinizi çalıştıracağınız tabanınızdır. OLAP ise varolan verilerinizi anlamlandırmanızı, analiz edilebilir hale getirmenizi sağlar.

resim
OLAP küpü de aynen bir rübik küpü gibidir.
Farklı açıdan baktığınız anda çok farklı sonuçlar görürsünüz.
Biraz daha dışarıdan bakarsak OLAP'ın özellikleri şu şekildedir:

Çok boyutlu inceleme özelliğine sahip olması.
Şeffaflık
Erişilebilirlik
Her seviyede sorgulama için aynı performansı gösterebilme özelliği
Server - Client yapısında olması
Çoklu kullanıcı desteği
Esnek raporlanabilme
Boyutlar ve gruplandırmalarda sınırların bulunmaması
ve daha bir çok özellik...

Kod:
http://www.yazgelistir.com sitesinden alıntıdır.

Cevapla


accessdelisi
Tımarhaneden Yeni Kaçtım
Kullanici Avatari
Aktif Üye
314
30/10/2008
24
-
Ofis 2010 32 Bit
04/12/2016,07:52
Konu ilgi cekmedi galiba Img-cray
SÖZ VERİYORUM... USLU DURUCAM...
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Modul Nedir? chopper07 11 4.107 15/01/2012, 15:29 iscinar
  SOAP (Simple Object Access Protocol - Basit Nesne Erişim Protokolü) Nedir? esrefigit 0 4.062 09/03/2010, 16:11 esrefigit


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya