Apache Icebergとは?
あぱっちあいすばーぐ
Apache IcebergとはPetaバイト規模の大規模テーブルを効率よく管理するために設計されたオープンソースのテーブルフォーマット仕様です。
Apache Icebergは、データレイク上の大規模テーブルをリレーショナルデータベース的なセマンティクスで扱えるよう設計されたオープンテーブルフォーマットです。Netflixが社内のデータ基盤課題を解決するために開発し、後にApacheプロジェクトとして公開されました。
従来のHiveテーブルが抱えていた次のような問題を解決します。
- スキーマの変更やパーティション変更が困難
- 同時書き込みによるデータの一貫性破壊
- 大量の小さなファイルによるクエリ性能低下
Icebergはメタデータ管理の仕組みが優れており、スナップショットベースのバージョン管理によってタイムトラベル(過去時点のデータへのクエリ)や、ロールバックが可能です。また、隠しパーティション機能により、クエリ側でパーティション列を意識しなくても自動的に適切なパーティションへアクセスできます。
TrinoやApache Spark、Flinkなどの主要な分散処理エンジンがIcebergをサポートしており、複数エンジンが同じテーブルを読み書きするマルチエンジン環境でも整合性を保てます。現代のデータレイクハウスアーキテクチャの基盤技術として広く採用されています。
使い方・例文
データエンジニアリングチームがS3上のログデータをIcebergテーブルとして管理し、Sparkでの日次バッチ処理とTrinoによるアドホッククエリを同じテーブルに対して同時実行するシステム構成で使われます。
この用語をシェア
最終更新: