14 Haziran 2008 Cumartesi

SQL Server 2005 Analysis Service 1 (Giriş)

SQL Server 2005 Analysis Service 1 (Giriş)

Bu makalemde SQL Server 2005’in en önemli servislerinden biri olan SQL Server Analysis Service giriş yapacağım. Öncelikle Analysis Service ile başlayalım. Analysis Service güçlü bir OLAP motoru olarak başlamış fakat çok daha fazla büyümüştür. Günümüzde Analysis Service Data Mining de kapsamaktadır.
Öncelikle OLAP ile OLTP veritabanı farklılıklarına bir göz gezdirelim.

OLTP veritabanları (On Line Transaction Processing), genellikle RDBMS(Relational Database Management System = İlişkisel VeriTabanı Yönetim Sistemi) olarak tasarlanır. RDBMS, veritabanlarındaki ilişkileri yönetmekle, datanın doğru bir şekilde kaydedilmesiyle ve bütün durumlarda hatta system failure durumunda bile datayı kurtarmakla sorumludur. OLTP, Update hızlarının yüksek olduğu bankacılık,online bilet satışları ve e-ticaret sistemlerinde kullanılır. Bizim standart uygulamalarımızda kullanacağımız veritabanı tipi OLTP dir.

OLAP (On Line Analytical Proccessing), büyük ölçekte datalarla çalışılan istatistiksel uygulamalarda kullanılır. Verilere çok hızlı bir şekilde erişmek ve çok boyutlu analiz ihtiyaçlarını yerine getirmek için kullanılır. Genellikle OLAP sistemlerde arka tarafta bir OLTP çalışır. OLAP veritabanları, “Pirinç fiyatlarında %10 indirim yapsak ve genel giderlerden %3 kısarsak yıllık karımız ne kadar değişir” gibi senaryolar için kullanılır.

Analysis Service Giriş

Veri Analizine niçin ihtiyaç duyarız?

Firmalar yaptıkları işin performans değerini ölçmek için veri analizine ihtiyaç duyarlar. Firmalar veri analizi yaparak kar ve zarar değerlerini, birim maliyetlerini hesaplayabilirler. Örneğin bir üretim firması hata değerlerini görebilir veya bir havayolu firması doluluk oranlarını takip edebilir.

Firmalar iş trend’lerini(gidişatlarını) veya sorunları görmek için veri analizlerine ihtiyaç duyarlar. Böyle bir durumda firmanın karar yetkisine sahip kişiler görüşerek, hangi iş trend’inin başarılı olduğu ve hangi sorunların var olduğu analiz edilir veya çözümlenir.

Firmalar öngörücü(ileriye yönelik) modeller tasarlayarak, politikalarını belirlemeye ihtiyaç duyarlar. Öngörücü modeller eski dataya dayanarak gelecek için sonucu tahminleyen modellerdir. Örneğin bir sigorta şirketi her bir talep hakkında detaylı bilgileri toplar ve öngörücü modeller ile bu dataların içerisindeki sahte talepleri analiz edebilir. Bu dataları soruşturma memurları ilgili soruşturmalarda sonradan kullanabilir.

Yaygın Kullanılan Veri Analiz Çözümleri


İlişkisel Raporlama :
İlişkisel Raporlama, ilişkisel OLTP(Online Transaction Processing) veri kaynaklarındaki datayı anlamlı bir şekilde raporlamak için kullanılır. İlişkisel Raporlamaya SQL Server Reporting Services örnek verebiliriz. İlişkisel Raporlama senaryoları ile dataları kullanıcıya hızlı ve etkin bir şekilde özetleyebiliriz. İlişkisel Raporlamayı çeşitli farklı senaryolarda kullanabilirsiniz. Bunlar:Şirket içi raporlama kullanılabilir. Örneğin şirketin finans raporları, şirketin finans departmanı çalışanlarına ve yöneticilere paylaşılabilir. Veya şirketin ürün raporları tüm çalışanlar ile paylaşılabilir. İlişkisel Raporlama şirketler arası raporlamada da kullanılabilir. Bu senaryonun kullanılabilmesi için şirketler arasında extranet(şirketler arası internet) yapısının olması gerekmektedir. Bu senaryo ile merkez firmanın ürün raporları, iş ortağı diğer firmalar ile paylaşılabilir. Portallar ve uygulamalar içerisinde kullanılabilir. Örneğin CRM (customer relations management) , iş veya üretim uygulamalarında raporlama bileşeni olarak kullanılabilir.

OLAP :
OLAP sistemler datayı çeşitli kategorilere ve düzeylere göre depolar veya kümeler. Bu biçim standart OLTP raporlama uygulamalarına göre daha sezgisel ve interaktif analiz için daha uygundur.

Data Mining :
Data Mining, datalar için model(patterns) ve ilişkileri(correlations) kullanarak geniş çapta otomatik arama işlemleri yapar. Bir iş yöneticisi sorumlu olduğu bölümün ana hedef ve etkilerini biliyor olsa bile, bir data mining algoritması her bir hedef için daha çok bilgi verebilir. Ayrıca kontrol edilen durumlar arasında bir bağlantı çıkarabilir. Başarılı bir algoritma eski veriyi temel alarak gelecek için tahmin yapabilir ve bu tahminlere dayanarak çıkan sonuçları test edebilir. Data Mining için hem OLAP hemde OLTP sistemlerin her ikisinide kullanabilirsiniz.

Temel OLAP Kavramları

Bu bölümde temel OLAP çözümleri ile ilgili temel kavramlarından bahsetmek istiyorum. Bu kavramlar Analysis Service ile OLAP çözümleri planlarken ve gerçekleştirirken bizim için çok önemli olacak.

Data Warehouse :



Firmalar iş analiz süreçlerinde, kendileri için data sağlayan ve dağınık halde bulunan çeşitli verileri raporlama ve sorgulama ihtiyacı duyarlar. Data Warehouse, bu farklı kaynaklardaki veriyi tek bir çatı altında (tek bir kaynak altında) toplayarak yeniden yapılandırılmasına verilen addır.

Firmaların farklı departmanlarda dağınık olarak bulunan verilerin, güncel ve tutarlı olarak saklanması, her departmanın kendine özel sistemeler kullanması sebebiyle Data Warehouse oldukça zor ve zaman alıcı bir süreçtir.

Genellikle data analizleri için kullanılan Data Warehouse dataları (data warehouse tabloları için OLAP çözüm yapıları ve optimal şemalar) de-normalize yapılarak oluşturulur. Data Warehouse, Data Mart’ların sanal olarak birleşimini sağlayabilir veya Data Mart’lar için kaynak datalar sağlayarak onları merkezi bir şekilde saklayabilir.

De-Normalize, Normalization(Normalleştirme)işleminin tersi bir işlemdir. Normalization hakkında detaylı bilgi sahibi olmak için “Normalization(Normalleştirme) Nedir?” adlı makalemizi okuyabilirsiniz.

Normalization: Normalization, her bilgiye ait olduğu en iyi yerleşimi tanımlama işlemidir. Normalleştirme, veriyi en aza indiren, veriyi uygun gruplamalarla uygun veri türüne yerleştiren ve yapıyı en iyi şekilde kullanan bir tasarım yaklaşımıdır. Normalleştirilen bir veri modeli doğru şekilde düzenlendiği için fiziksel veritabanına çevirilebilir.

Normalization E.F. Codd tarafından 1970’ler de ilişkisel modelleri geliştirmek için oluşturulmuştur.

Normalleştirilen bir veri modeli, her tablonun iyi oluşturulduğunu garanti eder ve her alanın uygunluğunu belirtir. En iyi durum, normalleştirilen mantıklı bir veri modelinin fiziksel olabildiği zamandır.

De- Normalization: Raporlama veya analiz amacıyla ilişkisel veritabanı modelinden, daha basit bir data yapısına(formuna) geçiş işlemidir. Normalizasyon işleminin tersidir. Örneğin Firmanın Aylık,Yıllık,Günlük satış cirolarının tek tabloya indirgenmesi işlemi.

Data Mart:




Data Mart çeşitli iş faaliyetlerinde veya özel konularda data sağlayan Data warehouse altkümeleridir. Bazı şirketler genel ve bütünsel bir Data Warehouse kullanmak yerine departman düzeyindeki veriyi kullanmak isterler.Data Mart belirli bir konu veya departman bilgilerine odaklanırken, Data Warehouse bütün şirketin bilgilerine odaklanır.

Fact:




Fact genelde analiz ve toplama(aggregate) işlemleri yaparak fiyat veya adet gibi anahtar iş değerlerini sunan bir ölçü birimidir. Fact formlar dimension elemanları için basit hesaplamalar ve çoğunlukla toplama (aggregate) işlemleri yapmak için kullanılır.

Dimension:




Dimension Formlar, fact’ler için kaynaklardır(bağlamlardır) ve toplanmış(aggregate yapılmış) fact’ler içinde ki işler hakkında bakış açıları tanımlar. Örneğin ürün veya stoklar dimension olarak sayılabilir. Standart sorgular ile stoklar(dimension) içerisindeki her bir ürünün toplam miktarına erişilebilir.

Cube:



Cube’ler(Küp) özetlenmiş fact’ler ve çok boyutlu dimension data tutar. Cube’ler datalara erişimi en uygun hale getiren ve genellikle kullanıcıların Data Warehouse içerisindeki datalara ulaşabilmesini sağlayan giriş noktalarıdır.

Slicing ve dicing




Slicing(Dilimleme) ve dicing(Izgaralama), OLAP cube içerisindeki datanın iş analizlerini belirlemek için, yaygın olarak kullanılan terimdir. Slicing, bir veya birden çok dimension elemanlarını ayırarak tutar ve bu elemanları diğer dimension’lara göre değerlendirir. Örneğin slicing parekende satış yapan her bir bölgenin aylık bisiklet satışlarını değerlendirebilir. Örnekte ürün dimension’dan döndürülen bisiklet dataları slicing(dilimli) olur. Dicing, ayrılarak tutulan bu çoklu dimension elemanlarından geriye tek değer döndürür. Örneğin dicing Mart 2004 yılında Münih’de satılmış bisikletleri değerlendirebilir.

Pivot Table (Özet Tablo)




Pivot Table kullanıcılara OLAP cube’lere göz atmak için hassas bir arabirim sağlar. Kullanıcılar datayı daha çok detaylandırabilirler veya datayı daha özet hale getirebilirler. Ayrıca bu arayüz kullanıcılara slice(dilim) ve dice(ızgara) olanağı sağlar.

Bu makalede temel kavramlardan bahsettim. Bir sonraki makalemde SQL Server 2005 Analysis Service yapısından bahsedeceğim.

Kaynak : 2791A: Implementing and Maintaining Microsoft® SQL Server™ 2005 Analysis Services

2 yorum:

Unknown dedi ki...

Hocam çok Teşekkürler devamını sabırsızlıkla bekliyorum.

Adsız dedi ki...

Çok güzel özetlemişsiniz.
Elinize sağlık.