Apache Iceberg のロゴ

Apache Iceberg / リリースノート / 2026/03/10 / 重要

Apache Iceberg Rust 0.9.0 リリース解説: storage abstraction と DataFusion 書き込みがさらに前進

セキュリティ

公式リリースノート

Apache Iceberg Rust 0.9.0 は、storage abstraction、DataFusion SQL、reader performance、decimal precision、REST catalog security などを進めるリリースです。公式記事では、2026年1月上旬から3月上旬までの開発成果として、109件の pull request、28人の contributor、8人の new contributor が紹介されています。

要点

  • 新しい trait-based storage architecture により、storage backend を core library から切り離しやすくなった
  • LocalFsStorage と MemoryStorage が native implementation として入り、OpenDAL storage は別 crate に移された
  • DataFusion では CREATE TABLE、DROP TABLE、LIMIT / predicate pushdown、INSERT INTO が強化された
  • Arrow reader は byte range coalescing、single-threaded fast path、metadata size hints などで I/O overhead を減らす方向へ進んだ
  • fastnum への置き換えにより、Iceberg spec が求める 38-digit decimal precision を満たす
  • sensitive headers を error logs から除外する REST catalog security fix も含まれる

今回の更新で何が変わるのか

Rust 0.9.0 の最大の変化は、storage backend を trait-based architecture で扱うようにしたことです。Storage trait が file I/O の extension point になり、LocalFsStorage と MemoryStorage が native implementation として追加されました。OpenDAL-based storage は iceberg-storage-opendal crate に移され、core library を軽く保ちながら optional dependency として OpenDAL support を維持する構成になっています。

DataFusion integration では、CREATE TABLE と DROP TABLE を DataFusion SQL から扱えるようになり、LIMIT pushdown、Boolean / IsNaN / Timestamp / Binary / LIKE / StartsWith predicates の pushdown、INSERT INTO による Iceberg table への書き込み、partitioned writes に対する sort-based clustering が加わっています。DataFusion を query engine として使う環境では、Iceberg table がより native な対象になっていく流れです。

Reader performance では、byte range coalescing、single-concurrency fast path、Parquet metadata size hint、file size propagation、builder overhead reduction など、細かい I/O overhead を減らす変更が並びます。さらに rust_decimal から fastnum へ移行し、Iceberg specification に必要な 38-digit decimal precision に対応した点は、金融・会計・高精度数値を扱う table で重要です。

対象になりそうなユーザー・チーム

  • Rust / DataFusion ベースの analytical runtime を開発しているチーム
  • Iceberg table への write path を Rust から扱いたい開発者
  • storage backend を独自に差し替えたい platform engineer
  • decimal precision、predicate pushdown、REST catalog security を重視するデータ基盤チーム

実務でまず確認したいこと

  1. OpenDAL storage 依存が iceberg-storage-opendal への分離に対応できるか確認する
  2. Rust 1.92.0 への MSRV 引き上げが CI / build image と衝突しないか見る
  3. Decimal 型を使う table で 38-digit precision と hashing の挙動を検証する
  4. DataFusion SQL からの create / insert / pushdown が自社 workload で正しく効くか確認する
  5. REST catalog error logging に credential が残らないことを確認する

どう読むべきか

Rust 0.9.0 は、Iceberg Rust をより production-oriented な component に近づける release です。特に storage abstraction と DataFusion SQL support は、今後の Rust-native lakehouse stack に効いてきます。一方で storage architecture、MSRV、decimal implementation には breaking change があるため、既存利用者は dependency と runtime の棚卸しをしてから上げるのが安全です。