What does it mean to build a single source of truth? | Databricks on AWS [2022/8/25時点]の翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
Databricksのレイクハウスは、単一のシステムでデータアクセスとストレージを統合することで、複数のシステムにまたがってデータのコピーを作成、同期する必要性を排除し、信頼できる唯一の情報源(single source of truth: SSOT)を確立します。データの重複は多くの場合、データのサイロを生み出し、企業内の別々のチームが品質や鮮度が異なる同じデータの異なるバージョンで作業することになります。
レイクハウスはどのようにトランザクションとデータアクセスをコントロールするのか?
Delta Lakeのトランザクションは、テーブルレベルでのACID保証を提供するために、データファイルと共に格納されるログファイルを使用します。Delta Lakeテーブルの背後にあるデータとログのファイルは共にクラウドオブジェクトストレージに存在するので、ビジネスクリティカルなワークロードにおいて、大量のクエリーがパフォーマンス劣化やデッドロックを引き起こすリスクなしに、同時にデータの読み書きを行います。これは、企業の環境においてユーザーとアプリケーションは、様々なワークロードを推進するために単一で同一のデータコピーに接続し、すべての参照者は、それぞれのクエリーが実行された際の最新の断面を受け取ることを保証することを意味します。
プロダクションデータに対するアクセスの管理
Unity Catalogは、ユーザー、グループ、サービスプリンシパルに対して、きめ細かいアクセスコントロールをデータスチュワードに提供する集中管理されたデータガバナンスソリューションを提供します。Unity Catalogは、リソースを設定する際に柔軟性と特定性の両方を提供するアクセスコントロールリスト(ACL)を用いたアクセス権管理を行います。設定可能なアクセス権には以下のようなものがあります。
- 大量テーブルに対する読み取り専用アクセス
- データベースに対するテーブル作成、変更権限
- 特定のクラウドストレージの格納場所におけるデータの読み取り、変更権限
- Unity Catalog管理のストレージ資格情報を通じた大量リソースへのアクセス
詳細に関しては、What is Unity Catalog?をご覧ください。
レイクハウスにおけるビューの活用
Databricksにおけるビューは、レイクハウスのテーブルに格納されるデータに対する保存済みクエリーを表現します。テーブルに対するクエリーは書き込み時に実行されますが、ビューに対してクエリーが実行される都度、ビューは定義されたロジックを実行します。これは、様々なソースからのデータに対する最新のデータアクセスを提供することを意味し、計算処理は、必要に応じて結果を更新するためにのみ行われます。
ビューと他のデータオブジェクトをセキュアにし、共有するためにUnity Catalogを使用することができ、個人やチームは企業内でキーとなるビジネス場の意思決定をドライブするロジックを共有することが可能となります。
詳細に関しては、Databricksレイクハウスにおけるデータオブジェクトをご覧ください。
コラボレーターとデータを共有する
Unity CatalogにおけるACLはエンタープライズ組織における様々なデータ共有のユースケースをカバーしますがDelta Sharingは、あらゆるところにいるコラボレーター(協力者)と共有可能なデータに対する読み取り専用のアクセスを管理することで、さらにこれを拡張します。Unity Catalogでサポートされるユースケースには以下のようなものがあります。
- 多国籍企業で分離されたリージョンに対して、それぞれのリージョンの分析に対してリアルタイムのアクセスを提供します。
- 同じ企業の傘のもとで、分離されたビジネス部門に対してデータセットを共有します。
- サードパーティに対して顧客が整理したデータセットに対してセキュアなアクセス手段を提供します。
Databricksにおいては、Delta SharingはUnity Catalogにビルトインされる形で提供されますが、オープンソースのDelta Lakeの一部でもあります。詳細に関しては、Delta Sharingによるデータ共有をご覧ください。