Veri ambarı, bir işletmenin ya da kuruluşun değişik birimleri tarafından toplanan bilgilerden değerli olanlarının, gelecekte analiz işlemlerinde kullanılması amacıyla işletimsel sistem veritabanından farklı bir ortamda birleştirilmesinden oluşan büyük çaplı bir veri deposudur. Bir veri ambarı ilgili veriyi kolay, hızlı ve doğru biçimde analiz etmek için gerekli işlemleri yerine getirir. Veri ambarı kullanıldığında, günlük işletimsel görevlerle yeterince meşgul olan veritabanı kullanılmadan, analiz işlemleri farklı bir ortamda yapılır. SMY 535, Veri Madenciliği 2
Veri madenciliği, veri ambarları üzerinde AI (yapay zeka), istatistiksel ve matematiksel teknikleri kullanarak, saklanılan büyük miktarlardaki veriler üzerinden, anlamlı yeni ilişkiler, desenler ve eğilimler keşfetme işlemidir. SMY 535, Veri Madenciliği 3
Data Warehouse: A Multi-Tiered Architecture Other sources Metadata Monitor & Integrator OLAP Server Operational DBs Extract Transform Load Refresh Data Warehouse Serve Analysis Query Reports Data mining Data Marts Data Sources Data Storage OLAP Engine SMY 535, Veri Madenciliği Front-End Tools 4
Stratejik Analiz: Bir KDS (Karar Destek Sistemi) olmasından dolayı Finansal Analiz: Maliyetlerin azaltılması dolayısıyla rekabet avantajının sağlanması Satış analizi ve trendler üzerine odaklanmak Müşterilerin gizli kalmış satın alma eğilimlerini tespit etmek İşler arasında ilişkilerin belirlenebilmesi Müşteri ihtiyaçlarına çabuk cevap verebilme (Etkin CRM) SMY 535, Veri Madenciliği 5
Relational database systems. SMY 535, Veri Madenciliği 6
OLAP araçları, her kullanıcının kolaylıkla kullanabileceği yapısı ile veriye çok boyutlu erişimi sağlamaktadır. OLAP araçları ile; En çok kâr getiren müşterilerim kimlerdir? (Bayi ve perakendeci bazında.) En kârlı ürünlerim nelerdir? Hangi işletme ya da mağazamda, en çok hangi saat ve günlerde hareketlilik olmaktadır? gibi sorulara cevap bulunabilmektedir. SMY 535, Veri Madenciliği 7
Off-Line çalışır Veri değişiminden çok sorgulama yapılır Eski verilerden oluşur Kullanıcı sayısı azdır (<100) Üst yönetime hitap eden KDS lerdir Veri madenciliği gibi uzun ve karmaşık süreçler sonucunda analizler yapılabilir On-Line çalışır Veri değişimi işlemleri yoğunluktadır (DML) Güncel verilerden oluşur Kullanıcı sayısı fazladır (>1000) Veriye ulaşmak ve değiştirmek isteyen her kullanıcıya hitap eder Sorgularla istenilen sonuçlara anında ulaşılır SMY 535, Veri Madenciliği 8
İşletimsel sistemlerde sürekli değişen veri karar verme işlemi için uygun değildir. İşletimsel sistemlerde kompleks bir sorgu yapılacaksa, bir çok tablodan veri toplanması gereklidir. İşletimsel sistemlerde sadece işlemsel veriler saklanılır. Geçmişe yönelik veri saklanılmaz. Organizasyondaki farklı uygulamalar, farklı teknolojiler ve ortamlar kullanabilmektedir. Böyle sistemlerde veri analiz ve sorgulaması, verinin yeri ve ortak bir formata dönüşüm işlemlerini içerdiğinden zor olabilir. SMY 535, Veri Madenciliği 9
Birleşik verilerin tutulduğu veri ambarına ilave olarak kullanılan veri deposu olarak tanımlanabilir. Veri pazarı, belirli kullanıcı grubu için yaratılan veri bölümüdür. Veri pazarı, normalize edilmemiş, özetlenmiş, toplanılmış veri topluluğu olabilir. SMY 535, Veri Madenciliği 10
Veri pazarı sadece bir özne alana veya sadece bir grup kullanıcı üzerine odaklanır. Bir organizasyon sadece bir veri ambarına sahip olur, fakat bir çok veri pazarı içerebilir. Veri pazarları veri ambarlarının aksine, işletimsel veri kaynakları bilgisine sahip değildir. Çünkü veri pazarları, veri ambarlarının aksine daha az bilgi içerirler bu nedenle kullanıcılar için çok daha çabuk ve kolayca anlaşılabilirler. SMY 535, Veri Madenciliği 11
Veri çıkarımı, veri ambarının kullandığı kaynaklardan (veri tabanı ve/veya diğer kaynaklar) veri elde etme işlemidir. Kaynaklardan çıkarılan veri genellikle geçici dosyalara yüklenilir. Dönüştürme aşamasında ise, elde edilen verilerdeki fazlalıklar atılır (veri temizleme) ve her veri sorgulamalarda kullanılabilecek uygun veri türüne dönüştürülür. Yükleme, dönüştürülen verinin veri ambarına aktarılması işlemidir. SMY 535, Veri Madenciliği 12
Veri ambarları için çok boyutlu perspektifi gerçekleyebilecek yeni modelleme teknikleri keşfedilmiştir: Yıldız (Star) Kar Tanesi (Snowflake) Karma (Mixed) SMY 535, Veri Madenciliği 13
Gerçek tablosu, temel iş ölçümlerini içeren niteliklerden oluşur. Bir gerçek tablo, o tabloya ait spesifik nitelikler ve boyut tablolarıyla ilişkili yabancı anahtarları içermektedir. Boyut tablosu, gerçek tablosunda saklanılan veriyi indeksler ve organize eden niteliklerden oluşmaktadır. Boyut tablosu, boyutu tanımlayan nitelikleri içermektedir. SMY 535, Veri Madenciliği 14
Kar tanesi modeli, yıldız modelinin geliştirilmiş halidir. Gerçek tablolarının her bir boyut tablosu başka boyut tablolarına da sahiptir. Boyut tabloları, bir çok niteliğe sahip olduklarında, normalize edilmeleri gereklidir. Yıldız modeli normalize edilmiş boyut tablolarını desteklemediğinden, bu durumda kar tanesi modeli tercih edilmelidir. SMY 535, Veri Madenciliği 15
Avantajları: Tüm tekrarlanılan veriler kaldırıldığından, saklama alanı korunmuş olur. Büyük normalize edilmemiş tablolar yerine, Join ler için normalize edilmiş daha küçük tablolar kullanılır. Dezavantajları: Sorgu sonucunda Join edilmesi gereken tabloların sayısının belirlenmesindeki zorluk Belirli bir sorguda kullanılacak tabloyu belirlemedeki zorluk SMY 535, Veri Madenciliği 16
Bazı veritabanı dizaynlarında, boyut tabloları veri hacminde çok geniş farklılıklar gösterir. Böyle durumlarda tüm tasarımda ne yıldız ne de kar tanesi modeli kullanılamaz. Her iki modelin bir kombinasyonuna ihtiyaç duyulur. Bu kombinasyon modeline karma model denilmektedir. SMY 535, Veri Madenciliği 17
time time_key day day_of_the_week month quarter year branch branch_key branch_name branch_type Measures Sales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_sales item item_key item_name brand type supplier_type location location_key street city state_or_province country SMY 535, Veri Madenciliği 18
time time_key day day_of_the_week month quarter year Sales Fact Table time_key item_key item item_key item_name brand type supplier_key supplier supplier_key supplier_type branch branch_key branch_name branch_type Measures branch_key location_key units_sold dollars_sold avg_sales location location_key street city_key city city_key city state_or_province country SMY 535, Veri Madenciliği 19
time time_key day day_of_the_week month quarter year Sales Fact Table time_key item_key branch_key item item_key item_name brand type supplier_type Shipping Fact Table time_key item_key shipper_key from_location branch branch_key branch_name branch_type Measures location_key units_sold dollars_sold avg_sales location location_key street city province_or_state country SMY 535, Veri Madenciliği to_location dollars_cost units_shipped shipper shipper_key shipper_name location_key shipper_type 20
all all region Europe... North_America country Germany... Spain Canada... Mexico city Frankfurt... Vancouver... Toronto office L. Chan... M. Wind SMY 535, Veri Madenciliği 21
Shipping Method AIR-EXPRESS Customer Orders CONTRACTS Each circle is called footprint Customer Time TRUCK ANNUALY QTRLY DAILY CITY COUNTRY ORDER PRODUCT LINE Product PRODUCT ITEM PRODUCT GROUP SALES PERSON DISTRICT REGION DIVISION Location Promotion SMY 535, Veri Madenciliği Organization 22
Verinin hızlı bir şekilde analizine izin veren veri yapısıdır. Yıldız modeli için verilen örnek bir küp üzerinde aşağıdaki gibi saklanabilir: Gerçek tablosu : Çok boyutlu (3D) küp : prodid storeid date amt p1 c1 1 12 p2 c1 1 11 p1 c3 1 50 p2 c2 1 8 p1 c1 2 44 p1 c2 2 4 day 2 day 1 c1 c2 c3 p1 44 4 p2 c1 c2 c3 p1 12 50 p2 11 8 SMY 535, Veri Madenciliği 23
day 2 day 1 c1 c2 c3 p1 44 4 p2 c1 c2 c3 p1 12 50 p2 11 8 Örnek: Toplam Hesaplama... sale(c1,*,*) c1 c2 c3 p1 56 4 50 p2 11 8 c1 c2 c3 sum 67 12 50 129 sale(c2,p2,*) rollup drill-down sum p1 110 p2 19 sale(*,*,*) SMY 535, Veri Madenciliği 24
Özet tablolar (MV) bir sorgunun sonucunu saklar. Görüntüden farkı, görüntü sorgunun sonucunu değil sadece sorguyu saklar. Yani sorgunun kapsadığı tablo yada tablolardaki veriler değiştikçe görüntü de değişir. Fakat MV ayrı bir tablo gibi sorgu sonucunu sakladığından dolayı, ilgili tablolar değiştikçe içeriği değişmez. Bu nedenle CREATE TABLE AS SELECT komutu ile bir tablo oluşturmaya benzer. Bir tablodan farkı ise, belirli zaman aralıkları ile sorgunun tekrar çalıştırılıp, değişmiş olabilecek bilgilerin güncellenebilmesidir. Karmaşık sorguların yavaşlığından kurtulmak için veri ambarı ile ilgili sorgulamaların hızlandırılması için kullanılır. SMY 535, Veri Madenciliği 25
MV ler ilk olarak Oracle veritabanında kullanılmaya başlanmış (Oracle 8i den önceki ismi Snapshot idi), daha sonra IBM DB2 ve MS SQL Server tarafından da kullanılmıştır. Tablolara olan benzerliğinden dolayı IBM DB2 da Materialized Query Tables ismi verilmiştir. MV üzerinde de tablolarda olduğu gibi indeks oluşturabildiği için MS SQL Server da ise Indexed Views olarak isimlendirilmiştir. SMY 535, Veri Madenciliği 26
CREATE MATERIALIZED VIEW base_lookup_mv PARALLEL BUILD IMMEDIATE REFRESH FAST ON COMMIT ENABLE QUERY REWRITE AS SELECT l.nam,count(b.tot) count_tot,sum(b.tot) sum_tot,avg(b.tot) avg_tot FROM base_table b, lookup_table l WHERE b.id = l.id GROUP BY l.nam; İşlem Süreleri: Normal Insert : 60 s MV Insert : 70 s Normal Select : 1,015 s MV Select : 0.557 s SMY 535, Veri Madenciliği 27