Upgrade to Pro — share decks privately, control downloads, hide ads and more …

データとAIの統一的なガバナンス管理『Unity Catalogの仕組み』

データとAIの統一的なガバナンス管理『Unity Catalogの仕組み』

データとAIの統一的なガバナンス管理を行うUnity Catalogの仕組みについて説明します。

Databricks Japan

April 13, 2024
Tweet

More Decks by Databricks Japan

Other Decks in Technology

Transcript

  1. ©2022 Databricks Inc. — All rights reserved Databricks ワークスペース Unity

    Catalogのご紹介 3 Unity Catalog以前 Unity Catalog 集中管理されたメタデータとユーザーによるデータ資産に対する統合ビュー Databricks ワークスペース ユーザー管理 メタストア Databricks ワークスペース Databricks ワークスペース Unity Catalog ユーザー管理 メタストア クラスター ユーザー管理 メタストア クラスター クラスター クラスター
  2. ©2022 Databricks Inc. — All rights reserved クラウドストレージ (S3, ADLS,

    GCS) Unity Catalog & Delta Sharing - コンポーネント 4 コンテナ / バケット コンテナ / バケット Unity Catalog 監査ログ Databricks ワークスペース アカウントレベルの ユーザー管理 資格情報 メタストア アイデンティティ プロバイダー リネージ エクスプローラ ACLストア データ エクスプローラ アクセス コントロール X ガバナンスの集中管理 ユーザー Delta Sharing サーバー Delta Sharing クライアント ユーザー ✔ ✔ ✔ 短期間のトークン X アクセス拒否
  3. ©2022 Databricks Inc. — All rights reserved アカウントコ ンソール Databricksアカウントとクラウド

    プロバイダーの階層構造 5 (AWS) 組織ユニット AWS アカウント AWS アカウント Databricks ワークスペース Databricks ワークスペース Databricks (E2) アカウント AAD テナント Azure サブスクリプショ ン Azure サブスクリプショ ン Databricks ワークスペース Databricks ワークスペース AWS Azure Databricks ア カウント アカウントコ ンソール
  4. ©2022 Databricks Inc. — All rights reserved Unity Catalogのアイデンティティフェデレーション 6

    Unity Catalog アカウントコンソール アカウントレベル ユーザー管理 Group 1 Group 2 Group 4 Databricks ワークスペース 1 Databricks ワークスペース 2 Databricks ワークスペース 3 Group 1 Group 1 Group 4 Group 2 Group 4 アイデンティティプ ロバイダー Group 1 Group 2 Group 4 Group 3 ユーザー/グループ同期 (例: SCIM) アイデンティティ連携
  5. ©2022 Databricks Inc. — All rights reserved UCの3レベル名前空間 7 Managed

    Table View External table Databricks アカウント カタログ カタログ スキーマ (データベース) スキーマ (データベース) 外部テーブル ビュー マネージド テーブル Databricks ワークスペース Databricks ワークスペース … … 割り当て (Unity) メタストア (Unity) メタストア … Unity Catalog SELECT * FROM catalog1.database1.table1;
  6. ©2022 Databricks Inc. — All rights reserved HiveメタストアはUCに組み込まれます 8 Managed

    Table View External table Databricks アカウント カタログ カタログ スキーマ (データベース) スキーマ (データベース) 外部テーブル ビュー マネージド テーブル Databricks ワークスペース Databricks ワークスペース … … 割り当て (Unity) メタストア (Unity) メタストア … Unity Catalog SELECT * FROM catalog1.database1.table1; Hive メタストア 関連付け SELECT * FROM hive_metastore.database2.table2;
  7. ©2022 Databricks Inc. — All rights reserved マネージドデータソース & 外部ロケーション

    ユーザー クラスター SQLウェアハウス クラウドストレージ (S3, ADLS, GCS) マネージド コンテナ / バケット 外部 コンテナ / バケット 外部 コンテナ / バケット … 監査ログ 外部ロケーション & 資格情報 アクセス コントロール クラウド ストレージのファイ ル 外部 テーブル マネージド テーブル マネージド データソース 外部 ロケーション 9 Unity Catalog
  8. ©2022 Databricks Inc. — All rights reserved 外部ロケーション クラウドストレージ (S3,

    ADLS, GCS) マネージドテーブル用コ ンテナ/バケット メタストア、外部ロケーション、資格情報 10 カタログストレージ 資格情報 カタログ スキーマ (データベース) 外部 テーブル マネージド テーブル Location for External Data sources Location for External Data sources 外部テーブル用 コンテナ/バケット ロケーション 資格情報 Location for External Data sources Location for External Data sources 外部ファイル用 コンテナ/バケット 資格情報 ボリューム ロケーション 例 (シンプルにするため権限は無視 ): CREATE STORAGE CREDENTIAL finance_cred … CREATE EXTERNAL LOCATION finance URL s3://depts/finance WITH (STORAGE CREDENTIAL finance_cred); CREATE EXTERNAL TABLE forecast LOCATION s3://depts/finance/forecast; CREATE VOLUME eu_invoices LOCATION s3:/depts/finance/eu/invoices; メタ ストア 資格情報
  9. ©2022 Databricks Inc. — All rights reserved データベース/テーブル ロケーション has

    ユーザーとグ ループの同 期 Unity Catalog以前のオブジェクトの関係性 11 アイデンティティプロ バイダー ユーザー グループ管理 * 読み / 書き * すべてのDatabricksワークスペースに組み込まれているモジュール + 外部メタストアにすることも可能 # アクセス可能なすべてのクラウドストレージ、ルートコンテナ (dbfs) クラウド ストレージ # Databricks ワークスペース (コントロールプレーン ) クラスター / SQLウェアハウス Hiveメタストア + has has 読み / 書き
  10. ©2022 Databricks Inc. — All rights reserved (Unity) メタストア ユーザーとグ

    ループの同 期 利用 Unity Catalog (UC)のオブジェクトの関係性 12 Databricks ワークスペース (コントロールプレーン ) クラスター / SQLウェアハウス Databricks アカウント アカウントレベル ユーザー管理 アイデンティティプロ バイダー Hiveメタストア デフォルト クラウド ストレージ リンクおよび管理 has 割り当て Databricks アカウント コンソール has has has 外部クラウド ストレージ 注意: • Unity Catalogの利用はオプションです。依然としてワークスペースでは Hiveメタストアのみを利用できます。 • 1つのDatabricksアカウントで1つ以上のUnityメタストアを作成できます (例 リージョン分離や LoB分離など) • すべてのワークスペースは 1つのUCメタストアのみにアタッチできますが、 1つのUnityメタスト アを複数のワークスペースに割り当てることができます。 has has カタログ ストレージ 資格情報 ストレージ 外部 ロケーション has リンク アクセス可能 has 共有 受信者 has has Delta Sharing has catalog.db.table has 読み / 書き
  11. ©2022 Databricks Inc. — All rights reserved 14 User Cluster

    or SQL endpoint 1 Send query (SQL Python, R, Scala,) Send result 8 (S3, ADLS) Cloud Storage Hive Metastore return path to the table (s3:/, abfss://, gs://) 4 Lookup location 3 read data (Service Principal, Instance Profile, Service Account) 5 Return data 6 Table ACLs Check grants 2 Filter unauth. data 7 Stored in Control Plane at the Workspace Level In Control Plane or external Life of a query without Unity Catalog
  12. ©2022 Databricks Inc. — All rights reserved ユーザー (S3, ADLS)

    15 Unity Catalogのクエリーの一生 クラウド ストレージ 監査ログ 監査ログの 書き込み 管理者 • IAMロール(AWS)/ マネージド アイデンティティ(Azure)の作成 • Unity Catalogでストレージ資格 情報/外部ロケーションの作成 • Unity Catalogでアクセスポリシーを 定義 1 クエリーの送信 (SQL, Python, R, Scala) IAMロール / マネージド アイデンティティのAssume 3 パス/データファイルのリストの返 却、一時トークンの スコープを限定 4 名前空間、メタデータ、権限 のチェック 2 結果の送信 8 一時トークンを用いてパス/ データファイルのデータを リクエスト/取り込み 5 データの返却 6 クラスター SQLウェアハウス ポリシーの 強制 7
  13. ©2022 Databricks Inc. — All rights reserved 17 A simple,

    open and easy approach to data sharing Delta Lake Delta Sharing Server Power BI Data Provider Data Recipients Multi-Cloud No replication Easy to manage Reduce data sharing and collaboration from days to real-time Delta Sharing Client … Data Analyst Data Scientist Data Engineer On-Prem Authorize Authenticate
  14. ©2022 Databricks Inc. — All rights reserved クラスター SQLウェア ハウス

    リネージフロー 19 Ad-hoc ETL / ジョブ DLT UIでリネージを探索 外部カタログ Microsoft Purview Collibra Alation リネージ サービス テーブルおよび カラムリネージ • クラスター、SQLウェアハウス、DLT に送信される(すべての言語の)コー ドがデータフローを実行 • リネージサービスがクラスターから出力され るログを分析し、DLTからメタデータを抽出 • カラムレベル、テーブルレベルの リネージを構成 • Databricksでエンドユーザーに グラフィカルにリネージを表示 • API経由でリネージをエクスポー ト可能、他のツールで インポート可能
  15. ©2022 Databricks Inc. — All rights reserved Databricks 21 ETL

    Tool Cloud DWH Orchestrator (e.g. Airflow) E2E Pipeline Lineage information flow: Catalog of catalogs (e.g. Collibra, Alation, Purview …) Pipeline step sending lineage to domain’s catalog (e.g. UC) Domain’s catalog to global catalog of catalogs Domains Catalog X Catalog Y Unity Catalog and Catalog Partners Better together
  16. ©2022 Databricks Inc. — All rights reserved Greatly improves the

    experience in Immuta and Privacera: ▪ No longer limits the languages that these products can work in ▪ No longer limits the APIs that your users can use ▪ Improves performance and robustness ▪ Adds a common enforcement layer Unity Catalog and Governance Partners Better together Policy Specification Policy Enforcement Unity Catalog Cluster or SQL endpoint
  17. ©2022 Databricks Inc. — All rights reserved Unity Catalogのクラスター/ウェアハウス 24

    <SA> システムアカウント(サービスプリンシパル、 インスタンスプロファイル、サービスアカウント) 共有モードのクラスター • SQLを用いる一般的なワークロード (ETL、データ探索など)では共有モー ドを使いましょう。 • 機械学習ランタイムは現時点では未サポートです。 シングルユーザーモードのクラスター • データサイエンティストや Scalaユーザーはシングルユーザーモード を使 いましょう。これらのクラスターは機械学習ランタイム、 MLflowなど Databricksのすべての機能をサポートしています。 • このクラスターではオーナーのみがコードを実行できますが、共有を通じ たノートブックコラボレーションは可能です。同僚は全てを参照できます がセルを実行することはできません。 SQLウェアハウス • Databricks SQLのSQLエディタやPower BI、Tableauなどの外部BIツー ルを活用するビジネスアナリストは SQLウェアハウスを使いましょう。 Delta Lake Databricks ワークスペース 共有モード クラスター SQL + Python* SQL ウェアハウス SQL, BI Unity Catalog シングル ユーザーモードク ラスター Scala, R 完全なDS + ML check check check <SA>トークン 経由の読み書き <SA>トークン 経由の読み書き <SA>トークン 経由の読み書き
  18. ©2022 Databricks Inc. — All rights reserved Unity Catalogとデータサイエンス データサイエンスではいくつか異なる利用シナリオがあります

    1. シングルノードでのデータサイエンス 従来の(ラップトップベースの)データサイエンスの世界では、多くの問題は依然として分散コンピューティングを必要としませ ん。シングルノードのデータサイエンスでは シングルユーザークラスターが最適な選択肢となります。 2. 探索的データサイエンス データの分析、レポート作成、パターンの発見のようなタスクでは、 共有クラスターを活用することができ、 必要なデータ探索用ライブラリ(pandas, scikit learn, …)をノートブックスコープライブラリ、クラスター ライブラリとしてインストールすることができます。 3. 複雑なモデルトレーニング 複雑なモデルを構築する際、特に分散モデルトレーニングが必要となる場合には、データサイエンティストは 計算リソースに対する完全無コントロールを好みます。この場合も シングルユーザークラスターが最適な選択肢となります。 25
  19. ©2022 Databricks Inc. — All rights reserved UCによるソフトウェア開発ライフサイクル環境 26 Unity

    Catalog Databricksワークスペース DEV Databricksワークスペース PROD クラスター クラスター カタログ PROD カタログ DEV Delta Lake DEV データ PROD データ <PA>トークン 経由の読み書き <DA> DEV システムアカウント (サービスプリンシパル、イン スタンスプロファイル、サービスアカウント ) <PA> PROD システムアカウント (サービスプリンシパル、インス タンスプロファイル、サービスアカウント ) (PROD データのテーブ ルに対して) <PA>にアクセスを 許可 ( DEV データの テーブルに対し て)<UG>にアクセ スを許可 <PA>にアクセス許可 <DA>にアクセス許可 <UG> ユーザーグループ (開発者、データエンジニア、 データサイエンティスト ) Users ジョブ <DA>トークン経 由の読み書き check check 注意: • DEV、PRODごとに別のワークスペース にしている理由の一つは、これらを別の VNet/VPCに配置できるということがあり ます。これはUCとは独立していますが、 ここで示しているような環境に関連しま す。