Merhabalar
Yazılarımızda Microsoft İş Zekası toollarını 4 temel konu başlığı altında inceleyeceğiz. Bunları kabaca sıralamak gerekirse başlıklarımız; Integration Services, Analysis Services, Datawarehouse ve Reporting Services.
SSIS (SQL Server Integration Services) olarak da bilinen Integration Services, SQL Server Management ile erişilen bir özellik olarak çeşitli wizard'lar ile birlikte Business Intelligence Studio ile uygulanmaktadır. SSIS'in detaylarına inmeden önce ETL'in ne olduğu konusuna açıklık getirmek bu işlemleri neden yaptığımızı anlamamız açısından büyük bir fayda sağlayacaktır. ETL açılım olarak Extract-Transform-Load kelimelerinin baş harflerinden oluşan bir kısaltmadır. Bu açılım da çeşitli kaynaklardan alınan ve gereksiz kısımlarından arındırılan verilerin işlenmesi anlamına gelmektedir.
Bu bağlamda ETL'in çerçevesinin çizilmesinde standart bir Integration Services Projesi ekranında bulunan DataFlow Ekranında yapılan işlemler; temel olarak ETL'in yapısına uygun olarak bir veri kaynağından bilgilerin alınması, bunların Data Flow Transformation's altındaki işlemler aracılığıyla işlenmesi ve sonunda da bir kaynağa yazılması olarak sıralanabilir.
Integration Services altında yapılan veri düzenleme işlemleri gerek Controlflow'da gerekse de Dataflow'da olsun bir path mantığı altında yapılmaktadır. İlerleyen zamanlarda daha detaylı açıklayacak olsak da bir Integration Services'te bulunan ControlFlow ve DataFlow kısımlarında işlemler path içerisinde tanımlanır. Bir process'in bitmesinin ardından path içerisinde bulunan sıradaki process yapılarak path sonuna gelinene kadar devam eder. Yapılan işlemler işlem sırasında sarı, işlem başarıyla tamamlandığında yeşil, işlem hata aldığında da kırmızı renkler ile tanımlanır.
Integration Services'in Genel Kullanımları ve Temel Kavramlar
SSIS'in hayatımıza getirdiği kolaylıklarla göz attığımızda SSIS bizlere SQL Server yada diğer çeşitli kaynaklardan gelen (flat file, Oracle vs.) verilerin aktarımlarına imkan verirken, birden çok kaynaktan gelen verilerin birleştirilmesine de imkan sağlar. Gelen dataların bir küp oluşturma amacıyla standart bir hale getirilmesi (id'lerin düzenlenmesi, gereksiz datalardan ayıklanması) için de kullanılmaktadır. Daha da önemlisi SSIS daha büyük iş zekası raporları için SQL Server 2008'de bulunan iş zekası tool'ları ile entegredir.
SSIS'de yapılan işlemler bir paket mantığı altında tutulur, düzenlenir ve derlenir. Bu paketler msdb yada XML formatında tutulur ve projeler arasında copy-paste yöntemi ile taşınması mümkündür. ControlFlow tasklar ve container'lerdan oluşur. Tasklar ile kullanıcı veriler üzerinde düzenlemeler yaparken container ise adından da anlaşılacağı üzere bir grup task bünyesinde barındırarak daha modüler bir yapı kazandırır. Dataflow verilerin alınacağı yerleri, veri dönüşümlerini ve verilerin yazılacağı yerleri tutar. Değişkenler(variable) daha dinamik bir biçimde operasyonlar yapılmasını ve control flow ile dataflow arasındaki değişken iletişimini sağlamaya yardımcı olur. Event Handlers ise isminden de anlaşılacağı üzere run time'da yapılan işlemlerin görüntülenmesine ve paketlerin işlem karşılıklarının bizlere gösterilmesini sağlar.
SSIS'in gücünü konu ile ilgili detaylara daha fazla girdiğimizde daha iyi anlayacağız. SSIS kullanıcılara minimum kod yazdırarak (scriptler hariç ve SQL komutları hariç) maksimum performans ve kontrol sağlamak amacıyla yetiştirilmiştir. Bu bağlamda paketler ile (yukarıda bahsedilen özellikleri dışında) bir yapı oluşturulduktan sonra bu paketler üzerine sağ tuşla tıklayarak 'Execute Package' seçilerek bu paketlerin içindeki işlerin yapılması, log işlemleri hakkındaki desteği, bünyesinde bulundurduğu breakpointler, configurationslar, bağlantı ayarlamaları ve transaction ile kullanıcılara büyük kolaylıklar sağlamaktadır. (Bu konular ile ilgili kapsamlı bilgiler daha sonra verilecektir)
SSIS içerisinde bulunan paketlerde dataflow kısmının yapısal olarak nasıl çalıştığı kısmından bahsetmek gerekirse, dataflow'lar içerisinde sağlanan in-memory bufferlar sayesinde data source'dan alınan veriler önceden tanımlı buffer büyüklükleri içerisinde (tabi sistemin de el verdiği ölçüde) alınır. Transform işlemine tabi tutularak veri hedeflerine yazdırılır ve sıradaki kalan sayıdaki veri için aynı işlem işlem sonuna varılana dek tekrarlanır. (Örnek vermek gerekirse 1 milyon satır veri için buffer'ımız 100 bin veri alacak şekilde ayarlanırsa yukarıda bahsedilen işlem 10 kere tekrarlanır.)
Özetle
Hatırlanması Gereken Noktalar;
- SQL Server Integration Services bir SQL Server 2008'in ETL işlemlerinin kolaylıkla yapılabilmesini sağlayan bir aracıdır. Bu aracın asıl amacı elle yapılması gereken işlemlerin daha kolaylıkla yapılmasını sağlamaktır.
- SSIS mimarisinde temel olarak 2 tane ara yüz bulunmaktadır. Bunlar Control Flow ve Data Flow arayüzleridir.
- Integration Services paketinde bulunan Control Flow (daha sonradan da açıklanacağı üzere) Integration Services'te kullanılmak üzere sunulan çeşitli Control Flow Itemların kullanılmasını, verilerin hazırlanmasını, hazırlanacak olan iş akışlarının (workflow) ve iş zekası fonksiyonlarının çeşitli scriptlerle ile de desteklenebilecek bir şekilde işlenmesini sağlayacak araçlar içerir.
- Dataflow arayüzü de yukarıda da bahsettiğimiz üzere çeşitli dataflow unsurları kullanarak kaynaklardan veri çekilmesi, verilerin hesaplama yada dönüştürme (transformation) islemlerinin yapılarak hedef bir kaynağa yazılmasını sağlarken aynı zamanda bir dataflow'a gelen input ve outputların bir path mantığından düzenlenmesini sağlar.

Hiç yorum yok:
Yorum Gönder