Slide 1

Slide 1 text

©2022 Databricks Inc. — All rights reserved 1 データとAIの統一的なガバナンス管理 Unity Catalogの仕組み

Slide 2

Slide 2 text

©2022 Databricks Inc. — All rights reserved Technical Deep Dive 2

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

©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) アイデンティティ連携

Slide 7

Slide 7 text

©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;

Slide 8

Slide 8 text

©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;

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

©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; メタ ストア 資格情報

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

©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 読み / 書き

Slide 13

Slide 13 text

©2022 Databricks Inc. — All rights reserved データ アクセスパターン 13

Slide 14

Slide 14 text

©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

Slide 15

Slide 15 text

©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

Slide 16

Slide 16 text

©2022 Databricks Inc. — All rights reserved UCとDelta Sharing 16

Slide 17

Slide 17 text

©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

Slide 18

Slide 18 text

©2022 Databricks Inc. — All rights reserved リネージ 18

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

©2022 Databricks Inc. — All rights reserved UC and Partners 20

Slide 21

Slide 21 text

©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

Slide 22

Slide 22 text

©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

Slide 23

Slide 23 text

©2022 Databricks Inc. — All rights reserved UCのベストプラクティス 23

Slide 24

Slide 24 text

©2022 Databricks Inc. — All rights reserved Unity Catalogのクラスター/ウェアハウス 24 システムアカウント(サービスプリンシパル、 インスタンスプロファイル、サービスアカウント) 共有モードのクラスター ● 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 トークン 経由の読み書き トークン 経由の読み書き トークン 経由の読み書き

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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