Foruma hoş geldin 👋, Ziyaretçi

Merhaba Değerli Ziyaretçimiz, ForumaGel ailesi seni bekliyor! 🌟 Aramıza katılarak güçlü ve samimi topluluğumuzun bir parçası olabilirsin. Burada her üye değerli, her katkı kıymetli. Şimdi üye ol, bizimle birlikte gelişmenin ve keyifli sohbetlerin tadını çıkar! Sevgi ve Saygılarla, ForumaGel Yönetimi ❤️

SignUp Now!
  • Merhaba Değerli Ziyaretçimiz, ForumaGel ailesi seni bekliyor! 🌟 Aramıza katılarak güçlü ve samimi topluluğumuzun bir parçası olabilirsin. Burada her üye değerli, her katkı kıymetli. Şimdi üye ol, bizimle birlikte gelişmenin ve keyifli sohbetlerin tadını çıkar! Sevgi ve Saygılarla, ForumaGel Yönetimi ❤️
Yan Yana Banner
Katılım
7 Nis 2025
Mesajlar
782
Şimdiye kadar genellikle günlük operasyonel işlemleri (transactionları) destekleyen veritabanlarına (Online Transaction Processing - OLTP sistemleri) odaklandık. Bu veritabanları, anlık veri ekleme, güncelleme ve küçük ölçekli sorgular için optimize edilmiştir. Ancak işletmeler, zaman içinde biriken operasyonel veriden anlam çıkarmak, eğilimleri analiz etmek, raporlar oluşturmak ve geleceğe yönelik kararlar almak isterler. İşte burada Veri Ambarcılığı (Data Warehousing) kavramı devreye girer.

Veri Ambarı (Data Warehouse) Nedir?

Bir Veri Ambarı, farklı operasyonel kaynaklardan (OLTP veritabanları, dosyalar, uygulamalar vb.) gelen, geçmişe yönelik ve genellikle temizlenmiş, dönüştürülmüş ve yapılandırılmış verinin analiz ve raporlama amacıyla toplandığı ve depolandığı merkezi bir depodur. Veri ambarları, operasyonel sistemlere yük getirmeden büyük hacimli veri üzerinde karmaşık analiz sorgularını hızlı bir şekilde çalıştırmak için tasarlanmıştır.

OLTP ve OLAP Arasındaki Fark

  • OLTP (Online Transaction Processing): Günlük işlemler (satış yapma, sipariş alma, banka hesabı güncelleme vb.) için optimize edilmiştir. Yüksek sayıda eşzamanlı, kısa süreli INSERT, UPDATE, DELETE ve basit SELECT sorgularına odaklanır. Veri modeli genellikle normalleştirilmiştir (Bölüm 4).
  • OLAP (Online Analytical Processing): Analiz, raporlama ve veri madenciliği için optimize edilmiştir. Karmaşık, uzun süreli SELECT sorgularına (genellikle toplama - SUM, AVG vb. içeren) odaklanır. Kullanıcılar büyük veri hacimleri üzerinde "dilimleme ve zar atma" (slicing and dicing) gibi analizler yaparlar. Veri modeli genellikle analiz için de-normalleştirilmiştir (boyutlu modelleme).
Veri ambarları, OLAP sorgularını desteklemek için tasarlanmış altyapılardır.

ETL Süreci

Operasyonel veriyi bir veri ambarına aktarmak için kullanılan temel süreç ETL olarak adlandırılır ve üç ana aşamadan oluşur:

  1. Extract (Çıkarma): Verinin çeşitli kaynak sistemlerden (operasyonel veritabanları, düz dosyalar, Excel, XML, JSON, web servisleri vb.) çekilmesi işlemidir. Bu aşamada verinin tamamı veya sadece değişen kısımları (incremental extraction) alınabilir.
  2. Transform (Dönüştürme): Çıkarılan verinin temizlendiği, standartlaştırıldığı, birleştirildiği, hesaplamalar yapıldığı, özetlendiği ve veri ambarının şemasına uygun hale getirildiği aşamadır. Veri kalitesi sorunları giderilir, farklı kaynaklardaki veriler tutarlı formatlara dönüştürülür. Bu, ETL sürecinin genellikle en karmaşık ve zaman alıcı kısmıdır.
    • Örnek Dönüşümler: Veri temizleme (eksik veya yanlış değerleri düzeltme), veri tiplerini eşleme, birimleri dönüştürme, farklı kaynaklardan gelen müşteri kayıtlarını birleştirme, iş kurallarına göre yeni değerler hesaplama.
  3. Load (Yükleme): Dönüştürülmüş verinin veri ambarına yazıldığı aşamadır. Bu yükleme tam yükleme (mevcut veriyi silip yeniden yazma) veya artımlı yükleme (sadece değişen veriyi ekleme/güncelleme) şeklinde olabilir. Yükleme performansı ve veri bütünlüğü bu aşamada önemlidir.
ETL Araçları: Bu süreç genellikle özel ETL araçları (Microsoft SQL Server Integration Services - SSIS, Informatica, Talend, Apache NiFi gibi) veya kodlama ile (Python scriptleri, Java uygulamaları vb.) gerçekleştirilir.

Veri Ambarı Modellemesi (Boyutlu Modelleme)

Veri ambarları için en yaygın modelleme yaklaşımı Boyutlu Modelleme (Dimensional Modeling)'dir. Bu model, analiz ve sorgu performansını önceliklendirir ve genellikle de-normalleştirilmiş bir yapı kullanır. İki ana tablo türü bulunur:

  • Olay Tabloları (Fact Tables): İşletme olaylarını veya ölçümlerini (satış miktarı, tutar, adet vb.) içeren tablolardır. Genellikle büyük hacimlidirler. Boyut tablolarına FOREIGN KEY ilişkileri içerirler.
  • Boyut Tabloları (Dimension Tables): İşletme olaylarının "kim", "ne", "nerede", "ne zaman", "nasıl" gibi bağlamsal bilgilerini içeren tablolardır (Müşteri Boyutu, Ürün Boyutu, Zaman Boyutu, Lokasyon Boyutu vb.). Genellikle daha küçük hacimlidirler ve PRIMARY KEY içerirler.
Yaygın Modeller:

  • Yıldız Şema (Star Schema): Merkezde bir olay tablosu ve etrafında ona doğrudan bağlı boyut tabloları bulunur. Basit ve anlaşılması kolaydır, sorgu performansı genellikle iyidir.
  • Kar Tanesi Şema (Snowflake Schema): Yıldız şemaya benzer ancak boyut tabloları kendileri de normalleştirilerek alt boyut tablolarına ayrılır. Depolama alanı açısından daha verimli olabilir ancak sorgular daha fazla JOIN gerektirdiği için performansı etkileyebilir.
Veri Ambarcılığında SQL'in Rolü

SQL, veri ambarında hala temel sorgulama dilidir. Ancak yazılan sorgular OLTP sistemlerindekinden farklıdır. Genellikle büyük veri kümeleri üzerinde toplama (SUM, AVG, COUNT), gruplama (GROUP BY) ve boyut ve olay tabloları arasında JOIN işlemleri yoğun olarak kullanılır. Pencere Fonksiyonları (Bölüm 9) gibi ileri seviye SQL özellikleri de analitik sorgular için çok değerlidir.

Veri ambarları, işletmelerin ellerindeki veriden stratejik içgörüler elde etmelerini sağlayan güçlü sistemlerdir. ETL süreci, bu içgörülerin temelini oluşturan temiz ve dönüştürülmüş veriyi sağlar.

Bu bölümde veri ambarcılığı, OLAP ve OLTP farkı, ETL süreci ve boyutlu modelleme gibi temel kavramlara giriş yaptık.

Veri ambarındaki veriden iş kullanıcılarının anlayabileceği raporlar, panolar (dashboards) ve görselleştirmeler oluşturmak için İş Zekası (Business Intelligence - BI) araçları kullanılır.

Bir sonraki bölümde, İş Zekası araçlarının ne olduğunu ve veritabanları/veri ambarları ile nasıl etkileşim kurduklarını ele alabiliriz.


 

Şu an konuyu görüntüleyenler

Geri
Üst