本文へスキップ

Delta Lakeとは?

でるたれいく

Delta Lakeとは、データレイク上でACIDトランザクションやバージョン管理を実現するオープンソースのストレージレイヤーです。

Delta Lakeとは、Amazon S3やAzure Data Lake Storageなどのクラウドオブジェクトストレージ上に構築されたオープンソースストレージレイヤーです。Apache Spark組み合わせることで、従来のデータレイクが苦手としていたACIDトランザクション・スキーマ管理・タイムトラベルなどの信頼性機能をビッグデータ基盤にもたらします。Databricksが開発し、2019年にオープンソース化されました。

従来のデータレイクはParquetやCSVなどのファイルをそのまま格納するため、書き込みの途中でクラッシュするとデータが壊れたり、スキーマが変わっても気づけなかったりする問題がありました。Delta Lakeはこれらを解決するために以下の仕組みを提供します。

  • ACIDトランザクション:複数の並列書き込みが競合しても一貫性を保証
  • タイムトラベル(Data Versioning):過去の任意時点のデータをクエリ可能
  • スキーマエンフォースメント:意図しないスキーマ変更を自動検出・拒否
  • Upsert(MERGE)操作:既存レコードの更新と新規挿入を同時に実行

技術的には、ファイルとは別にトランザクションログ(_delta_logディレクトリ)を保持し、すべての変更履歴をJSONとCheckpointファイルで管理します。これによりスナップショット分離とロールバックを実現しています。

Delta Lakeを採用することでデータウェアハウスとデータレイクの利点を統合した「レイクハウスアーキテクチャ」が構築でき、BI・機械学習・ストリーミング処理を単一のストレージ基盤で統合管理できるようになります。

使い方・例文

ECサイトの購買ログをS3上のDelta Lakeに蓄積するシステムでは、分析クエリ実行中にも新しいデータを安全に書き込め、「3日前のデータ状態」に遡ってレポートを再作成するタイムトラベル機能も利用できます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語