Komunitas Apache Iceberg telah secara resmi meratifikasi spesifikasi V3, menandai pencapaian penting bagi teknologi data lakehouse. Namun, diskusi dalam komunitas pengembang mengungkapkan bahwa meskipun spesifikasi ini menjanjikan peningkatan besar, jalan menuju adopsi yang luas menghadapi beberapa hambatan implementasi.
Fitur Utama Apache Iceberg V3:
- Deletion Vectors: Bitmap biner menggunakan kompresi bitmap Roaring untuk penghapusan tingkat baris yang efisien
- Default Column Values: Evolusi skema instan tanpa penulisan ulang file data
- Row-Level Lineage: Dukungan auditing yang ditingkatkan dan pipeline CDC
- Rich Data Types: Tipe VARIANT untuk JSON, tipe GEOMETRY/GEOGRAPHY, timestamp dengan presisi nanodetik
Jadwal Rilis Menciptakan Kebingungan di Kalangan Pengguna
Anggota komunitas secara aktif mencari kejelasan tentang kapan fitur-fitur V3 akan benar-benar tersedia. Spesifikasi telah diratifikasi, namun jadwal implementasi masih belum jelas bagi banyak pengguna. Apache Iceberg versi 1.10 diperkirakan menjadi rilis pertama yang mendukung fitur-fitur V3, meskipun tidak semua kemampuan akan langsung tersedia di berbagai query engine seperti Spark atau Flink. Beberapa fitur V3, termasuk variant types dan column lineages, telah muncul di versi 1.9.0, namun tanpa dukungan engine yang luas untuk penggunaan praktis.
Timeline Implementasi:
- Spesifikasi V3: Telah diratifikasi (saat ini)
- Apache Iceberg 1.9.0: Beberapa fitur V3 tersedia (tipe varian, lineage kolom)
- Apache Iceberg 1.10: Diharapkan menjadi rilis pertama dengan dukungan V3 penuh
- Dukungan Query Engine: Peluncuran bertahap di seluruh engine Spark , Flink , dan engine lainnya
Kekhawatiran Kematangan Ekosistem di Luar Java
Ekosistem Iceberg yang lebih luas menghadapi tantangan kematangan yang signifikan di luar lingkungan Java. Implementasi iceberg-rust tidak memiliki dukungan untuk HDFS, menyoroti kesenjangan dalam library non-Java. Pola ini mencerminkan pengembangan historis library Apache Arrow dan Parquet, di mana diperlukan waktu yang cukup lama bagi implementasi di berbagai bahasa pemrograman untuk mencapai kesetaraan fitur.
Library level storage APIs kompleks dan seringkali cukup bocor. Tampaknya sangat mungkin bahwa akan ada mungkin tiga library yang dapat menulis ke Iceberg (Java, Python, Rust, mungkin Golang), sementara sisanya paling banter hanya akan menawarkan akses baca saja.
Kompleksitas storage APIs menunjukkan bahwa hanya sejumlah terbatas bahasa pemrograman yang mungkin mencapai kemampuan tulis penuh, berpotensi membatasi adopsi teknologi ini dalam lingkungan pengembangan yang beragam.
Status Dukungan Bahasa:
- Dukungan Penuh untuk Penulisan Diharapkan: Java , Python , Rust , kemungkinan Go
- Dukungan Terbatas: Sebagian besar bahasa lain kemungkinan hanya akses baca saja
- Keterbatasan yang Diketahui: iceberg-rust tidak memiliki dukungan HDFS
- Dokumentasi: Terutama tersedia dokumentasi API Java
Masalah Kejelasan Dokumentasi dan Spesifikasi
Umpan balik komunitas menunjukkan bahwa dokumentasi spesifikasi V3 memerlukan peningkatan untuk aksesibilitas yang lebih luas. Meskipun beberapa pengembang menganggap spesifikasi Iceberg lebih jelas dibandingkan alternatif seperti dokumentasi protokol Delta Lake, yang lain menunjukkan perlunya spesifikasi yang lebih mudah dibaca di luar dokumentasi Java API saat ini. Kesenjangan dokumentasi ini dapat memperlambat upaya implementasi di berbagai platform dan bahasa pemrograman.
Pertanyaan Kesiapan Produksi Masih Belum Terjawab
Meskipun fitur-fitur V3 seperti deletion vectors dan default column values menjanjikan secara teknis, komunitas masih kekurangan laporan pengalaman produksi yang konkret. Pengguna sangat ingin memahami implikasi kinerja di dunia nyata, namun data pengujian produksi yang komprehensif masih terbatas karena implementasi masih dalam tahap peluncuran.
Ratifikasi Apache Iceberg V3 mewakili kemajuan penting bagi teknologi data lakehouse, namun diskusi komunitas menyoroti bahwa persetujuan spesifikasi hanyalah awal dari perjalanan implementasi dan adopsi yang lebih panjang.
Referensi: A Deeper Dive into Apache Iceberg V3: How New Designs Are Solving Core Data Lake Challenges
![]() |
---|
Gambar ini menyoroti blog post yang membahas desain-desain baru dalam Apache Iceberg V3, menampilkan solusi untuk tantangan-tantangan inti data lake |