すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:Delta Lake

最終更新日:Aug 15, 2026

Delta Lake は Databricks が提供するデータレイクソリューションで、データインジェスト、整理、管理から、クエリ、データのエクスポートまで、データライフサイクル全体を管理します。上流および下流のサードパーティ製ツールと組み合わせることで、Delta Lake を使用して高速で使いやすく、安全なデータレイクを構築できます。

背景情報

一般的なデータレイクソリューションでは、Alibaba Cloud Object Storage Service (OSS) やオンプレミスの Hadoop 分散ファイルシステム (HDFS) などのビッグデータストレージエンジンにさまざまな種類のデータを保存し、Spark や Presto などの分析エンジンに接続してデータを解析します。ただし、この方法には次の問題があります:

  • インポートに失敗すると、クリーンアップが困難なダーティデータが生成され、失敗したジョブの復旧も困難です。

  • ETL (抽出、変換、ロード) プロセスがないため、データ品質の監督が不十分になります。

  • 読み取り操作と書き込み操作を分離するトランザクションサポートがないため、ストリーミングおよびバッチの読み取り/書き込み操作を独立して実行できません。

Delta Lake ソリューションは次のように動作します:

  • データベースにおけるメタデータ管理と同様に、ビッグデータストレージ層の上にデータ管理レイヤーを追加します。メタデータはデータと同じ場所に保存され、データウェアハウスとデータレイクに示されているように、ユーザーから参照できます。

  • Delta Lake はメタデータ管理に基づいて、原子性、一貫性、分離性、耐久性 (ACID) を導入します。これにより、インポート失敗によるダーティデータの問題と、データインジェスト中に読み取り/書き込みの分離性がない問題を解決します。

  • メタデータにはソーステーブルの列が格納され、Delta Lake はインポート時にデータを検証してデータ品質を確保します。

  • トランザクションサポートにより、バッチおよびストリーミングの読み取り/書き込み操作を分離して実行できます。

説明

ACID は、信頼性の高いデータベーストランザクションを保証する 4 つの主要な特性である、原子性、一貫性、分離性、耐久性の頭字語です。

図 1. データウェアハウスとデータレイクdelta_data

次の表は、データウェアハウス、データレイク、Delta Lake を比較したものです。

比較基準

データウェアハウス

データレイク

Delta Lake

アーキテクチャ

コンピューティングとストレージが結合または分離

コンピューティングとストレージが分離

コンピューティングとストレージが分離

ストレージ管理

厳格、独自仕様

ネイティブ形式

共通形式、軽量

シナリオ

レポーティング、分析

レポーティング、分析、データサイエンス

レポーティング、分析、データサイエンス

柔軟性

低い

高い

高い

データ品質と信頼性

非常に高い

低い

高い

トランザクション

サポート

非サポート

サポート

パフォーマンス

高い

低い

高い

拡張性

実装によって異なる

高い

高い

ユーザー

管理者

管理者、データサイエンティスト

管理者、データサイエンティスト

コスト

高い

低い

低い

シナリオ

Delta Lake はクラウドベースのデータレイク管理に適しており、次のシナリオをサポートします:

  • リアルタイムクエリ:データは上流ソースから Delta Lake にリアルタイムで流れ込み、すぐにクエリ可能になります。たとえば、変更データキャプチャ (CDC) のシナリオでは、Spark Streaming を使用して binlog をリアルタイムに消費できます。Delta Lake の merge 機能は、上流データをデータレイクにマージし、その後 Hive、Spark、または Presto でクエリできます。ACID がサポートされているため、データインジェストとクエリは分離され、ダーティリードを防止します。

  • 一般データ保護規則 (GDPR) 対応の削除または更新:一般的なデータレイクソリューションは、削除や更新をサポートしていません。これらのソリューションでデータを変更するには、ローデータを削除し、ストレージに書き戻す必要があります。Delta Lake は、データの直接的な削除と更新をサポートします。

  • CDC を使用したリアルタイムデータ同期:Delta Lake の merge 機能を使用して、上流データをリアルタイムでデータレイクにマージするストリーミングジョブを実行できます。

  • データ品質管理:Delta Lake のスキーマ検証を使用して、インポート中に異常データをフィルタリングしたり、さらに処理したりできます。

  • スキーマエボリューション:データスキーマは固定ではありません。Delta Lake では API を使用してデータスキーマを変更できます。

  • リアルタイム機械学習:機械学習のシナリオでは、作業の多くがデータ処理 (クレンジング、変換、特徴抽出) に費やされます。通常、履歴データとリアルタイムデータを別々に処理する必要があります。Delta Lake は、データ処理パイプライン全体を単一の信頼できるリアルタイムストリームに統合することで、これを簡素化します。データのクレンジング、変換、特徴量エンジニアリングなどの操作はストリームアクションとなり、履歴データとリアルタイムデータを別々に処理する必要がなくなります。

オープンソース Delta Lake との比較

E-MapReduce (EMR) の Delta Lake は、SQL、Optimize などへの追加サポートにより、オープンソース Delta Lake を拡張しています。次の表は、EMR の Delta Lake とオープンソース Delta Lake (バージョン 0.6.1) の機能を比較したものです。

機能

EMR Delta

オープンソース Delta

SQL

  • ALTER

  • CONVERT

  • CREATE

  • CTAS

  • DELETE

  • DESC HISTORY

  • INSERT

  • MERGE

  • OPTIMIZE

  • UPDATE

  • VACUUM

  • SAVEPOINT

  • ROLLBACK

  • CREATE

    説明

    例:CREATE TABLE <tbl> USING delta LOCATION <delta_table_path>

    • 既存の Delta ディレクトリからのテーブル作成のみをサポートします。

    • テーブルを作成する際にスキーマを指定しないでください。

  • CONVERT

  • DESC HISTORY

  • VACUUM

API

  • batch read/write

  • streaming read/write

  • optimize

  • delete

  • update

  • merge

  • convert

  • history

  • バキューム

  • セーブポイント

  • ロールバック

  • batch read/write

  • streaming read/write

  • delete

  • update

  • merge

  • convert

  • history

  • バキューム

Hive connector

サポート

サポート

Presto connector

サポート

サポート

Parquet

サポート

サポート

ORC

非サポート

非サポート

テキスト形式

非サポート

非サポート

データスキッピング

サポート

非サポート

ZOrder

サポート

非サポート

ネイティブ DeltaLog

サポート

非サポート