Azure Databricks の Delta とは何ですか?

この記事では、Azure Databricks 上の Delta とブランド化されたテクノロジについて説明します。 Delta とは、Delta Lake オープンソース プロジェクトのテクノロジ、または関連するテクノロジのことをいいます。

この記事では、次の内容に回答します。

  • Azure Databricks の Delta テクノロジとは何ですか?
  • それらは何をしますか? あるいは、何に使用しますか?
  • また、互いにどのように関連し、またどのように区別されますか?

Delta は何に使用しますか?

Delta は、Databricks レイクハウスにデータとテーブルを格納するための基盤である Delta Lake で導入された用語です。 Delta Lake は、ACID トランザクションとスケーラブルなメタデータ処理のためのファイル ベースのトランザクション ログで Parquet データ ファイルを拡張することにより、トランザクションのリアルタイム ビッグ データとバッチ ビッグ データを扱うための統合データ管理システムとして考案されました。

Delta Lake: レイクハウスの OS データ管理

Delta Lake は、クラウド ストレージ (AWS S3、Azure Storage、GCS 上) に保存されたデータの上部にトランザクション ストレージ レイヤーを追加することで、データ レイクに信頼性を導入するオープン ソース ストレージ レイヤーです。 ACID トランザクション、データのバージョン管理、ロールバック機能が有効になります。 バッチ データとストリーミング データの両方を統合された方法で処理できます。

Delta テーブルは、このストレージ レイヤー上にビルドされ、テーブルの抽象化が提供され、SQL や DataFrame API を使用して大規模な構造化データを簡単に操作できます。

Delta テーブル: 既定のデータ テーブル アーキテクチャ

Delta テーブルは、Azure Databricks の既定のデータ テーブル形式であり、Delta Lake オープン ソース データ フレームワークの機能です。 Delta テーブルは通常、ストリーミングや大規模なバッチでデータを取り込むデータ レイクに使用されます。

参照トピック

Delta Live Tables: データ パイプライン

Delta Live Tables は、多数の Delta テーブル間のデータのフローを管理し、データ エンジニアの ETL 開発と管理作業を簡素化します。 パイプラインは、Delta Live Tables での実行の主な単位です。 Delta Live Tables は、宣言的なパイプライン開発、データ信頼性の向上、クラウド スケールの本番環境での運用を提供します。 ユーザーは、同じテーブルに対してバッチ操作とストリーミング操作の両方を実行でき、データはすぐにクエリに利用できます。 データに対して実行する変換を定義すると、Delta Live Tables によってタスク オーケストレーション、クラスター管理、監視、データ品質、およびエラー処理が管理されます。 Delta Live Tables 拡張自動スケールでは、急増や予測不可能なストリーミング ワークロードを処理できます。

Delta Live Tables チュートリアルをご覧ください。

Delta テーブルとDelta Live Tables

Delta テーブルはデータをテーブルに格納する方法ですが、Delta Live Tables は、これらのテーブル間のデータ フローを宣言的に記述できます。 Delta Live Tables は、Delta テーブルを作成し、最新の状態に維持することで、多くの Delta テーブルを管理する宣言型フレームワークです。 つまり、Delta テーブルはデータ テーブル アーキテクチャであり、Delta Live Tables はデータ パイプライン フレームワークです。

Delta: オープン ソースまたは専用ですか?

Azure Databricks プラットフォームの強みは、顧客を専用ツールに固定しないことです。テクノロジの多くは、Azure Databricks が貢献するオープン ソース プロジェクトによって提供されます。

Delta OSS プロジェクトの一例を次に示します。

Delta Live Tables は、Azure Databricks の専用フレームワークです。

Azure Databricks のその他の Delta とは何ですか?

以下は Delta を名前に含む他の機能の説明です。

Delta Sharing

セキュリティで保護されたデータ共有のためのオープン標準である Delta 共有は、コンピューティング プラットフォームに関係なく、組織間でデータ共有できるようになります。

Delta Engine

Databricks に含まれる Delta Lake オープン ソース テクノロジを使用したビッグ データ向けクエリ オプティマイザー。 Delta Engine は、コンピューティングをデータにプッシュすることで、Spark SQL、Databricks SQL、DataFrame 操作のパフォーマンスを最適化します。

Delta Lake トランザクション ログ (AKA DeltaLogs)

ユーザーが Delta Lake で原子性を保証することを通じて、テーブルとメカニズムに対して行うすべての変更を追跡する信頼できる唯一の情報源でです。 GitHub の Delta トランザクション ログ プロトコルを参照してください。

トランザクション ログは、次のような重要な機能のほとんどを通じて実行する共通スレッドであるため、Delta Lake を理解するための鍵になります。

  • ACID トランザクション
  • スケーラブルなメタデータの処理
  • タイム トラベル
  • その他