İçeriğe atla

Olap küpleri

Vikipedi, özgür ansiklopedi
Bir OLAP küpü örneği

Bir OLAP küpü, çok boyutlu bir veri dizisidir.[1]

Çevrimiçi analitik işleme (OLAP),[2] verileri analiz ederek içgörü elde etmeye yönelik bilgisayar tabanlı bir tekniktir. Buradaki "küp" terimi, çok boyutlu veri kümesini ifade eder ve boyut sayısı üçten fazla olduğunda bu yapı bazen hiperküp olarak da adlandırılır.

Bir küp, iki veya üç boyutlu bir elektronik tabloyun çok boyutlu genelleştirilmiş hâli olarak düşünülebilir. Örneğin, bir şirket; gerçek ve bütçe giderlerini karşılaştırmak amacıyla finansal verileri ürün, zaman dilimi ve şehir bazında özetlemek isteyebilir. Ürün, zaman, şehir ve senaryo (gerçek ve bütçe) bu verilerin boyutlarıdır.[3]

Küp terimi, çok boyutlu veri kümesini ifade eden bir kısaltma olarak kullanılır; çünkü veriler keyfi sayıda boyuta sahip olabilir. Üçten fazla boyuta sahip veriler için bazen hiperküp terimi de kullanılmaktadır. Küp, matematiksel anlamda bir "küp" değildir; çünkü kenar uzunlukları eşit olmak zorunda değildir. Ancak bu terim, literatürde yaygın olarak kullanılmaktadır.

Slice (dilim), verinin bir alt kümesini ifade eder; bu alt küme, bir boyut için belirli bir değerin seçilmesiyle oluşturulur ve yalnızca o değere ait veriler gösterilir (örneğin yalnızca belirli bir zamana ait veriler). Elektronik tablolar yalnızca iki boyutludur; bu nedenle, dilimleme gibi tekniklerle çok boyutlu verilerin görselleştirilmesi mümkün hâle gelir.

Küpteki her hücre, işletmeye ilişkin bir ölçütü temsil eden bir sayı içerir. Bu ölçütler arasında satışlar, kâr, giderler, bütçe ve tahmin gibi değerler yer alabilir.

OLAP verisi genellikle bir ilişkisel veri ambarında yıldız şeması ya da kar tanesi şeması (snowflake schema) biçiminde depolanır ya da bu amaç için geliştirilmiş özel bir veri yönetim sistemi içinde tutulur. Ölçütler, olay tablosundaki (fact table) kayıtlardan türetilirken; boyutlar, boyut tablolarından elde edilir.

Bir boyutun öğeleri, genellikle bir ebeveyn-çocuk ilişkisi şeklinde düzenlenmiş[4] bir hiyerarşi içerisinde yapılandırılabilir. Bu yapıda, bir üst (ebeveyn) öğe, altındaki (çocuk) öğeleri özetler. Ebeveyn öğeler, kendilerinden daha üst düzeydeki başka ebeveynlerin alt öğeleri olarak daha da yukarıya doğru gruplanabilir.[5]

Örneğin, Mayıs 2005, İkinci Çeyrek 2005’in alt öğesidir; İkinci Çeyrek 2005 ise 2005 Yılı’nın bir alt öğesidir. Benzer şekilde, şehirler, bölgelerin alt öğeleridir; ürünler, ürün gruplarına dahil edilir; bireysel gider kalemleri ise gider türleri altında gruplanır.

Verilerin hiyerarşik boyutlara sahip bir küp şeklinde modellenmesi, analiz sürecini kolaylaştıran kavramsal olarak sade işlemlerin uygulanmasını mümkün kılar. Verilerin tanıdık bir görselleştirme biçimiyle uyumlu hale getirilmesi, analistlerin öğrenme sürecini hızlandırır ve verimliliğini artırır.[5]

Kullanıcının, dilim belirleme, dönüş (rotation), detaya inme (drill down) veya özet düzeye çıkma (roll up) gibi yöntemlerle etkileşimli olarak veri görünümlerini çağırmasıyla gerçekleşen gezinme süreci, bazen "slice and dice" (dilimle ve parçala) olarak adlandırılır.

Yaygın OLAP işlemleri şunlardır:

  • Slice and Dice (Dilimle ve Parçala)
  • Drill Down (Detaya İnme)
  • Roll Up (Genelleştirme)
  • Pivot (Döndürme)
OLAP dilimleme

Dilimleme (slice) işlemi, bir boyut için tek bir değer seçilerek küpten dikdörtgensel bir alt kümenin ayrılmasıdır. Bu işlem sonucunda, bir boyutu eksiltilmiş yeni bir küp oluşturulur.[5] Görsel örnekte, bir şirketin 2005 ve 2006 yıllarına ait tüm satış bölgeleri ve tüm ürün kategorilerinin satış rakamları veri küpünden "dilimlenerek" ayrılmıştır.

OLAP zar atma

OLAP parçalama

[değiştir | kaynağı değiştir]

Parçalama (dice) işlemi, birden fazla boyut için belirli değerler seçilerek bir alt küp (subcube) oluşturulmasını sağlar.[6]

Görsel örnekte, sınırlı sayıda ürün kategorisine ait satış verileri gösterilmektedir; zaman ve bölge boyutları ise aynı kapsamda kalmaktadır.

OLAP detaya inme ve genelleştirme

[değiştir | kaynağı değiştir]
OLAP ayrıntılı inceleme ve ayrıntılı inceleme

Detaya inme (drill down) ve genelleştirme (roll up) işlemleri, kullanıcının veriler arasında en genel düzeyden (roll up) en ayrıntılı düzeye (drill down) ya da tersine geçiş yapmasını sağlar.

Görseldeki örnekte, analist "Açık hava koruyucu ekipmanları" adlı özet kategori üzerinden detaya inerek, bu gruptaki bireysel ürünlerin satış rakamlarına ulaşmaktadır.

Genelleştirme (roll-up) işlemi, bir boyut boyunca verilerin özetlenmesini ifade eder. Bu özetleme, bir toplama işlevi (aggregate function) aracılığıyla gerçekleştirilebilir; örneğin bir hiyerarşi boyunca toplamların hesaplanması ya da "kâr = satış - gider" gibi formüllerin uygulanması.

Eğer özetleme fonksiyonu doğrudan OLAP küpündeki hücrelerden hesaplanamıyorsa, temel veriden çevrimiçi (yavaş) olarak ya da önceden (çok yer kaplayarak) hesaplanması gerekir.

Parçalanabilir (decomposable) toplama fonksiyonları—örneğin COUNT, MAX, MIN ve SUM—etkin biçimde hesaplanabilir; çünkü alt toplamlar doğrudan üst toplamlar hâlinde birleştirilebilir. Ancak medyan (MEDIAN) gibi fonksiyonlar parçalanabilir olmadığından, her görünüm için ayrı ayrı hesaplanması gerekir.[7]

OLAP döndürme

[değiştir | kaynağı değiştir]
OLAP pivotlama

Döndürme (pivot) işlemi, veri küpünün eksenlerinin değiştirilerek farklı açılardan görüntülenmesini sağlar.

Örneğin, bir çeyrek döneme ait veriler görüntülenirken şehirler dikeyde, ürünler yatayda sıralanabilir. Pivot işlemiyle ürünler yerine zaman periyotları yerleştirilerek tek bir ürünün zaman içindeki performansı izlenebilir.[5][8]

Görseldeki örnekte, küp döndürülerek veriye farklı bir bakış açısıyla yaklaşılmıştır.

Matematiksel tanım

[değiştir | kaynağı değiştir]

Veritabanı kuramında, bir OLAP küpü, bir ilişkisel veritabanı yönetim sistemi (RDBMS) ilişkisinin projeksiyonunun soyut bir temsili olarak tanımlanır.[9]

N dereceli bir ilişki verildiğinde; X, Y ve Z özniteliklerinin anahtar (key), W özniteliğinin ise artık (residual) öznitelik olarak yer aldığı bir projeksiyon düşünelim. Bu yapı, aşağıdaki şekilde bir fonksiyon olarak ifade edilebilir:

f : (X, Y, Z) → W

Burada X, Y ve Z öznitelikleri küpün eksenlerine karşılık gelirken, W değeri her hücreyi dolduran veri öğesini temsil eder.

İki boyutlu çıktı cihazlarının üç boyutlu yapıları doğrudan görselleştirmesi zor olduğundan, veri küpünün dilimleri (slices) üzerinden projeksiyon yapmak daha pratiktir. Bu noktada, klasik vektör analizindeki boyut indirgeme anlamında bir projeksiyondan söz edilir (SQL'deki SELECT ifadesindeki "projection" terimiyle kavramsal olarak benzer olsa da burada farklıdır).

g : (X, Y) → W

Bu tür bir projeksiyon, birincil anahtarı bastırabilir (örneğin Z boyutunu sabitleyerek), ancak hâlâ anlamlı bir semantik içerik taşır. Örneğin, belirli bir Z değeri için üç boyutlu fonksiyonun bir dilimi temsil edilebilir.[9]

OLAP gösterimlerinin ardındaki temel motivasyon,1980'lerdeki veritabanı sistemlerinde kullanılan çapraz tablolu raporlar paradigmasına ve hatta 1904 yılına kadar uzanan olasılık tablolarına (contingency tables) dayanır. Bu yaklaşımın sonucu, klasik elektronik tablo (spreadsheet) biçiminde bir görüntüdür:

X değerleri, satır başlıklarını oluşturur (örneğin satır 1)

Y değerleri, sütun başlıklarını oluşturur (örneğin sütun A)

g : (X, Y) → W fonksiyonu ile elde edilen değerler ise, bu satır ve sütunların kesişim noktalarındaki hücreleri doldurur — yani elektronik tablonun $B$2 hücresinin güneydoğu tarafındaki alanları, $B$2 dahil olmak üzere.

Ayrıca bakınız

[değiştir | kaynağı değiştir]
  1. ^ Gray, Jim; Bosworth, Adam; Layman, Andrew; Pirahesh, Hamid (1996). Veri Küpü: Group-By, Çapraz Tablo ve Alt Toplamları Genelleştiren İlişkisel Bir Agregat Operatörü. Uluslararası Veri Mühendisliği Konferansı (ICDE) Bildirileri. ss. 152–159. arXiv:cs/0701155. doi:10.1109/ICDE.1996.492099. 22 Nisan 2025 tarihinde Wayback Machine sitesinde arşivlendi.
  2. ^ "Çevrimiçi Analitik İşleme (OLAP) Genel Bakış" 9 Ocak 2025 tarihinde Wayback Machine sitesinde arşivlendi.. support.office.com. Erişim tarihi: 8 Eylül 2018.
  3. ^ "Cybertec, PostgreSQL için OLAP küpleri yayımladı". PostgreSQL. 2 Ekim 2006. 30 Haziran 2013'te orijinalinden arşivlenmiştir 27 Kasım 2011 tarihinde Wayback Machine sitesinde arşivlendi.. Erişim tarihi: 5 Mart 2008.
  4. ^ "Oracle9i Veri Ambarı Rehberi: Hiyerarşi" 5 Nisan 2025 tarihinde Wayback Machine sitesinde arşivlendi.. Lorentz Center. Erişim tarihi: 5 Mart 2008.
  5. ^ a b c d "OLAP ve OLAP Sunucusu Tanımları" 13 Temmuz 2024 tarihinde Wayback Machine sitesinde arşivlendi.. OLAP Konseyi. 1995. Erişim tarihi: 18 Mart 2008.
  6. ^ "Veri Madenciliği Terimleri Sözlüğü" 28 Nisan 2024 tarihinde Wayback Machine sitesinde arşivlendi.. Alberta Üniversitesi. 1999. Erişim tarihi: 17 Mart 2008.
  7. ^ Zhang (2017), 16 Nisan 2024 tarihinde Wayback Machine sitesinde arşivlendi. s. 1.
  8. ^ "Bilgisayar Ansiklopedisi: Çok Boyutlu Görünümler" 17 Nisan 2025 tarihinde Wayback Machine sitesinde arşivlendi.. Answers.com. Erişim tarihi: 5 Mart 2008.
  9. ^ Gray, Jim; Bosworth, Adam; Layman, Andrew; Priahesh, Hamid (1995-11-18)."Veri Küpü: Gruplama, Çapraz Tablo ve Alt Toplamları Genelleştiren İlişkisel Bir Toplama Operatörü".12. Uluslararası Veri Mühendisliği Konferansı Bildirileri. IEEE. s. 152–159. Erişim tarihi 2008-11-09 .