【デルタレイク】

Delta Lake(デルタレイク) とは?

💡 データレイクに「信頼性」というお墨付きを与える守護者
📌 このページのポイント
Delta Lake トランザクション管理 書き込み INSERT UPDATE / DELETE Delta Lake ACIDトランザクション スキーマ強制 / 進化 タイムトラベル トランザクション ログ v0.json v1.json ... Parquetデータファイル(クラウドストレージ上) S3 / ADLS / GCS v0 (過去) v1 v2 v3 (最新) タイムトラベル
Delta Lakeのトランザクション管理とタイムトラベル
ひよこ ひよこ

Delta Lakeって、普通のデータレイクと何が違うの?

ペンギン先生 ペンギン先生

普通のデータレイクはファイルを置くだけだから「途中で書き込みが失敗したら中途半端なデータが残る」問題があるんだ。Delta LakeはACIDトランザクションで「全部成功するか全部なかったことにするか」を保証してくれるよ

ひよこ ひよこ

トランザクションログって何を記録してるの?

ペンギン先生 ペンギン先生

テーブルに対するすべての操作をJSON形式で記録しているんだ。いつ誰がどのファイルを追加・削除したかが全部残るから、監査にも使えるし、過去の状態に巻き戻すこともできるよ

ひよこ ひよこ

IcebergやHudiとよく比較されるみたいだけど?

ペンギン先生 ペンギン先生

どれもデータレイクに秩序を与えるテーブルフォーマットだね。Delta LakeはDatabricksが中心に開発していて、Sparkとの統合が深いのが特徴。最近はUniFormという機能でIcebergとの互換性も持たせているよ

ひよこ ひよこ

スキーマの強制ってどういうこと?

ペンギン先生 ペンギン先生

テーブルに書き込むデータが定義済みのスキーマに合っていないと書き込みを拒否する機能だよ。CSVの列が足りなかったり型が違ったりすると弾いてくれるから、データ品質を守れるんだ

ひよこ ひよこ

じゃあデータレイクハウスと関係あるんだね!

ペンギン先生 ペンギン先生

まさにDelta Lakeはデータレイクハウスを実現するための中核技術だよ。データレイクの柔軟さとデータウェアハウス信頼性を両立する、Databricksの看板技術なんだ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Delta Lake」って出てきたら「データレイクトランザクション管理を足して信頼性を高める仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Delta Lake」 = デルタ湖
💬 三角州(デルタ)のようにデータが堆積していく湖のイメージ。変更差分(デルタ)を記録し続ける仕組みでもあるよ
← 用語集にもどる