Apache Iceberg / リリースノート / 2026/01/26 / 通常
Apache Iceberg C++ 0.2.0 リリース解説: REST Catalog と table operation が実用域へ近づく
公式リリースノート
Apache Iceberg C++ 0.2.0 は、C++ 実装が Iceberg metadata を読めるライブラリ から、table scan、table update、REST Catalog、expression 評価まで含む実装へ進むリリースです。公式記事では、200件以上の pull request と 23人の contributor による更新として紹介されています。
要点
- v2 delete と metadata column read を含む table scan / data access が強化された
- schema evolution、table property、sort order、partition spec、location、statistics などの table update に対応した
- REST Catalog client が namespace 操作と table CRUD を広く扱えるようになった
- expression framework、metrics evaluator、residual evaluator など、scan planning に必要な土台が増えた
- 0.3.0 に向けた継続開発が進んでおり、C++ 組み込みや native engine からの Iceberg 利用に関係する
今回の更新で何が変わるのか
C++ 0.2.0 の中心は、Iceberg table を C++ から安全に扱うための基礎機能が一気に増えたことです。Table scan では v2 delete、metadata column、manifest reader の projection / filtering、Arrow C Stream integration を伴う file scan task reader が入り、単に metadata JSON を読む段階から実際の scan planning に近づいています。
Table operation では schema evolution、properties、sort order、partition spec、location、statistics の更新、さらに fast append を含む transaction API が示されています。Iceberg では snapshot と metadata 更新の整合性が重要なので、C++ 側で table update と transaction の土台が整うことは、native engine や組み込み処理から Iceberg table を扱ううえで意味があります。
REST Catalog の対応も大きいです。namespace 操作、create / load / drop / list / update / stage-create table operation、integration test coverage が入ったことで、catalog interoperability の話が C++ 実装にも広がります。
対象になりそうなユーザー・チーム
- C++ ベースの query engine、storage engine、組み込み分析基盤を開発しているチーム
- Iceberg table を Java / Spark 以外の runtime から直接扱いたい開発者
- REST Catalog を中心に multi-engine Iceberg 運用を考えている platform team
- native execution や Arrow C Stream 連携を重視するデータ基盤チーム
実務でまず確認したいこと
- 自社の利用 engine が C++ Iceberg 実装を直接使う計画を持っているか確認する
- v2 delete、schema evolution、transaction API など、必要な table semantics がどこまで実装されているか見る
- REST Catalog と既存 catalog の compatibility を検証する
- production 利用では、0.2.0 の範囲と次の 0.3.0 roadmap を切り分けて判断する
どう読むべきか
このリリースは、今すぐ全ての C++ ワークロードで Iceberg が完成した、という話ではありません。むしろ、native implementation が table scan、catalog、metadata update、expression evaluation の主要部品をそろえ始めたことが読みどころです。Iceberg を複数言語・複数エンジンで共通 table format として使うなら、C++ 実装の成熟は将来の engine integration に効いてきます。