Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Delta Lakeとは何か? | Databricksのコア概念
Databricks基礎:初心者ガイド

Delta Lakeとは何か?

メニューを表示するにはスワイプしてください

Note
定義

Delta Lake は、データレイクに信頼性をもたらすオープンソースのストレージレイヤー。ACIDトランザクション、スケーラブルなメタデータ管理、ストリーミングとバッチデータ処理の統合を提供。Databricks では、Delta がすべてのテーブルのデフォルトフォーマット。

従来のファイルが問題であれば、Delta Lake がその解決策。ダイヤモンドデータを workspace.workshop.diamonds の Delta テーブルとして保存すると、それはもはや単なるディスク上のファイルではなく、「インテリジェント」なテーブルとなる。

Delta Lake は、標準のデータファイル(Parquet)と隠れた トランザクションログ を組み合わせて動作。

1. ACIDトランザクション

これが Delta の信頼性の核。ACID は Atomicity(原子性)、Consistency(一貫性)、Isolation(分離性)、Durability(耐久性) の略。

簡単に言うと: データ操作は「すべてか無か」。ダイヤモンドテーブルで5万行を更新中に、クラスタが49,999行目で停止した場合、Delta はすべての変更をロールバック。書きかけや破損したテーブルが残ることはない。

2. トランザクションログ(「頭脳」)

ダイヤモンドテーブルにデータを追加、削除、または変更するたびに、Deltaはその操作をDelta Logと呼ばれる中央台帳に記録します。

クエリを実行するとき、Databricksはフォルダー内のすべてのファイルを単純にスキャンするのではなく、まずログを確認し、有効かつ関連するファイルを特定します。これにより、数百万行の検索が非常に高速になります。

3. スキーマの強制と進化

Delta Lakeは、必要に応じて厳格かつ柔軟なゲートキーパーとして機能します。

  • 強制: もし「Price」が数値ではなく文字列であるダイヤモンドレコードを挿入しようとすると、Deltaは書き込みを拒否しエラーを返します。これによりデータの整合性が保たれます;
  • 進化: 新しいカラム(例:「Store_Location」)を追加する必要がある場合、Deltaは履歴データセット全体を書き換えることなく、安全にスキーマを進化させることができます。

4. バージョニングとタイムトラベル

すべての変更がトランザクションログに記録されるため、Delta Lakeはテーブルの過去のあらゆる時点の状態を記憶しています。

これをタイムトラベルと呼びます。もし workspace.workshop.diamonds から誤ってデータを削除してしまっても、「10分前のテーブルの状態を参照する」とDatabricksに指示するだけで、失われたデータを復元できます。

5. オープンスタンダード

DatabricksがDelta Lakeを開発しましたが、これはオープンソース形式です。つまり、データが特定のベンダーに「ロック」されることはなく、ハイエンドデータベースのパフォーマンスとオープンソースクラウドストレージの柔軟性を両立できます。

1. Delta Lakeの「トランザクションログ」は何をしますか?

2. Deltaテーブルへの「書き込み」操作が途中で失敗した場合、どうなりますか?

question mark

Delta Lakeの「トランザクションログ」は何をしますか?

正しい答えを選んでください

question mark

Deltaテーブルへの「書き込み」操作が途中で失敗した場合、どうなりますか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 5.  2

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 5.  2
some-alt