Delta Lake とは
Delta Lake は、ACID (原子性、一貫性、分離性、持続性) トランザクションを Apache Spark とビッグ データ ワークロードに導入するオープンソースのストレージ レイヤーです。
Azure Synapse に付属している Delta Lake の現在のバージョンは、Scala、PySpark、.NET の言語サポートを提供しており、Linux Foundation Delta Lake と互換性があります。 ページの下部には、より詳細な例とドキュメントへのリンクがあります。 詳細については、「Delta Tables の概要」の動画を参照してください。
機能 | 説明 |
---|---|
ACID トランザクション | データ レイクは一般に、複数のプロセスやパイプラインを通じてデータが設定されますが、その中には、読み取りと同時にデータを書き込むものがあります。 Delta Lake 以前のトランザクションの追加では、データ エンジニアは、データの整合性を確保するために、手動によるエラーが発生しやすいプロセスを実行する必要がありました。 Delta Lake によって、使い慣れた ACID トランザクションがデータ レイクに導入されます。 これにより、最も強力な分離レベルである直列化可能性が実現されます。 詳細については、「Delta Lake の詳細: トランザクション ログのアンパック」を参照してください。 |
スケーラブルなメタデータの処理 | ビッグ データでは、メタデータ自体も "ビッグ データ" になる可能性があります。Delta Lake はメタデータをデータと同じように扱い、Spark の分散処理能力を利用してすべてのメタデータを処理します。 そのため、Delta Lake では、数十億のパーティションやファイルを含むペタバイト規模のテーブルを簡単に処理できます。 |
タイム トラベル (データのバージョン管理) | 変更を "元に戻す" か、以前のバージョンに戻す機能は、トランザクションの重要な機能の 1 つです。 Delta Lake では、データのスナップショットが提供されるため、監査、ロールバック、または実験の再現のために、以前のバージョンのデータに戻すことができます。 詳細については、「大規模データ レイク向けの Delta Lake タイム トラベルの紹介」を参照してください。 |
オープン形式 | Apache Parquet は Delta Lake のベースライン形式で、形式にネイティブである効率的な圧縮およびエンコード スキームを利用できます。 |
バッチとストリーミング ソースとシンクの統合 | Delta Lake のテーブルは、バッチ テーブルとストリーミング ソースやシンクの両方です。 ストリーミング データの取り込み、バッチ履歴バックフィル、対話型クエリは、すべてすぐに機能します。 |
スキーマの適用 | スキーマの適用によって、データ型が正しく、必要な列が存在することが保証されるため、不正なデータによってデータの不整合が発生することを防止できます。 詳細については、Delta Lake の詳細: スキーマの適用と展開に関する記事を参照してください |
スキーマの展開 | Delta Lake によって、移行 DDL を記述しなくても、自動的に適用できるテーブル スキーマの変更を行うことができます。 詳細については、Delta Lake の詳細: スキーマの適用と展開に関する記事を参照してください |
監査履歴 | Delta Lake トランザクション ログでは、データに加えられたすべての変更の詳細が記録され、変更の完全な監査証跡が得られます。 |
更新と削除 | Delta Lake では、さまざまな機能のために、Scala、Java、Python、および SQL API がサポートされています。 マージ、更新、削除操作のサポートにより、コンプライアンス要件を満たすために役立ちます。 詳細については、「Delta Lake 0.6.1 リリースの発表」、「Delta Lake 0.7 リリースの発表」、「Python API を使用した Delta Lake テーブルのシンプルで信頼性の高い upsert と削除」を参照してください。これには、マージ、更新、削除 DML コマンドのコード スニペットが記載されています。 |
Apache Spark API との 100 パーセントの互換性 | Delta Lake は既存の Spark 実装と完全に互換性があるため、開発者は、最小限の変更によって、既存のデータパイプラインで Delta Lake を使用できます。 |
完全なドキュメントについては、Delta Lake のドキュメント ページを参照してください
詳細については、Delta Lake プロジェクトを参照してください。