Databricksの Delta の機能とは何か

この記事では、Databricks で Delta と呼ばれるテクノロジーを紹介します。 Delta とは、 Delta Lake オープンソースプロジェクトに関連する、またはオープンソースプロジェクトに含まれるテクノロジーを指します。

この記事では下記の問いに回答します:

  • Databricks のDelta テクノロジーとは何か

  • それらは何を行うのか。 また、何のために使用されるのか。

  • それらは互いにどのように関連し、区別されるか

Deltaは何に使用されるか

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

Delta Lake: レイクハウスにおけるオープンソースデータマネジメント

Delta Lake は、クラウドストレージ (AWS S3、Azure Storage、GCS 上) に格納されたデータ上にトランザクションストレージレイヤーを追加することで、データレイクに信頼性をもたらすオープンソースのストレージ レイヤーです。 これにより、ACIDトランザクション、データのバージョン管理、およびロールバック機能を可能にします。 また、バッチデータとストリーミングデータの両方を統一された方法で処理できます。

Delta テーブルはこのストレージレイヤーの上に構築され、テーブルの抽象化を提供し、SQLとDataFrame APIによる大規模な構造化データを簡単に操作できるようにします。

Delta テーブル: デフォルトのデータテーブルアーキテクチャ

Delta テーブルは、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 Live Tablesはデータパイプラインフレームワークです。

Delta: オープンソースかプロプライエタリか

Databricksプラットフォームの強みの一つは、顧客をプロプライエタリなツールに縛りつけないことです:多くの技術がオープンソースプロジェクトによって支えられており、Databricksはそれらに貢献しています。

Delta OSS プロジェクトはその一例です。

Delta Live Tables は、Databricks のプロプライエタリフレームワークです。

Databricksには他にどのような Delta があるか

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

Delta Sharing

Delta Sharing は、安全なデータ共有のためのオープン標準であり、コンピュートプラットフォームに関係なく組織間のデータ共有を可能にします。

Delta エンジン

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

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

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

トランザクションログは、多くの重要な機能において一貫して存在する共通の要素であり、Delta Lakeを理解する上で非常に重要です。

  • ACIDトランザクション

  • スケーラブルなメタデータ処理

  • タイムトラベル

  • その他