Delta Lake とは

Azure Synapse Analytics は、Linux Foundation Delta Lake と互換性があります。 Delta Lake は、ACID (原子性、一貫性、分離性、持続性) トランザクションを Apache Spark とビッグ データ ワークロードに導入するオープンソースのストレージ レイヤーです。

Azure Synapse に付属している Delta Lake の現在のバージョンは、Scala、PySpark、.NET の言語サポートを提供しています。 ページの下部には、より詳細な例とドキュメントへのリンクがあります。

主要な機能

機能 説明
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 プロジェクトを参照してください。

次のステップ