Confluent 2025 State of Data in Motion raporu, batch ETL’den streaming ETL’ye geçen kurumlarda veri freshness’ın ortalama 2 saatten 5 dakikaya düştüğünü, decision latency’nin %78 azaldığını gösteriyor. CDC + Kafka + Iceberg üçlüsünü kullanan ekiplerin ortalama event throughput’u 1.8 milyon olay/saniyeye ulaşıyor. Konuyla ilişkili olarak Change Data Capture (CDC): Debezium ile Real-Time Veri Akışı rehberimiz detaylı incelemeyi içerir.

Streaming ETL 2026: Real-Time Lakehouse Paradigması

Batch ETL geleneksel olarak veri ambarına saatte bir veya günde bir veri yüklerken modern streaming ETL bu süreyi saniyelere indiriyor. Change Data Capture (CDC) + Apache Kafka + Apache Iceberg üçlüsü 2025’te kurumsal real-time lakehouse’un standardı haline geldi. Forrester 2025 Streaming Data Integration Wave değerlendirmesinde Debezium, Confluent ve Estuary CDC connector’ları liderler olarak konumlandı; Iceberg merge-on-read pattern’i streaming upsert için en olgun çözüm.

Müşterilerimde gördüğüm en yanlış uygulanan pattern: ‘real-time’ diye başlanan proje ‘micro-batch 5 dk’ olarak doğuyor çünkü Iceberg compaction maliyeti hesaba katılmıyor. Doğru pattern: CDC + Kafka + Iceberg + saatte 1 compaction job. Bu üçlü doğru kalibre edildiğinde freshness 30 saniyenin altına iniyor, maliyet batch pipeline’ın 1.4 katı civarında kalıyor.

CDC Connector Seçimi: Debezium, Fivetran HVR, AWS DMS

CDC operasyonel veri tabanından (PostgreSQL, MySQL, Oracle, SQL Server) değişiklik event’lerini stream halinde çıkaran teknoloji. Üç ana yaklaşım var: open-source Debezium (en yaygın, Kafka Connect üzerinden), Fivetran HVR (managed CDC + transformation), AWS DMS (AWS-native, RDS uyumlu). Seçim deployment kısıtı, kaynak veri tabanı çeşitliliği ve maliyete bağlı.

CDC Connector Open Source Throughput Source DB Coverage Yıllık Maliyet
Debezium Evet (Apache 2) 100K-1M/sn 10+ DB $0 + Kafka cluster
Fivetran HVR Hayır 500K/sn 30+ DB $100K+
AWS DMS Hayır (AWS) 200K/sn 15+ DB (AWS focus) $0.20/saat + storage
Estuary Flow Kısmen 1M/sn 20+ DB $50K+
Striim Hayır 500K/sn 40+ DB $120K+
Streaming ETL 2026: CDC, Kafka ve Iceberg ile Real-Time Lakehouse Pattern — Görsel 1
Streaming ETL 2026: CDC, Kafka ve Iceberg ile Real-Time Lakehouse Pattern — Görsel 1

Kafka Topic Tasarımı: CDC için Best Practice

CDC event’leri Kafka topic’lere yayılırken topic naming ve partition strategy kritik. Convention: cdc.{database}.{schema}.{table}; bu sayede consumer’lar topic pattern subscription ile çoklu tablo dinleyebiliyor. Partition key olarak primary key kullanılmalı; aynı row’un tüm event’leri aynı partition’a düşsün ki order garantili olsun. Partition sayısı throughput hedefine göre 3-50 arasında ayarlanır.

  • Topic naming: cdc.{db}.{schema}.{table} (Debezium default)
  • Partition key: primary key (single PK için doğal; composite PK için concatenate)
  • Partition count: hedef throughput / (consumer max throughput) + buffer
  • Retention: minimum 7 gün (consumer outage recovery için)
  • Compaction: tombstone (DELETE event) için log compaction enable

Stream processing entegrasyonu için stream processing rehberimize bakabilirsiniz.

Iceberg Merge-on-Read ve Streaming Upsert

Apache Iceberg 1.4+ ile merge-on-read pattern streaming upsert için olgun. Yeni gelen CDC event’ler delete file + data file olarak yazılıyor; read query bunları birleştirip current state’i veriyor. Bu pattern write latency’yi düşürüyor (saniyeler) ama read latency’yi artırıyor. Compaction job periyodik olarak delete + data file’ları base file’a merge ediyor, read latency’yi geri optimize ediyor.

Streaming ETL 2026: CDC, Kafka ve Iceberg ile Real-Time Lakehouse Pattern — Görsel 2
Streaming ETL 2026: CDC, Kafka ve Iceberg ile Real-Time Lakehouse Pattern — Görsel 2

Compaction Stratejisi: Maliyet ve Freshness Dengesi

Streaming ETL’nin gizli maliyeti compaction. Sık compaction (saatte 1) read latency’yi düşük tutar ama compute maliyeti yüksek; seyrek compaction (günde 1) maliyeti düşürür ama small file problem ve read amplification yaratır. Doğru pattern: critical tier tablolar için saatlik, non-critical için günlük. Apache Iceberg resmi maintenance rehberinde bu pattern detaylı.

Compaction Sıklığı Write Cost Read Cost Storage Cost Önerilen Use Case
15 dakika Düşük Çok düşük Yüksek (rewrite) Critical real-time
Saatlik Düşük Düşük Orta Standart streaming
4 saatte 1 Düşük Orta Düşük Tolerant analytics
Günlük Düşük Yüksek En düşük Archive workload
Async on-demand Düşük Değişken Değişken Custom logic

Exactly-Once Garantisi: Source-to-Sink

Streaming ETL’de en kritik konu exactly-once garantisi. CDC source’tan başlayarak Kafka producer (idempotent + transactional), Kafka consumer (read-committed isolation), Iceberg sink (atomic commit) zinciri exactly-once sağlıyor. Bir noktada at-least-once’a düşersek (örn. consumer offset commit hatası) downstream’de duplicate row’lar ortaya çıkıyor. Iceberg’in idempotent merge-on-read özelliği bu pattern’i tamamlıyor.

Streaming ETL 2026: CDC, Kafka ve Iceberg ile Real-Time Lakehouse Pattern — Görsel 3
Streaming ETL 2026: CDC, Kafka ve Iceberg ile Real-Time Lakehouse Pattern — Görsel 3

Kurumsal Streaming ETL Dönüşümünde Karşılaşılan Tipik Sorunlar

Danışmanlık projelerinde gözlemlenen tipik darboğazlar:

  • “Real-time” iddiası ile başlayan proje aslında micro-batch 5dk; Iceberg compaction hesaba katılmamış
  • CDC partition key yanlış seçiliyor (timestamp gibi); row ordering bozuluyor, duplicate processing
  • Kafka topic retention 24 saat; consumer outage’da event kaybediliyor
  • Iceberg compaction job kurulmuyor; small file problem 6 ay sonra query latency’yi 10x artırıyor
  • Schema evolution stratejisi yok; production’da CDC connector hata veriyor
  • Exactly-once zinciri parçalı; bir node at-least-once, duplicate row’lar downstream’e ulaşıyor

Sonuç

Streaming ETL 2026’da artık “experimental” değil, kurumsal real-time lakehouse’un standart pattern’i. CDC + Kafka + Iceberg üçlüsü doğru kalibre edildiğinde freshness 30 saniyenin altına iniyor, decision latency %78 düşüyor. Karar öncesi mutlaka şu üç soruyu cevaplayın: Source DB’lerin CDC kapasitesi var mı (WAL, binlog enable mı)? Iceberg compaction stratejisi tablo-tier bazlı tanımlandı mı? Exactly-once zinciri uçtan uca planlandı mı? Bu üç hazırlık olmadan streaming ETL “yarım batch” haline geliyor ve hem maliyet hem incident artıyor.

Sıkça Sorulan Sorular

Debezium production’da güvenli mi?

Evet, son 5 yılda olgunlaştı; LinkedIn, Wepay, Tinkoff Bank gibi büyük kurumlar production’da kullanıyor. Debezium 2.5+ snapshot + incremental sync güçlü. Operasyonel yük Kafka Connect cluster’ı yönetmektir; bu konuda ekip kapasitesi yoksa managed CDC (Fivetran HVR, Estuary) daha iyi seçim.

Streaming ETL batch ETL’ye göre kaç kat pahalı?

Confluent 2025 verisine göre tipik 1.3-1.7x. Compute farkı küçük (Kafka + stream processor + Iceberg compaction sürekli çalışıyor); asıl maliyet operasyonel yönetimde. ROI freshness değeri yüksekse (fraud, real-time recommendation) hızlı.

Iceberg merge-on-read read latency’yi ne kadar etkiler?

Compaction sıklığına bağlı. Saatlik compaction ile p99 read latency 1-3x; günlük compaction ile 5-10x artabilir. Critical tier tablolar için saatlik compaction öneriliyor; non-critical için 4-saatte 1.

CDC source DB’ye nasıl yük bindirir?

Debezium PostgreSQL logical replication slot kullanıyor; ortalama %2-5 CPU + %1-3 disk IO ek yük. MySQL binlog kullanıyor; %1-3 CPU. Eski sistemler (Oracle Redo Log) için trigger-based CDC daha invasive; %10-15 yük yaratabiliyor.

Real-time lakehouse Snowflake/Databricks gibi DWH’yi tamamen değiştirir mi?

Hayır, tamamlıyor. Çoğu kurumsal mimaride real-time lakehouse operational analytics + ML için, geleneksel DWH BI ve historical reporting için kullanılıyor. Hibrit yaklaşım dominant. Detay için DW karşılaştırma rehberimize bakın.

Ömer ÖNAL

Yazılım Mimarı | Yapay Zeka LLC. Ölçeklenebilir SaaS, .NET Core altyapıları ve Otonom AI süreçleri inşa ediyorum. Kod değil, sistem tasarlarım.

Yorum (1)

  1. Ömer ÖNAL
    Mayıs 23, 2026

    Streaming ETL son 2 yılın en yanlış uygulanan pattern’lerinden. Müşterilerimde gördüğüm gerçek: ‘real-time’ diye başlanan proje ‘micro-batch 5 dk’ olarak doğuyor çünkü Iceberg compaction maliyeti hesaba katılmıyor. Doğru pattern: CDC + Kafka + Iceberg + saatte 1 compaction job. Bu üçlü doğru kalibre edildiğinde freshness 30 saniyenin altına iniyor, maliyet batch pipeline’ın 1.4 katı civarında kalıyor. — Ömer ÖNAL

Yorum Yap

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir