Iceberg mi Hudi mi? Hızlı Karar Rehberi
Apache Iceberg, 2026 yılında lakehouse tablo formatı seçiminde fiili standart haline gelmiştir; geniş motor desteği, güçlü şema evrimi ve büyük bulut sağlayıcılarının (Snowflake, Databricks, AWS, Google) arkasında durmasıyla yeni projelerin çoğu için doğru tercihtir. Apache Hudi ise düşük gecikmeli upsert, sık güncellenen akış (streaming) iş yükleri ve değişiklik verisi yakalama (CDC) senaryolarında hâlâ güçlü bir alternatiftir. Eğer büyük veri analitiği, geniş motor ekosistemi ve uzun vadeli standartlaşma istiyorsanız Iceberg’i; eğer dakika altı gecikmeyle sürekli güncellenen tablolar ve agresif upsert performansı istiyorsanız Hudi’yi seçin.
2024’te Databricks’in Tabular’ı (Iceberg’in ticari kurucusu) yaklaşık 1 milyar dolar değerleme civarında satın alması ve Snowflake’in Polaris katalogunu açık kaynaklaştırması, Iceberg’i sektörün ortak buluşma noktası yaptı. Bu yazıda Iceberg, Hudi ve Delta Lake’i şema evrimi, upsert performansı, motor desteği ve maliyet boyutlarında somut verilerle karşılaştırıyorum. Bu seçim, daha geniş lakehouse mimarisi kararlarınızın temelini oluşturur.

Lakehouse Tablo Formatı Neden Önemli?
Geleneksel veri gölleri (data lake), nesne depolamada (S3, GCS, ADLS) ham Parquet dosyaları tutar; ancak bu dosyalar üzerinde ACID işlemleri, şema evrimi ve zaman yolculuğu (time travel) gibi veri ambarı özellikleri yoktur. Tablo formatları tam da bu boşluğu doldurur: nesne deposundaki dosyaların üzerine bir metadata katmanı ekleyerek hangi dosyaların hangi tablo sürümüne ait olduğunu, şemanın nasıl evrildiğini ve işlemlerin atomik olduğunu garanti eder.
Bu metadata katmanı sayesinde lakehouse mimarisi şu yetenekleri kazanır:
- ACID işlemler: Eşzamanlı yazmalar tutarlı kalır; yarım kalan işlemler tabloyu bozmaz.
- Şema evrimi: Sütun ekleme, silme, yeniden adlandırma mevcut veriyi yeniden yazmadan yapılır.
- Zaman yolculuğu: Tablonun geçmiş bir anlık görüntüsünü (snapshot) sorgulayabilirsiniz.
- Bölümleme evrimi: Iceberg’de bölümleme stratejisi tabloyu yeniden yazmadan değiştirilebilir (gizli bölümleme).
- Upsert/delete: Satır düzeyinde güncelleme ve silme nesne depolama üzerinde mümkün olur.
Üç büyük açık format bu yetenekleri farklı tasarım felsefeleriyle sunar: Apache Iceberg motor bağımsızlığa, Apache Hudi düşük gecikmeli upsert’e, Delta Lake ise Spark/Databricks entegrasyonuna odaklanır.
Bu metadata katmanının değeri, ölçek büyüdükçe katlanarak artar. Petabayt ölçeğindeki bir veri gölünde, hangi dosyaların bir sorguya dahil olması gerektiğini metadata olmadan belirlemek tüm dizini listelemeyi gerektirir; bu da hem yavaş hem pahalıdır. Iceberg gibi formatlar, manifest dosyaları ve istatistiklerle dosya budama (file pruning) yaparak sorgu motorunun yalnızca ilgili dosyaları okumasını sağlar. Bu, doğrudan sorgu süresine ve bulut tarama maliyetine yansıyan somut bir kazançtır. Tablo formatı seçimi bu nedenle yalnızca bir özellik kararı değil, aynı zamanda bir performans ve maliyet kararıdır. Genel veri mühendisliği stratejinizde bu katmanın doğru tasarlanması uzun vadeli verimliliği belirler.
Apache Iceberg: Açık Standart Adayı
Netflix tarafından geliştirilip Apache Software Foundation’a bağışlanan Iceberg, motor bağımsızlığını merkeze koyar. Bir Iceberg tablosu Spark, Flink, Trino, Presto, Snowflake, Dremio, BigQuery ve daha pek çok motordan okunup yazılabilir. Bu, “tek bir veri kopyası, çok motor” vizyonunu mümkün kılar ve veri silolarını ortadan kaldırır.
Iceberg’in öne çıkan özellikleri şunlardır:
- Gizli bölümleme (hidden partitioning): Kullanıcı bölümleme sütununu bilmek zorunda kalmaz; sorgular bölümleme detayından soyutlanır ve yanlış bölüm filtresi kaynaklı tam tarama riski azalır.
- Tam şema evrimi: Sütunlar benzersiz ID ile izlendiği için yeniden adlandırma güvenlidir; konum bağımlılığı yoktur.
- Snapshot tabanlı izolasyon: Her commit yeni bir snapshot üretir; okuyucular her zaman tutarlı bir görünüm görür.
- Katalog esnekliği: REST katalog, AWS Glue, Nessie, Polaris gibi çoklu katalog seçenekleri sunar.
2024-2025 döneminde Snowflake, Databricks (Tabular satın alımıyla), AWS (S3 Tables) ve Google’ın Iceberg’e güçlü destek vermesi, formatı sektörün ortak paydası haline getirdi. Yeni bir lakehouse projesi başlatıyorsanız Iceberg en güvenli uzun vadeli bahistir. Teknik şartname ve katalog mimarisi için Apache Iceberg resmi dokümantasyonu başvuru kaynağıdır.
Iceberg’in snapshot tabanlı mimarisi, zaman yolculuğunun ötesinde güçlü operasyonel yetenekler getirir. Yanlış bir yükleme yapıldığında, tabloyu önceki bir snapshot’a geri almak (rollback) tek bir komutla mümkündür; bu, üretim veri hatalarından kurtarmayı dramatik biçimde kolaylaştırır. Ayrıca branch ve tag özellikleri, Git benzeri bir veri sürüm yönetimi sağlayarak deneysel dönüşümleri üretim verisini bozmadan test etmeyi mümkün kılar. Bu yetenekler, Iceberg’i yalnızca bir depolama formatı değil, olgun bir veri yönetim katmanı haline getirir.

Apache Hudi: Upsert ve Streaming Şampiyonu
Uber tarafından kendi devasa veri pipeline’ları için geliştirilen Hudi (Hadoop Upserts Deletes and Incrementals), adından da anlaşılacağı gibi upsert ve artımlı (incremental) işleme konusunda doğdu. Sık güncellenen, CDC kaynaklı veya akış halinde gelen verilerde Hudi’nin tasarımı belirgin avantaj sağlar.
Hudi iki temel tablo tipi sunar:
- Copy on Write (CoW): Her güncelleme ilgili dosyayı yeniden yazar. Okuma performansı yüksek, yazma maliyeti daha fazla. Okuma ağırlıklı iş yükleri için idealdir.
- Merge on Read (MoR): Güncellemeler delta log dosyalarına yazılır, okuma sırasında birleştirilir. Yazma gecikmesi düşük; sık upsert yapan akış iş yükleri için idealdir.
Hudi ayrıca yerleşik tablo servisleri (compaction, clustering, cleaning) ve güçlü artımlı sorgu yetenekleri sunar; bu da onu CDC ve gerçek zamanlıya yakın veri akışları için cazip kılar. Trade-off, Iceberg’e kıyasla daha dik bir operasyonel ayar gereksinimidir; CoW/MoR seçimi, compaction zamanlaması ve dosya boyutu ayarı dikkat ister. Yapılandırma seçenekleri için Apache Hudi resmi dokümantasyonu kapsamlı bir rehberdir.
Hudi’nin artımlı sorgu (incremental query) yeteneği, ham tablodan yalnızca son commit’ten bu yana değişen kayıtları çekmeyi sağlar. Bu, geleneksel batch ETL’in tüm tabloyu yeniden işleme zorunluluğunu ortadan kaldırarak medallion mimarisinde (bronze-silver-gold) katmanlar arası akışı verimli kılar. Uber gibi devasa ölçekli, sürekli güncellenen veri ortamlarında Hudi’nin bu tasarımı, hesaplama maliyetini önemli ölçüde düşürür. CDC kaynaklı akışları yöneten ekipler için bu, format kararının belirleyici faktörü olabilir.
| Özellik | Apache Iceberg | Apache Hudi | Delta Lake |
|---|---|---|---|
| Köken | Netflix | Uber | Databricks |
| Ana güç | Motor bağımsızlığı | Upsert/streaming | Spark entegrasyonu |
| Şema evrimi | Tam (ID bazlı) | İyi | İyi |
| Bölümleme evrimi | Var (gizli) | Sınırlı | Sınırlı |
| Motor desteği | Çok geniş | Geniş | Spark merkezli |
| Upsert gecikmesi | Orta | Düşük (MoR) | Orta |
Delta Lake ile Üçlü Karşılaştırma
Üçüncü büyük format Delta Lake, Databricks’in geliştirdiği ve Spark ekosistemiyle sıkı entegre bir formattır. Delta’nın güçlü yanı, Databricks platformuyla kusursuz çalışması ve olgun bir transaction log (Delta Log) mimarisidir. Ancak motor bağımsızlığı tarihsel olarak Iceberg kadar geniş olmamıştır. Platform tercihi yaparken bu format kararını bulut veri platformu stratejinizle birlikte değerlendirmek kritiktir.
2024’te Databricks’in Iceberg uyumluluğunu artırma yönündeki UniForm gibi adımları, iki format arasındaki sınırı bulanıklaştırmaya başladı. Bu, sektörün Iceberg’i ortak metadata standardı olarak benimseme eğilimini güçlendiriyor. Delta’nın teknik ayrıntıları için Delta Lake resmi dokümantasyonu başvuru kaynağıdır. Aşağıdaki tablo seçim kararını iş yükü tipine göre özetler:
| İş yükü | Önerilen format | Gerekçe |
|---|---|---|
| Genel analitik, çok motor | Iceberg | Geniş motor desteği, standart |
| Sık upsert, CDC | Hudi (MoR) | Düşük yazma gecikmesi |
| Databricks merkezli | Delta Lake | Yerel entegrasyon |
| Streaming-batch karışık | Hudi | Artımlı sorgu yetenekleri |
| Uzun vadeli açıklık | Iceberg | Bulut sağlayıcı konsensüsü |

Maliyet Analizi: Depolama, Hesaplama ve Bakım
Tablo formatı seçimi doğrudan bulut maliyetinizi etkiler. Üç maliyet kalemi belirleyicidir: nesne depolama (storage), sorgu hesaplama (compute) ve operasyonel bakım. MoR tablolarda compaction maliyeti, CoW tablolarda yazma amplifikasyonu (write amplification) öne çıkar. Iceberg’in snapshot biriktirmesi düzenli temizlenmezse depolama maliyeti şişer.
| Maliyet boyutu | Iceberg | Hudi (MoR) | Hudi (CoW) |
|---|---|---|---|
| Yazma amplifikasyonu | Orta | Düşük | Yüksek |
| Okuma performansı | Yüksek | Orta (merge yükü) | Yüksek |
| Compaction maliyeti | Düşük | Yüksek | Yok |
| Snapshot depolama | Orta (temizlik şart) | Orta | Orta |
| Operasyonel ayar | Düşük | Yüksek | Orta |
| Metadata maliyeti | Düşük | Orta | Düşük |
Pratik öneri: Iceberg tablolarında expire_snapshots ve remove_orphan_files bakım işlerini düzenli çalıştırın; Hudi’de compaction ve cleaning servislerini iş yükünüze göre zamanlayın. İyi ayarlanmamış bir tablo, format ne olursa olsun gereksiz bulut faturası üretir.
Format seçimini iş yükü desenine göre netleştirmek için aşağıdaki karar tablosu, en sık karşılaşılan senaryoları ve her birinde belirleyici teknik faktörü özetler:
| Senaryo | Veri deseni | Önerilen | Belirleyici faktör |
|---|---|---|---|
| Çok motorlu BI/analitik | Append ağırlıklı | Iceberg | Motor bağımsızlığı |
| Veritabanı CDC senkronu | Sık upsert | Hudi (MoR) | Düşük yazma gecikmesi |
| GDPR silme talepleri | Satır silme | Iceberg/Hudi | Satır düzeyi delete |
| Databricks ML platformu | Karışık | Delta Lake | Yerel entegrasyon |
| Gerçek zamanlıya yakın analitik | Streaming | Hudi | Artımlı sorgu |
| Uzun vadeli arşiv + erişim | Nadir güncelleme | Iceberg | Şema evrimi dayanıklılığı |

Tipik Sorunlar ve Çözümleri
Lakehouse tablo formatı kullanan ekiplerin en sık karşılaştığı sorunlar küçük dosya birikimi, metadata şişmesi ve yanlış format seçiminden kaynaklanır. Aşağıdaki maddeler en kritik tuzakları ve çözümlerini sıralar:
- Küçük dosya sorunu (small files): Sık yazma binlerce minik dosya üretir, sorgu yavaşlar. Çözüm: Iceberg’de compaction (rewrite_data_files), Hudi’de clustering/compaction servislerini düzenli çalıştır.
- Snapshot/log birikmesi: Temizlenmeyen geçmiş sürümler depolamayı şişirir. Çözüm: snapshot expiration ve orphan file temizliği zamanla.
- Yanlış format seçimi: Sık upsert iş yükü için Iceberg seçmek gecikme yaratır. Çözüm: streaming/CDC için Hudi MoR, analitik için Iceberg değerlendir.
- Katalog karmaşası: Birden çok motor farklı kataloğa yazınca tutarsızlık çıkar. Çözüm: REST katalog (Polaris, Nessie, Glue) ile tek otorite belirle.
- Şema evrimi kazaları: Konum bazlı sütun eşleme bozulur. Çözüm: Iceberg’in ID bazlı şema evrimini kullan, yeniden adlandırmayı güvenle yap.
- MoR okuma yavaşlığı: Birleştirme yükü sorguları yavaşlatır. Çözüm: compaction sıklığını artır, okuma-optimize görünümü kullan.
Sonuç
2026’da lakehouse tablo formatı seçiminde Apache Iceberg, geniş motor desteği, güçlü şema ve bölümleme evrimi ve büyük bulut sağlayıcılarının konsensüsüyle yeni projeler için en güvenli standarttır. Apache Hudi, düşük gecikmeli upsert, CDC ve streaming iş yüklerinde teknik üstünlüğünü korur; sık güncellenen tablolarınız varsa MoR tablo tipi belirgin avantaj sağlar. Delta Lake ise Databricks merkezli ekipler için doğal seçim olmayı sürdürür, ancak UniForm gibi adımlarla Iceberg uyumluluğuna yöneliyor. Karar, iş yükü profilinizden başlar: çok motorlu açık analitik için Iceberg, agresif upsert için Hudi. Hangi formatı seçerseniz seçin, compaction ve snapshot temizliği gibi bakım disiplini maliyeti kontrol altında tutmanın anahtarıdır.
Sıkça Sorulan Sorular
Iceberg mi Hudi mi seçmeliyim?
Çok motorlu (Spark, Trino, Flink, Snowflake) genel analitik ve uzun vadeli standartlaşma istiyorsanız Iceberg’i seçin. Sık güncellenen, CDC kaynaklı veya akış halinde gelen veride dakika altı gecikme ve agresif upsert performansı önceliğinizse Hudi’yi, özellikle Merge on Read tablo tipiyle seçin. Karar iş yükü profilinizle başlar.
Iceberg neden fiili standart haline geldi?
Iceberg’in motor bağımsızlığı, ID bazlı tam şema evrimi ve gizli bölümlemesi onu teknik olarak güçlü kıldı. Bunun üzerine Snowflake, Databricks (Tabular satın alımı), AWS (S3 Tables) ve Google’ın güçlü desteği eklenince Iceberg sektörün ortak metadata paydası haline geldi.
Hudi’de Copy on Write ile Merge on Read arasındaki fark nedir?
Copy on Write her güncellemede ilgili veri dosyasını yeniden yazar; okuma hızlıdır ama yazma maliyeti yüksektir, okuma ağırlıklı iş yükleri için uygundur. Merge on Read güncellemeleri delta log dosyalarına yazar ve okuma sırasında birleştirir; yazma gecikmesi düşüktür, sık upsert yapan streaming iş yükleri için idealdir.
Delta Lake hâlâ geçerli bir seçim mi?
Evet, özellikle Databricks platformunu yoğun kullanan ekipler için Delta Lake yerel entegrasyonu ve olgun transaction log mimarisiyle güçlü bir seçimdir. UniForm gibi özelliklerle Iceberg metadata uyumluluğu da artıyor, bu da iki format arasındaki geçişi kolaylaştırıyor.
Tablo formatı bulut maliyetimi nasıl etkiler?
Format seçimi yazma amplifikasyonu, compaction maliyeti ve depolama birikimi üzerinden faturayı doğrudan etkiler. CoW tablolar yazma maliyetini, MoR tablolar compaction maliyetini artırır; temizlenmeyen snapshot’lar depolamayı şişirir. Düzenli compaction, snapshot expiration ve orphan file temizliği maliyeti kontrol altında tutmanın anahtarıdır.










Ömer ÖNAL
Haziran 9, 2026Müşterilerime şunu söylüyorum: yeni bir lakehouse kuruyorsanız Iceberg’le başlayın, çünkü bulut sağlayıcı konsensüsü uzun vadeli riskinizi düşürür. Ama elinizde Uber tarzı saniye saniye güncellenen, CDC ağırlıklı bir akış varsa Hudi MoR’u görmezden gelmeyin. Asıl hata format savaşına takılmak değil, compaction ve snapshot temizliğini ihmal etmektir. İyi ayarlanmamış tablo, hangi formatta olursa olsun bulut faturanızı sessizce şişirir.