【アパッチアイスバーグ】

Apache Iceberg(アイスバーグ) とは?

最終更新:
💡 データレイクに「秩序」を与える氷山のような存在
📌 このページのポイント
Apache Iceberg テーブルフォーマット Spark Trino Flink Presto クエリエンジン Apache Iceberg(テーブルフォーマット) スキーマ進化 / タイムトラベル / パーティション進化 メタデータファイル スナップショット / マニフェスト スキーマ情報 カラム定義 / パーティション仕様 Parquet ORC Avro データファイル
Apache Icebergのアーキテクチャ
ひよこ ひよこ
データレイクって、ファイルをどんどん放り込むだけじゃダメなの?
ペンギン先生 ペンギン先生
それだと「どのファイルが最新?」「カラム追加したらどうなる?」が分からなくなるんだ。Icebergはファイル群に"テーブルの秩序"を与えてくれるフォーマットだよ
ひよこ ひよこ
スキーマ進化って何がうれしいの?
ペンギン先生 ペンギン先生
たとえばカラムを追加しても過去のデータはそのまま読めるし、カラムのリネームも安全にできる。普通のデータレイクだと全データの書き換えが必要になったりするんだ
ひよこ ひよこ
タイムトラベルって名前がかっこいいね!
ペンギン先生 ペンギン先生
実際にかっこいい機能だよ。「昨日の時点のテーブル状態でクエリしたい」ができるんだ。間違ってデータを消しても巻き戻せるから安心だね
ひよこ ひよこ
Delta LakeやHudiとの違いは?
ペンギン先生 ペンギン先生
どれもオープンテーブルフォーマットだけど、Icebergはエンジン非依存の設計が強みだよ。Sparkだけじゃなく、Trino、Flink、Prestoなど色々なエンジンから同じテーブルを読み書きできるんだ
ひよこ ひよこ
実際にどこで使われてるの?
ペンギン先生 ペンギン先生
NetflixやApple、LinkedInなどの大規模データ基盤で採用されているよ。最近はSnowflakeやDatabricksもIceberg対応を強化していて、業界標準になりつつあるんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
Apache Iceberg」って出てきたら「データレイクテーブルとして賢く管理するオープン規格」と思えればだいたいOK!
📖 おまけ:英語の意味
「Apache Iceberg」 = アパッチ氷山
💬 氷山のように見えている部分はわずかで、水面下に膨大なメタデータ管理の仕組みが隠れているイメージだよ
← 用語集にもどる