SSIS İLE ETL NEDİR?

Veri Akademi7 dk okuma
Microsoft SSIS paketinden Source Transform Destination üç aşamalı ETL pipeline akışı diyagramı

Veri ambarınızı on-prem bir SQL Server üzerinde tutup SSIS paketleriyle mi besleyeceksiniz, yoksa Azure Data Factory ile bulut tabanlı bir pipeline mı kuracaksınız? Bu karar yalnızca araç tercihi değildir; maliyet modelini, ekip becerilerini, gecikme süresini ve gelecekteki ölçek planınızı doğrudan belirler. SSIS, SQL Server kurulu her ortamda çalışan, paket tabanlı klasik bir ETL motorudur; rakipleri ise farklı felsefelerle aynı problemi çözmeye çalışır.

1. SSIS ile ETL'in Temel Mantığı

SSIS (SQL Server Integration Services), Microsoft SQL Server lisansıyla birlikte gelen bir veri entegrasyon platformudur. ETL kavramının üç adımı — Extract (çıkart), Transform (dönüştür), Load (yükle) — SSIS'te "Control Flow" ve "Data Flow" olmak üzere iki ayrı tasarım yüzeyinde modellenir. Bir SSIS paketi (.dtsx uzantılı XML dosyası), bir veya birden çok veri akışını, koşulları, döngüleri ve hata yönetimini birlikte barındırır. Pratik detaylar için konunun teknik kaynakları incelenebilir.

Tipik bir senaryoda kaynak, ERP sistemindeki bir SQL tablosu ya da CSV dosyası olur; hedef ise yıldız şemalı bir veri ambarı tablosudur. Aradaki dönüşüm adımları — kolon eşleme, veri tipi çevirimi, derived column, lookup, conditional split — Data Flow Task içinde görsel bileşenlerle kurulur. SSIS'in derinlemesine kullanımı için SSIS eğitimi içeriğinden yararlanabilirsiniz.

2. SSIS vs Azure Data Factory: On-Prem mi Bulut mu?

Azure Data Factory (ADF), Microsoft'un bulut tabanlı veri entegrasyon hizmetidir. SSIS ile karşılaştırıldığında temel ayrımlar netleşir:

  • Konum: SSIS şirket içi sunucuda çalışır, ADF tamamen Azure üzerinde host edilir.
  • Lisans modeli: SSIS, SQL Server lisansına dahildir; ADF pipeline çalıştırma, veri taşıma ve aktivite başına ücretlendirilir.
  • Ölçek: ADF, talebe göre paralel olarak yüzlerce pipeline yürütebilir; SSIS sunucu donanımının sınırlarıyla bağlıdır.
  • Bağlayıcı çeşitliliği: ADF, 90'dan fazla bağlayıcıyla SaaS uygulamalarına (Salesforce, ServiceNow, Google Analytics) hazır erişim sunar; SSIS'te bu tür kaynaklar için çoğunlukla üçüncü parti bileşen gerekir.
  • Geliştirme deneyimi: SSIS, Visual Studio (SSDT) içinde sürükle-bırak çalışır; ADF, tarayıcıdaki Studio arayüzünde JSON tabanlı pipeline tasarımı yapar.

Yine de SSIS paketlerinizi ADF içinde "Integration Runtime" üzerinde lift-and-shift mantığıyla çalıştırmak mümkündür. Bu, mevcut yatırımı korurken buluta geçişi kademeli kılan bir köprü çözümüdür.

SSIS on-prem sunucu kulesi ile Azure Data Factory bulut silueti yan yana karşılaştırma diyagramı

3. SSIS vs Talend: Açık Kaynak ve Java Tabanlı Yaklaşım

Talend, Java tabanlı kod üreten bir ETL platformudur. Tasarım yüzeyinde kurduğunuz iş akışı arka planda Java sınıflarına derlenir ve JAR olarak dağıtılır. Bu, SSIS'in XML tabanlı çalışma zamanından farklı bir mimari sunar.

  • Platform bağımsızlığı: Talend Linux, Windows ya da konteyner üzerinde aynı paketle çalışır; SSIS Windows odaklıdır.
  • Veritabanı yakınlığı: SSIS, SQL Server ile aynı süreçte çalıştığında yüksek throughput sunar; Talend, JDBC katmanı üzerinden çalıştığı için bazı senaryolarda ek katman gecikmesi yaşatabilir.
  • Lisans: Talend Open Studio ücretsizdir, Talend Cloud ise abonelik modeliyle ücretlidir; SSIS, SQL Server Standard/Enterprise lisansıyla gelir.
  • Big Data desteği: Talend, Spark ve Hadoop entegrasyonunda doğal olarak güçlüdür; SSIS bu alanda daha sınırlıdır.

4. SSIS vs Apache NiFi: Akış Bazlı Veri Hareketi

Apache NiFi, batch yerine "data in motion" felsefesini benimseyen, Apache Vakfı altında geliştirilen açık kaynak bir araçtır. SSIS gibi paket çalıştırmak yerine, sürekli akan FlowFile'ları işleyen processor'lardan oluşan canlı bir akış grafiği kurar.

  1. SSIS, batch ETL için optimize edilmiştir; NiFi ise streaming ve near-real-time senaryolar için tasarlanmıştır.
  2. NiFi'da her FlowFile'ın kökeni "data provenance" özelliğiyle uçtan uca izlenebilir; SSIS'te bu izleme manuel logging gerektirir.
  3. NiFi cluster mantığıyla yatay ölçeklenir; SSIS yatay ölçek için ayrı sunucularda paket paralelleştirme gerektirir.
  4. IoT, log toplama, sensör verisi gibi sürekli akışlarda NiFi tercih edilirken, gecelik ambar yüklemelerinde SSIS daha pratiktir.

5. Hangi Araç Hangi Senaryoda?

Tek bir "en iyi" ETL aracı yoktur; karar matrisi şu kriterlere göre kurulur:

  • SSIS: Microsoft ekosisteminde, on-prem SQL Server'a sahip, batch ambar yüklemesi yapan ekipler için doğal seçim.
  • Azure Data Factory: Bulut-öncelikli stratejisi olan, SaaS bağlayıcılarına ihtiyaç duyan ve ölçek esnekliği isteyen organizasyonlar için.
  • Talend: Platform bağımsızlığı, Big Data entegrasyonu ve açık kaynak tercih eden ekipler için.
  • Apache NiFi: Streaming, IoT, log toplama gibi sürekli akış senaryolarında ve veri köken izlemesi kritik olduğunda.

6. Maliyet ve Toplam Sahiplik Bakışı

Maliyet sadece lisans değildir. SSIS'te SQL Server lisansı zaten varsa ek ücret görünmez, ancak sunucu donanımı, yedekleme, güncelleme ve operasyon ekibi maliyeti TCO'ya eklenir. ADF tüketim bazlı olduğundan düşük yükte ucuz, yoğun pipeline'da hızla pahalı olabilir. Talend Open Studio sıfır lisanslıdır ama enterprise destek ve cluster yönetimi maliyetlidir. NiFi açık kaynaktır; ancak DevOps olgunluğu gerektirir.

Yığılmış maliyet sütunu ile sunucu ve bulut şekillerini tartan terazi ETL toplam sahiplik maliyeti

7. SSIS Hâlâ Geçerli mi?

SSIS 2005'ten beri sahnededir ve hâlâ binlerce kurumda gecelik veri ambarı yüklemelerinin omurgasını oluşturur. ADF'in lift-and-shift desteğiyle birlikte SSIS paketleriniz emekli olmuyor; sadece çalıştığı yer değişiyor. SQL Server tarafında MERGE, CDC ve Change Tracking gibi yeteneklerin SSIS paketleriyle birleşimi, özellikle finansal raporlama ve regülatif veri ambarlarında hâlâ tartışmasız hızlı bir kombinasyondur. SSIS'i derinlemesine öğrenmek isteyenler SSIS eğitimi üzerinden konuya başlangıç yapabilir.

Sonuç olarak SSIS, ADF, Talend ve NiFi aynı problemi farklı felsefelerle çözer: SSIS olgun ve veritabanına yakın, ADF bulut-yerel ve elastik, Talend kod tabanlı ve platform bağımsız, NiFi ise akış odaklı ve izlenebilirdir. Doğru seçim; veri hacmi, gecikme toleransı, ekip becerisi ve mevcut altyapı yatırımının kesişiminde belirlenir.

Sıkça Sorulan Sorular

SSIS, ADF içinde çalışabilir mi?

Evet. Azure Data Factory'nin SSIS Integration Runtime özelliği sayesinde mevcut .dtsx paketleriniz Azure üzerinde host edilen bir SSIS motorunda yürütülebilir. Bu yöntem, on-prem'den buluta kademeli geçişte yatırımı korumak için kullanılır ve paket kodunda büyük değişiklik gerektirmez.

Apache NiFi gerçek zamanlı ETL için neden öne çıkar?

NiFi, FlowFile temelli akış mimarisiyle veriyi batch yerine sürekli işler. Her processor bağımsız çalışır, geri basınç (backpressure) yönetimi yapar ve data provenance ile her kaydın yolunu uçtan uca izler. IoT, log streaming ve sensör senaryolarında bu özellikler SSIS'in batch yapısına göre daha uygundur.

Talend Open Studio ile Talend Cloud arasındaki fark nedir?

Talend Open Studio, masaüstü tasarım aracıdır ve ücretsizdir; ürettiği Java kodunu yerel olarak çalıştırırsınız. Talend Cloud ise yönetilen bir platform sunar: pipeline orkestrasyonu, izleme, kullanıcı yönetimi ve cluster yürütme servis olarak gelir. Open Studio gelişimi yavaşladı; yeni özellikler Cloud tarafına yoğunlaşıyor.

SSIS paketleri sürüm kontrolüne (Git) nasıl alınır?

.dtsx dosyaları XML formatındadır; Git üzerinde sürüm kontrolüne alınabilir. Ancak diff okunması zordur çünkü tasarımcı XML'i yeniden serileştirir. Pratikte SSDT projesi, Visual Studio solution dosyaları ve proje parametreleri birlikte commit edilir; CI/CD için Azure DevOps pipeline'larıyla otomatik deploy edilebilir.

ADF için tüketim maliyeti nasıl hesaplanır?

ADF fiyatlandırması üç ana kalemden oluşur: pipeline orkestrasyonu (aktivite çalıştırma sayısı), veri taşıma (DIU-saat), ve veri akışı yürütme (vCore-saat). Sık çalışan ama az veri taşıyan senaryolarda aktivite sayısı, büyük hacim taşıyan senaryolarda ise DIU maliyeti baskın olur. Maliyet tahmini için Azure Pricing Calculator kullanılmalıdır.

SSIS ile büyük hacimli veri yüklemesinde performans nasıl artırılır?

OLE DB Destination yerine SQL Server Destination veya Fast Load opsiyonu, paralel Data Flow Task, DefaultBufferMaxRows ve DefaultBufferSize ayarlarının optimize edilmesi performansı belirgin biçimde yükseltir. Hedef tabloda indekslerin yükleme öncesi devre dışı bırakılıp sonradan açılması da klasik bir tekniktir.

Apache NiFi cluster yapısı nasıl çalışır?

NiFi cluster'ı, ZooKeeper koordinasyonuyla birden çok node'u birlikte yönetir. Akışlar tüm node'larda aynı şekilde tanımlıdır; veri yükü node'lar arasında dağıtılır. Bir node düşerse diğerleri çalışmaya devam eder ve site-to-site protokolü ile node'lar arasında veri yönlendirilebilir. Bu yapı yatay ölçek ve yüksek erişilebilirlik sağlar.

ETL mi ELT mi: SSIS hangi modele daha uygun?

SSIS klasik olarak ETL (önce dönüştür, sonra yükle) modeline uygundur çünkü Data Flow bellekte dönüşüm yapar. Ancak veri ambarı SQL Server veya Synapse ise, ham veriyi staging tabloya yükleyip T-SQL ile dönüştürmek (ELT yaklaşımı) çoğunlukla daha hızlıdır. Modern ekipler SSIS'i ELT için orkestratör olarak da kullanır.