OLAP
Çevrimiçi Analitik İşleme
- Okunuşu
- olep
Kısaca
OLAP (online analytical processing), büyük miktarda geçmiş veri üzerindeki karmaşık analitik sorulara hızla yanıt vermek için kurulmuş sistemleri anlatır.
OLAP nedir?
OLTP sistemleri tek tek transaction'ları kaydederken OLAP sistemleri onları toplu olarak analiz eder. "Son üç yılda satışlar bölgelere göre nasıl değişti?" ya da "En çok harcama yapan müşterileri hangi pazarlama kanalı getiriyor?" gibi sorular milyonlarca ya da milyarlarca satırı tarar, gruplar ve toplamları, ortalamaları ve eğilimleri hesaplar.
Bunu hızlı yapmak için OLAP sistemleri veriyi genellikle satır satır değil sütun sütun saklar. Bir sütunu toplayan sorgu yalnızca o sütunu okur; aynı türden değerler de çok iyi sıkışır. BigQuery, Snowflake, Amazon Redshift ve ClickHouse gibi veri ambarları bu şekilde kurulmuştur ve sorguları birçok makineye dağıtır.
Veri çoğu zaman bir yıldız şemada (star schema) modellenir: satışlar gibi olaylardan oluşan merkezî bir olgu tablosu (fact table) ve onu çevreleyen ürünler, müşteriler ve tarihler gibi boyut tabloları. OLAP terimi ayrıca küplere (cube) de işaret eder; bunlar analistlerin iş zekâsı araçlarında boyutlara göre dilimleyip ayrıntıya inmesini sağlayan, önceden toplanmış veri yapılarıdır.
Sık yapılan bir yanlış, OLAP verisinin her zaman güncel olduğunu düşünmektir. Veri genellikle ETL ya da akış hatları üzerinden, dakikalardan bir güne kadar varan bir gecikmeyle gelir. OLAP sistemleri sık yapılan tek satırlık güncellemelerde de zayıftır; bunlar OLTP veritabanlarının işi olarak kalır.
Önemli noktalar
- OLAP sistemleri büyük geçmiş veriler üzerinde karmaşık analitik sorgular çalıştırır.
- Hızlı tarama ve sıkıştırma için veriyi genellikle sütun sütun saklar.
- BigQuery, Snowflake, Redshift ve ClickHouse birer OLAP sistemidir.
- Yıldız şemalar olguları boyut tablolarının etrafında düzenler.
- Veri hatlar üzerinden sonradan gelir; tek satırlık güncellemeler yavaştır.
Örnek
SELECT
d.year,
d.month,
p.category,
r.region,
SUM(f.revenue) AS revenue,
COUNT(DISTINCT f.customer_id) AS customers
FROM fact_sales AS f
JOIN dim_date AS d ON d.date_id = f.date_id
JOIN dim_product AS p ON p.product_id = f.product_id
JOIN dim_region AS r ON r.region_id = f.region_id
WHERE d.year >= 2024
GROUP BY d.year, d.month, p.category, r.region
ORDER BY revenue DESC;
-- Scans millions of rows but reads only the columns it needsSık sorulan sorular
OLAP küpü nedir?
Ürüne, bölgeye ve tarihe göre satışlar gibi, verinin önceden hesaplanmış çok boyutlu bir özetidir; analistlerin rakamları hızla dilimleyip ayrıntıya inmesini sağlar. Modern sütunlu veri ambarları bu görünümleri çoğu zaman anında hesaplar.
Veri ambarı ile OLAP aynı şey mi?
Veri ambarı, analiz için temizlenmiş geçmiş verileri tutan depodur. OLAP ise onun üzerinde yapılan işleme türüdür. Veri ambarları en yaygın OLAP sistemleridir.
OLAP veritabanları neden sütunludur?
Analitik sorgular genellikle birçok satır boyunca birkaç sütunu okur. Her sütunu bir arada saklamak yalnızca gereken sütunların okunması demektir; benzer değerler de iyi sıkışır, bu da taramaları çok hızlandırır.
Sık karşılaştırılanlar
İlgili sayfalar
- OLTPVeritabanları, s. 23OLTP (online transaction processing), sipariş vermek gibi günlük işlemlerin çok sayıda küçük, hızlı okuma ve yazması için kurulmuş veritabanlarını anlatır.
- Data WarehouseVeritabanları, s. 7Data warehouse, birçok kaynaktan geçmiş veriyi toplayan ve ekiplerin büyük raporlama sorgularını hızla çalıştırdığı analitik amaçlı merkezi bir veritabanıdır.
- ETLVeritabanları, s. 12ETL, kaynak sistemlerden veriyi çıkaran, temiz ve tutarlı bir biçime dönüştüren ve bir hedef depoya yükleyen bir veri entegrasyonu sürecidir.
- Data LakeVeritabanları, s. 6Data lake, büyük miktarda ham veriyi, yapılandırılmış olsun ya da olmasın, biri analiz etmek isteyene kadar özgün biçiminde tutan merkezi bir depolama alanıdır.
- DenormalizasyonVeritabanları, s. 8Denormalizasyon, sık okumalar daha az birleştirme gerektirsin diye verinin tablo ya da dokümanlara bilerek çoğaltılmasıdır; bedeli daha karmaşık yazmalardır.
- SQLVeritabanları, s. 29SQL, ilişkisel veritabanlarıyla çalışmanın standart dilidir; tablo oluşturmak ve içindeki veriyi eklemek, sorgulamak, güncellemek ve silmek için kullanılır.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin