What is the Databricks Lakehouse? | Databricks on AWS [2022/8/20時点]の翻訳です。
Databricksクイックスタートガイドのコンテンツです。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
Databricksレイクハウスは、すべてのデータに対するビジネスインテリジェンス(BI)と機械学習(ML)を実現するために、データウェアハウスのACIDトランザクションとデータガバナンスと、データレイクの柔軟性とコスト効率性を結合します。Databricksレイクハウスでは、オープンソースのデータスタンダードで高度にスケーラブルなクラウドオブジェクトストレージにデータを保持することで、皆様のデータをどのようにでも、どこでも好きなように活用できるようにします。
- Databricksのメダリオンレイクハウスアーキテクチャとは?
- 信頼できる唯一の情報源(single source of truth)の構築は何を意味するのか?
- レイクハウスはどのようにしてディスカバリーとコラボレーションを改善するのか?
Databricksレイクハウスのコンポーネント
Databricksレイクハウスの主要なコンポーネントは以下の通りです。
Delta Lakeを用いてデータを格納することで、データが処理されるとすぐに皆様のコアのETLワークロードをサポートし、後段のデータサイエンティスト、アナリスト、機械学習エンジニアは同一のプロダクションデータを活用できるようになります。
Unity Catalogは、誰がどのデータに対するアクセスを有するのかに関して完全なコントロールを行えるようにし、データを複製することなしに、すべてのデータガバナンスとアクセスコントロールを管理するための集中管理されたメカニズムを提供します。
Deltaテーブル
Databricksで作成されるテーブルは、デフォルトでDelta Lakeプロトコルを使用します。新規テーブルを作成すると以下の処理が行われます。
- 宣言されたスキーマあるいはデータベースでテーブルを参照するために使用されるメタデータがメタストアに追加されます。
- データとテーブルのメタデータはクラウドオブジェクトストレージのディレクトリに保存されます。
Deltaテーブルに対するメタストアのリファレンスは、通常はオプションです。Spark APIを用いて、ディレクトリパスと直接操作することでDeltaテーブルを作成することができます。Delta Lakeのいくつかの新機能はテーブルのディレクトリに追加のメタデータを格納しますが、すべてのDeltaテーブルには以下のものが含まれます。
- Parquetファイルフォーマットのテーブルデータを含むディレクトリ。
- JSON形式とParquet形式で保存されるテーブルバージョンに関するメタデータを格納するサブディレクトリ
/_delta_log
。
詳細に関しては、Databricksレイクハウスにおけるデータオブジェクトをご覧ください。
Unity Catalog
Unity Catalogは、Databricksにおけるデータガバナンスとディスカバリーを統合します。ノートブック、ジョブ、Databricks SQLで利用でき、Unity Catalogはデータレイクとデータウェアハウス両方向けに設計された、ワークロードやユーザーを支援する機能やUIを提供します。
- Unity Catalogメタストアのアカウントレベルの管理は、データベース、データオブジェクト、アクセス権がDatabricksワークスペース間で共有できることを意味します。
- データを整理し、アクセスを許可するために3層の名前空間(
<catalog>.<database>.<table>
)を活用することができます。 - 外部ロケーションとストレージ資格情報も、他のデータオブジェクトに対するACL設定でセキュリティ保護することができます。
- データエクスプローラは、データベースを探索し、アクセス権を管理するためのGUIを提供します。
データレイクハウス vs データウェアハウス vs データレイク
データウェアハウスは30年以上に渡るデータフローをコントロールするシステムの設計上のガイドラインとしての進化を通じて、ビジネスインテリジェンス(BI)による意思決定をサポートしてきました。データウェアハウスは、BIレポートのためのクエリーを最適化していますが、結果を生成する際には数分から数時間を要することがあります。高い頻度で変化する可能性が低いデータ向けに設計されており、データウェアハウスは、同時実行されるクエリー間の競合を防ぐ方法を探索しています。多くのデータウェアハウスはプロプライエタリなフォーマットに依存しており、機械学習に対するサポートは多くの場合限定的です。
データの種類と量の指数関数的な増加によって促進されたデータストレージの技術的進歩に支えられ、過去十年間でデータレイクの利用が促進されました。データレイクは、多くの場合、データウェアハウスの対局にあるものとして位置付けられます。データウェアハウスは、BIアナリティクスのためにクリーンかつ構造化されたデータを提供しますが、データレイクは任意のフォーマットのデータをそのままの形で、恒久的かつ安価に格納します。多くの企業は、データサイエンスや機械学習の目的でデータレイクのデータを活用しますが、データが検証されていないためBI目的では使用されません。
データレイクハウスは、以下を望んでいるモダンデータカンパニーに対して、データレイクとデータウェアハウスに対する現在の依存性を置き換えるものです。
- 標準のデータフォーマットを用いて、オープンかつダイレクトにデータにアクセスしたい。
- 機械学習やデータサイエンスのために、最適化されたインデックスプロトコルを活用したい。
- BIや高度アナリティクスのために、クエリーの低レーテンシーと高い信頼性を実現したい。
クラウドオブジェクトストレージに標準フォーマットで検証済みのデータを格納するのに最適化されたメタデータレイヤーを組み合わせることで、データレイクハウスは、データサイエンティストとMLエンジニアは、BIレポートを推進するのと同じデータを用いて機械学習モデルを構築できるようになります。