本文へスキップ

Apache Icebergとは?

あぱっちあいすばーぐ

Apache IcebergとはPetaバイト規模の大規模テーブル効率よく管理するために設計されたオープンソースのテーブルフォーマット仕様です。

Apache Icebergは、データレイク上の大規模テーブルリレーショナルデータベース的なセマンティクスで扱えるよう設計されたオープンテーブルフォーマットです。Netflixが社内のデータ基盤課題を解決するために開発し、後にApacheプロジェクトとして公開されました。

従来のHiveテーブルが抱えていた次のような問題を解決します。

  • スキーマの変更やパーティション変更が困難
  • 同時書き込みによるデータの一貫性破壊
  • 大量の小さなファイルによるクエリ性能低下

Icebergはメタデータ管理の仕組みが優れており、スナップショットベースのバージョン管理によってタイムトラベル(過去時点のデータへのクエリ)や、ロールバックが可能です。また、隠しパーティション機能により、クエリ側でパーティション列を意識しなくても自動的に適切なパーティションへアクセスできます。

TrinoやApache Spark、Flinkなどの主要な分散処理エンジンがIcebergをサポートしており、複数エンジンが同じテーブルを読み書きするマルチエンジン環境でも整合性を保てます。現代のデータレイクハウスアーキテクチャの基盤技術として広く採用されています。

使い方・例文

データエンジニアリングチームがS3上のログデータをIcebergテーブルとして管理し、Sparkでの日次バッチ処理とTrinoによるアドホッククエリを同じテーブルに対して同時実行するシステム構成で使われます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語