Databricks の Delta 製品にはどのようなものがありますか?
この記事では、Databricks で Delta と呼ばれるテクノロジーを紹介します。 Delta とは、 Delta Lake オープンソースプロジェクトに関連する、またはオープンソースプロジェクトに含まれるテクノロジーを指します。
この記事では下記の問いに回答します:
- Databricks のDelta テクノロジーとは何か
- それらは何を行うのか。 また、何のために使用されるのか。
- それらは互いにどのように関連し、区別されるか
Deltaは何に使われていますか?
Deltaは、Databricksレイクハウスにデータとテーブルを格納するための基盤である、Delta Lake において導入された用語です。 Delta Lakeは、ACIDトランザクションとスケーラブルなメタデータ処理のためのファイルベースのトランザクションログを使用して Parquetデータファイルを拡張することにより、リアルタイムおよびバッチで連携されるトランザクション処理のビッグデータを扱うための統合データ管理システムとして考案されました。
Delta Lake: OS データマネジメント for the レイクハウス
Delta Lake は、クラウドストレージ (AWS S3、Azure Storage、GCS 上) に格納されたデータ上にトランザクションストレージレイヤーを追加することで、データレイクに信頼性をもたらすオープンソースのストレージ レイヤーです。 これにより、ACIDトランザクション、データのバージョン管理、およびロールバック機能を可能にします。 また、バッチデータとストリーミングデータの両方を統一された方法で処理できます。
Delta テーブルはこのストレージレイヤーの上に構築され、テーブルの抽象化を提供し、SQLとデータフレーム APIによる大規模な構造化データを簡単に操作できるようにします。
Delta テーブル: デフォルト データ テーブルのアーキテクチャ
Delta テーブルは、Databricks の既定のデータ テーブル形式であり、 Delta Lakeオープンソースデータフレームワークの機能です。 Delta テーブルは通常、データがストリーミングまたは大規模なバッチで取り込まれるようなデータレイクで使用されます。
以下をご覧ください:
- Delta Lake のクイックスタート: テーブルを作成する
- Delta Lake テーブルの更新と変更。
- DeltaTable クラス: Deltaテーブルとプログラムで対話型処理するためのメインクラス
DLT:データパイプライン
DLT は、多くの Delta テーブル間のデータフローを管理するため、 ETL の開発と管理に関するデータエンジニアの作業が簡素化されます。 パイプラインは、 DLT の実行の主要単位です。DLT は、宣言型パイプライン開発、データ信頼性の向上、クラウド規模の本番運用運用を提供します。 ユーザーは同じテーブルに対してバッチ操作とストリーミング操作の両方を実行でき、データはすぐにクエリに使用できます。データに対して実行する変換を定義すると、DLT はタスク オーケストレーション、クラスタリング管理、モニタリング、データ品質、およびエラー処理を管理します。 DLT enhanced オートスケールは、スパイクが多く予測不可能なストリーミングワークロードを処理できます。
DLT チュートリアルを参照してください。
Delta テーブルとDLTの比較
Delta テーブルはテーブルにデータを格納する方法ですが、DLT では、これらのテーブル間のデータの流れを宣言的に記述できます。DLT は、多くのデルタ テーブルを作成し、最新の状態に保つことで管理する宣言型フレームワークです。つまり、 Delta テーブルはデータ テーブル アーキテクチャであり、DLT はデータ パイプライン フレームワークです。
Delta:オープンソースですか、それともプロプライエタリですか?
Databricksプラットフォームの強みの一つは、顧客をプロプライエタリなツールに縛りつけないことです:多くの技術がオープンソースプロジェクトによって支えられており、Databricksはそれらに貢献しています。
Delta OSS プロジェクトはその一例です。
- Delta Lakeプロジェクト:レイクハウスのオープンソースストレージ。
- Delta Sharing プロトコル: 安全なデータ共有のためのオープン プロトコル。
DLT は、Databricks の独自のフレームワークです。
Databricks の Delta のその他の機能は何ですか?
以下は、名前に Delta が含まれるその他の機能の説明です。
Delta Sharing
安全なデータ共有のオープンスタンダードである Delta Sharingは、コンピュートプラットフォームに関係なく、組織間でのデータ共有を可能にします。
Delta エンジン
ビッグデータ用のクエリーオプティマイザーで、Databricks に含まれる Delta Lake オープンソーステクノロジーを使用します。 Delta エンジンは、計算をデータにプッシュすることで、Spark SQL、Databricks SQL、および データフレーム 操作のパフォーマンスを最適化します。
Delta Lake トランザクション ログ (別名 DeltaLogs)
ユーザーがテーブルに加えたすべての変更と、Delta Lakeが原子性を保証するメカニズムを追跡する単一の真実のソース。GitHub の Delta トランザクション ログ プロトコル を参照してください。
トランザクションログは、多くの重要な機能において一貫して存在する共通の要素であり、Delta Lakeを理解する上で非常に重要です。
- ACIDトランザクション
- スケーラブルなメタデータ処理
- タイムトラベル
- その他