「データレイクとデータウェアハウス、両方の良さを取りたい」というのは、データ基盤の長年の願いでした。レイクは安く何でも貯められるけど、ACIDトランザクションや高速クエリは弱い。DWHは速くて整っているけど、生データや非構造化に弱い。これを両立させようとするのが「レイクハウス」で、それを技術的に成立させているのが、新世代の「テーブルフォーマット」です。

Apache Iceberg・Delta Lake・Apache Hudiの3つが、レイクハウステーブルフォーマットの三強です。どれもParquetなどのファイル群にメタデータを足し、「ファイルの集まり」を「ACIDテーブル」として扱えるようにします。3者の違いと選び方を整理します。

なぜテーブルフォーマットが必要か

クラウドストレージ(S3、GCS、ADLS)はファイルが安く貯められますが、「テーブル」としての性質、つまり一貫性、トランザクション、スキーマ進化、過去への参照といったものは持ちません。Parquetファイルが複数あっても、それは「ファイルの集まり」であって「テーブル」ではないのです。

機能素のParquetファイル群テーブルフォーマット
ACIDトランザクション無しあり
UPDATE/DELETE難しいサポート
タイムトラベル無し過去時点を参照
スキーマ進化手作業安全に変更
同時書き込み衝突する正しく管理
パーティション運用固定動的に進化

「ファイル群にメタデータを足して、テーブルとして振る舞わせる」というのがテーブルフォーマットの中核です。レイクハウスの考え方はDatabricksとはでも触れています。

3つのテーブルフォーマット比較

Apache IcebergDelta LakeApache Hudi
発祥Netflix(2017)Databricks(2019)Uber(2017)
運営Apacheソフトウェア財団Linux FoundationApacheソフトウェア財団
強み高度なメタデータ管理・ベンダー中立Spark/Databricksとの統合・運用の安定更新と削除の高速性・CDC連携
主なエンジン対応Spark/Flink/Trino/Snowflake/BigQuerySpark/Databricks/各社対応拡大中Spark/Flink/Presto
商用バックアップTabular(Databricks買収)他DatabricksOnehouse他
採用が広い領域ベンダー中立な企業データ基盤Databricks中心のデータ基盤更新の多い業務データ

2024年にDatabricksがIcebergの主要商用プレイヤー「Tabular」を買収したことで、Delta vs Icebergの「対立」構造が崩れ、業界全体としてIceberg互換性を重視する流れが強まっています。3者は実装の違いより「どのエコシステムで動かすか」が選定の主軸になってきています。

それぞれの特徴

Apache Iceberg

Netflixで生まれ、いまや「ベンダー中立な業界標準」として急速に支持を広げている。メタデータ管理が3層構造(catalog、manifest list、manifest)で、巨大テーブルでも効率的に動く。SnowflakeとBigQueryが両方Iceberg対応を強化しており、「データを1か所に置き、複数のエンジンから読む」アーキテクチャの中核として注目される。詳細はApache Iceberg とはで扱う。

Delta Lake

Databricks発で、最も成熟したテーブルフォーマット。Spark/Databricksとの統合が深く、運用ノウハウが豊富だ。Linux Foundationに移管されてOSSとして広がり、Databricksユーザー以外でも採用が広がっている。Delta UniFormという機能で、IcebergとHudiとも読み取り互換が取れるようになり、選択の自由度が増している。詳細はDelta Lake とはで扱う。

Apache Hudi

Uberで生まれ、特に「データ更新と削除の高速性」「CDC統合」に強みを持つ。Copy-on-WriteとMerge-on-Readの2つのストレージタイプを使い分けられ、ユースケースに応じた最適化ができる。IcebergとDeltaに比べると採用は限定的だが、CDC中心のリアルタイム系で評価されている。詳細はApache Hudi とはで扱う。

クラウドDWHでの対応状況

主要クラウドDWHの対応は、ここ1〜2年で急速に進みました。

DWHIcebergDelta LakeHudi
SnowflakeExternal Tables・Native Iceberg Tablesで対応External Tablesで読み取りExternal Tablesで限定的
BigQueryBigLake Tablesで対応BigLake Tablesで読み取りBigLake Tablesで限定的
DatabricksUniForm経由で対応ネイティブ・最深サポート
Athenaネイティブ読み取り対応読み取り対応

各クラウドDWHの基本はクラウドDWH入門、Snowflake・BigQuery・Databricksの個別解説はSnowflakeとはBigQueryとはDatabricksとはを参照してください。

選定の判断軸

判断軸選び方
ベンダー中立性を重視Iceberg(複数DWHで読み書き)
Databricks中心のデータ基盤Delta Lake(最深の統合)
更新・削除が多いデータ(CDC等)Hudi検討、ただしIceberg/Deltaも進化中
新規プロジェクトIcebergかDelta(採用人口が多い)
既存資産既存のDeltaやHudi資産を活かす

「最新の技術選定」の正解はIcebergですが、「既にDatabricksで作り込んでいる」資産があるなら、Delta Lakeの活用が現実的です。Hudiは特殊要件向けという立ち位置に落ち着きつつあります。

レイクハウスとdbt・データモデリングの関係

テーブルフォーマットは「データの置き場所」を提供します。その上で「どうモデリングするか」は別の話で、dbt(dbt実装ガイド)、メダリオン(メダリオンアーキテクチャ)、Data Vault(Data Vault 2.0)といったモデリング手法と組み合わせて使います。「Icebergで作ったSilver層を、dbtでGoldマートに変換する」という構成は、現代の典型的なレイクハウスアーキテクチャです。

まとめ

  • テーブルフォーマットは「ファイル群をACIDテーブルに変える」レイクハウスの中核技術。
  • 三強はApache Iceberg・Delta Lake・Apache Hudi。Iceberg=ベンダー中立、Delta=Databricks統合最深、Hudi=更新の多い領域。
  • 主要クラウドDWHはどれも Iceberg・Delta 対応を強化中。Hudiは限定的。
  • 新規プロジェクトはIcebergが安全な選択。既存Delta資産は活かす。
  • テーブルフォーマットは「置き場」、その上のモデリング(dbt・メダリオン・Data Vault)と組み合わせて使う。

各テーブルフォーマットの詳細はApache Iceberg とはDelta Lake とはApache Hudi とはにまとめています。レイクハウスの設計や移行の壁打ちは、DE-STKの初回相談(30分・無料)もご利用ください。

よくある質問(FAQ)

Q. なぜいま、テーブルフォーマットがホットなのですか?

A. 「データのロックインを避けたい」「複数のクエリエンジンから同じデータを読みたい」というニーズが強まったためです。従来は「Snowflakeに入れたデータはSnowflakeでしか使えない」のが常識でしたが、Icebergが普及することで、同じデータをSnowflake・BigQuery・Databricks・Trinoから読める世界が現実になりました。データのオープン化と相互運用性が、テーブルフォーマット競争の本質です。

Q. ParquetやAvroと何が違うのですか?

A. Parquet/Avroは「ファイル形式」で、データそのもののエンコード方法です。Iceberg/Delta/Hudiは「テーブルフォーマット」で、複数のファイル(多くはParquet)の集まりを「テーブル」として扱うためのメタデータの仕組みです。「Parquetは紙、テーブルフォーマットはファイリングシステム」のような関係です。

Q. Databricksユーザーは、Delta以外を選ぶ理由がありますか?

A. 同じ場所のデータを他のクラウドDWHからも読みたい場合、Iceberg互換のUniForm形式で書く選択肢があります。Databricksで作ったテーブルをSnowflakeやBigQueryから直接読めるようになります。Delta Lakeのまま運用しつつ、Iceberg互換も持つ、というハイブリッド構成です。

Q. テーブルフォーマットを変えるのは難しいですか?

A. 既存データの変換が必要なので、ゼロコストではありません。ただし、データの「再書き込み」だけで済むケースが多く、ロジック側の変更は最小限です。新規テーブルから新しいフォーマットで作る、既存はそのまま、という段階的な移行が現実的です。一気に全テーブル変換すると停止時間が長くなるため、段階移行が安全です。