Data warehouse, Türkçe karşılığı veri ambarı da olsa farklı şekillerde tanımlanmıştır. Ancak, kesin bir tanımı yoktur.

  1. Kuruluşun operasyonel veri tabanından ayrı tutulan bir karar destek veri tabanı,
  2. Analiz için birleştirilmiş, geçmiş verilerden oluşan sağlam bir platform sağlayarak bilgi işlemeyi desteklemek.

“A data warehouse is a subject-oriented, integrated, time-variant, and nonvolatile collection of data in support of management’s decision-making process.”

– W. H. Inmon –

 
Dataware House Subject-Oriented 
  • Müşteri gibi ana konular etrafında organize edilmiş, ürün, satış gibi özneleri ele almak,
  • Karar verici mekanizmalar için veri modelleme ve analizine odaklanmak,
  • Basit ve özlü bir görünüm sunmak, yararlı olmayan verileri hariç tutmak.
 
Data Warehouse — Integrated 
  • Çoklu, heterojen verilerin entegre edilmesiyle oluşturulur. Örneğin, ilişkisel veritabanları; çevrimiçi işlem kayıtları..
  • Veri temizleme ve veri entegrasyon teknikleri uygulanır.
  • Adlandırma kurallarında kodlama tutarlılığı sağlanmalı ve farklı yapılar arasındaki nitelik ölçüleri, veri türleri belirtilmeli. Örneğin, Hotel konaklama ücreti için, para birimi; vergi; kahvaltı içeriyor vb.
 
Data Warehouse — Time Variant
  • Data warehouse için zaman ufku oldukça önemlidir ve bu zaman diğer operasyonel sistemlerin süreçlerindeki zamanlardan daha uzundur. Burada operasyonel veritabanı mevcut verilerin değerleridir. Data warehouse veritabanı ise tarihsel verileri (örneğin 5 – 10 yıl öncesi) tutar.
  • Data warehouse içinde key structure (anahtar altyapısı) kurulmalıdır.
  • Ancak operasyonel verilerin anahtarları “zaman öğesini” içerebilir ya da içermeyebilir.
 
Data Warehouse — Nonvolatile
  • Operasyonel çevre üzerinden döünüştürülmüş fiziksel olarak ayrı bir veri deposu,
  • Veritabanındaki veriler kalıcı olmalıdır.
  • Veritabanındaki Update işlemi mevcut veritabanı üzerinde yapılmamalı, değiştirilecek olan veri ayrı bir veritabanında tutulmalıdır.

 

Neden Ayrı Bir Data Warehouse?

OLAP ve OLTP sistemleri için hızlı performans sağlar. Örneğin, OLTP için metotlara erişmek, indeksleme, eş zamanlı kontrol, kurtarma işlemlerinde yüksek performans sağlar. OLAP için karmaşık OLAP sorguları, multidimensional view, consolidation işlemlerinde yüksek performans sağlar.

Farklı fonksiyonlar ve farklı data,

Eksik veriler: Karar desteği, geçmiş verileri gerektirir. Operasyonel veritabanları tipik olarak bakım yapmaz.

Veri konsolidasyonu: Veritabanı heterojen kaynaklardan gelen verilerin konsolidasyonunu (toplama, özetleme) gerektirir.

Veri kalitesi: Farklı kaynaklar genellikle tutarsız veriler, kodlar ve formatlar kullanır. Gelen bu verilerin dizginlenmesi gerekir.

 

Warehouse DS1

Çok Katmanlı Mimarili Data Warehouse

 

Data Warehouse Modelleri

Enterprise, Virtual, Data Mart olmak üzere 3 tane data warehouse modeli mevcuttur.

Enterprise Warehouse: Tüm organizasyonu kapsayan konularla ilgili tüm bilgileri toplar.

Data Mart: Belirli bir kullanıcı grubu için değer taşıyan şirket genelindeki verilerin bir alt kümesi. Kapsamı, pazarlama verileri pazarı gibi belirli, seçilmiş gruplarla sınırlıdır.

Virtual Warehouse: Operasyonel veritabanları üzerinde bir dizi görünüm. Muhtemel özet görünümlerin sadece bir kısmı gerçekleştirilebilir.

 

Extraction, Transformation ve Loading (ETL) Kavramları

Data extraction: Türkçe karşılığı veri çıkarma olan bu kavram çoklu, heterojen ve dış kaynaklardan veri alma işlemidir.

Data cleaning: Verilerdeki hataları tespit edilmesi ve mümkün olduğunda düzeltilmesidir.

Data transformation: Verilerin eski veya ana bilgisayar biçiminden warehouse biçimine dönüştürülmesidir.

Load: Görünümlerin sıralanması, özetlenmesi, birleştirilmesi, hesaplanması, bütünlüğün kontrol edilmesi ve indeksler ve bölümler oluşturulmasıdır.

Reflesh: Güncellemelerin veri kaynaklarından warehouse’a yayılması.

 

Metadata Repository

Meta data warehouse objelerini tanımlayan verilerdir. Kısaca, verinin türüyle ilgilenir. Meta data ayrıca, data warehouse yapısının açıklamasıdır (şema, görünüm, boyutlar, hiyerarşiler, türetilmiş veri tanımlama, data mart locations ve data mart contents)

Operational Meta Data: Veri kökeni (geçirilen verilerin ve dönüştürme yolunun geçmişi), verilerin efekti (etkin, arşivlenmiş veya temizlenmiş), izleme bilgileri (depo kullanım istatistikleri, hata raporları, denetim izleri) gibi verilerdir.

 

Tablolar, Elektronik Tablolar ve Veri Küpleri

Bir data warehouse, verileri bir veri küpü biçiminde görüntüleyen çok boyutlu bir veri modeline dayanır. Bir veri küpü, örneğin “sales” çok boyutlarda verinin modellenmesine ve görüntülenmesine izin verir.

Bu veri küpleri çeşitli tablolar tablolar içerir. Örneğin item (item_name, brand, type) ya da time (day, week, month, quarter, year) gibi. Fact Table, ölçümleri (dolar_sold gibi) ve ilgili boyut tablolarının her birinin anahtarlarını içerir.

Data warehouse literatüründe, bir n-D taban küpü, temel küboid olarak adlandırılır. En yüksek özetleme düzeyine sahip olan en üstteki 0 boyutlu küboid, tepe küboid olarak adlandırılır. Küboidlerin kafesi bir veri küpü oluşturur

 

Warehouse DS2

 

Data Warehouse Kavramsal Modellenmesi

Yıldız (Star) Şema

 

Star Schema

 

Ortada bir olgu tablosu mevcuttur. Bu olgu tablosuna bir dizi boyut tabloları bağlıdır.

 
Kar tanesi (Snowflake) Şema

 

Snowflake Schema

 

Bazı boyutsal hiyerarşinin bir dizi daha küçük boyut tablosuna normalleştirildiği ve kar tanesine benzer bir şekil oluşturduğu şema türüdür. Bir yıldız şeması iyileştirilmiş hali diyebiliriz.

 
Fact constellations (Galaksi Şeması)

 

Fact constellations

 

Birden çok olgu tablosu, bir yıldız koleksiyonu olarak görülen boyut tablolarını paylaşır, bu nedenle galaksi şeması veya fact constellations olarak adlandırılır.

Ayrıca, information processing, analytical Processing ve data mining olmak üzere 3 tane data warehouse applikasyonu mevcuttur.

Çoğu veritabanı dersinde data warehouse gibi kavramlar çoğunlukla ingilizce anlatılır, sunumlar ingilizce hazırlanır. Bunun sebebi bazı kavramların Türkçe karşılığı olmamasıdır. Bu yazıda sizler için kavramları olabildiğince Türkçeleştirmeye çalıştım, anlamadığınız yerleri yorum kısmında belirtebilirsiniz. İyi çalışmalar.