Ana Sayfa » BI & Data WareHouse » SSIS » SQL Server Integration Services - Data Flow Bilesenleri

SQL Server Integration Services - Data Flow Bilesenleri

Daha önceki makalemizde SSIS ‘e giris yapmistik. Bu makalemizde Data Flow içerisinde bulunan bilesenlere deginecegiz. Ilk olarak Data Flow hakkinda biraz bilgi vermeye çalisalim.

Bu makaleyi okumadan önce SQL Server 2008 Integration Services - Genel Bakis isimli makalemizi okumaniz tavsiye edilir.

SSIS sources, transformations ve destinations olmak üzere üç farkli data flow bileseni içermektedir.  Asagidaki diyagram basit bir data flow yapisini göstermektedir.

 

Sources; iliskisel veritabanlarinda, dosyalarda veya analysis servicesda tutulan verilere erismek için kullanilir. Baglanacagimiz kaynak tipine göre farklilik göstermektedir. Data flow içerisinde bulunan sources bilesenlerinde bir output ve birçogunda da ek olarak bir error output bulunur.

Asagidaki tabloda SQL Server Integration Services in destekledigi sources’larin listesi asagidadir.

Source

Tanim

ADO NET Source

     .NET Framework data provider türü kaynaklarda veri almak için.

Excel Source

Excel dosyalarindan veri almak için.

Flat File Source

Txt, csv uzantili dosyalarda veri almak için.

OLE DB Source

OLE DB provider türü kaynaklarda veri almak için.

Raw File Source

Dosyadan Raw data türünde veri almak için.

Script Component

Scriptler data yükleme düzenleme veya yazma için kullanilabilirler.

XML Source

XML uzantili bir dosyadan veri çekmek için.

 

Transformations; veriyi degistirme, isleme ve temizleme islemleri için kullanilir. Transformations ait input ve outputlar gelen ve çikan verideki kolonlari tanimlarlar. Bazen tek bir inputa karsilik birden fazla output olabildigi gibi, birden fazla inputa karsilik tek bir outputta olabilir.  Transformations larda hata durumunda hatali veriyi çikti olarak üreten bir error outputa sahiptirler. Örnegin string bir alani integer tipine çevirmek istedigimizde bu veriyi normal outputtan degil error outputtan çikarir.

Transformations

Tanim

Aggregate

Average, Sum ve Count gibi islemleri yapmak için kullanilir.

Audit

 

Cache Transform

 

Character Map

 

Conditional Split

 

Copy Column

 

Data Conversion

Farkli veri tiplerini birbirine çevirmek için kullanilir.

Data Mining Query

 

Derived Column

Yeni bir kolon eklemek için kullanilir.

Export Column

Data flowdaki veriyi bir dosyaya yazmak için kullanilir.

Fuzzy Grouping

Veri içinde birbirine benzeyen kayitlari gruplara ayirmak için kullanilir.

Fuzzy Lookup

Veri içinde alanlari referans tablosu ile karsilastirip benzerlerine çevirir.

Import Column

Dosyadaki veriyi alip data flowa eklemek için kullanilir.

Lookup

Tablodaki secondary key olarak atadigimiz kolonlarin tanim tablosundaki karsiliklarini getirmek için kullanilir. Her satirda tanim tablosuna gitmek maliyetli oldugu için lookup bu tanim tablosunun içerigini cachede tutar.

Merge

Union islemi yapar. Birden fazla source u birlestirir. Merge kullanmak için kaynaktan gelen veriler sirali olmalidir. Bunun için mergeden önce sort task ini kullanabiliriz ama tavsiye edilmiyor. Tavsiye edilen kaynakda sort etmektir. Bunun için Kaynaktan veri alinirken order by komutu ile alinmalidir.

Merge Join

 

Multicast

Çiktiyi çoklamak için kullanilir. Örn olusan çikti birden fazla task için input olarak kullanilacaksa o zaman Multicast kullanilarak ayni verinin kopyalari olusturularak çoklama islemi yapilir.

OLE DB Command

Her bir satir için sorgu çalistirmak istenildiginde kullanilir. Sadece insert  ve update ve delete islemleri için kullanilabilir

Percentage Sampling

Örnek seti  olusturmak için kullanilir. Yüzde verdigimizde kayittan o yüzdeye gore random kayit getiriyor.

Row Sampling

Percentage Sampling gibi çalisir fakat yüzde yerine kayit sayisi verilir.

Pivot

Veriyi matrise çevirmek için kullanilir.

Row Count

Toplam kayit sayisini bir degiskende tutar.

Script Component

 

C# veya basic.NET de kod yazarak islem yapabilecegimiz komponent.

Slowly Changing Dimension

 

Sort

Veriyi siralamak için kullanilir.

Term Extraction

Text Mining için kullanilir.

Term Lookup

 

 

Union All

Verilen iki farkli kaynaktaki veriyi alt alta birlestirir. Kaynaklarin kolon yapilari uyumlu olmalidir.

Unpivot

 

 

 

Destinations; source dan alinip transformasyona tabi tutulan verinin baska bir kaynaga veya hafizada olusturulan bir datasete yüklenmesini saglar.

Destinations

Tanim

ADO NET Destination

ADO.NET uyumlu bir kaynaga veri yazmak için kullanilir.

Data Mining Model Training

 

DataReader Destination

DataReader içinde veriyi göstermek için kullanilir.

Dimension Processing

Veriyi SQL Server Analysis service ya yüklemek için kullanilir.

Excel Destination

Veriyi Excel dosyasina yazmak için kullanilir.

Flat File Destination

Veriyi txt veya csv uzantili dosyaya yazmak için kullanilir.

OLE DB Destination

Veriyi bir OLE DB provider a yazmak için kullanilir.

Partition Processing

Veriyi Analysis Services Partition ina yazmak için kullanilir.

Raw File Destination

Raw datayi bir dosyaya yazmak için kullanilir.

Recordset Destination

ADO Recordset olusturmak için kullanilir.

SQL Server Compact Destination

SQL server Compact sürümüne veriyi yazmak için kullanilir.

SQL Server Destination

Veriyi bir SQL Server veritabanina yazmak için kullanilir.

 

Ek olarak Data Flow bir bilesenin çiktisini baska bir bilesene girdi olarak baglayan path adinda bir bilesen içerir. Asagidaki resimde de görüldügü gibi bilesenler üzerinde iki türlü path vardir. Bunlardan yesil olani çikti için kirmizi olani ise hata çiktisi için kullanilir.

 

Bu makalemizde Data Flow içinde bulunan bilesenleri tanimaya çalistik. Bir sonraki makalemizde bu bilesenleri kullanarak basit bir örnek yapacagiz. Bir sonraki makalemizde bulusmak üzere.

Yazar Hakkında

Mehmet Sabri KUNT

Google Plus
Yazilim Mutfagi kurucu ve yöneticisidir. 2005 Selçuk Ünv Bilgisayar mühendisligi mezunudur. Telekomünikasyon sektöründe BI&DWH alanindan çalismaktadir.

Makale Sayısı : 116

SQL Server Integration Services - Data Flow Bilesenleri

10 yorum