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

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

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

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

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

Avatar for Databricks Japan

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とは独立していますが、 ここで示しているような環境に関連しま す。