OpenSharing Databricks-to-Databricks プロトコルとは何ですか?
このページでは、アカウントやクラウドホストに関係なく、Unity Catalogが有効になっているワークスペースにアクセスできるDatabricksユーザーであれば、Databricks-to-Databricks OpenSharingを使用してデータを安全に共有する方法の概要を説明します。
Databricks-to-Databricks OpenSharingは誰が使用すべきですか?
OpenSharingを使用してデータを共有する方法は3つあります。
-
この記事で説明する Databricks間共有プロトコル を使用すると、Unity カタログが有効なワークスペースのデータを、同じく Unity カタログが有効なDatabricksワークスペースにアクセスできるユーザーと共有できます。
このアプローチでは、Databricksに組み込まれているOpenSharingサーバーを使用し、プロバイダーと受信者の両方に対して、ノートブックの共有、Unity Catalogデータガバナンス、監査、使用状況の追跡をサポートします。Unity Catalogとの統合により、プロバイダーと受信者の両方のセットアップとガバナンスが簡素化され、パフォーマンスが向上します。
-
Databricks のオープン共有プロトコル を使用すると、Unity Catalog対応のDatabricks ワークスペースで管理するデータを、任意のコンピューティングプラットフォーム上のユーザーと共有できます。
「OpenSharing Databricks-to-Open 共有プロトコルとは」を参照してください。
-
Databricksの有無に関わらず、あらゆるプラットフォームからあらゆるプラットフォームへの共有を可能にする、オープンソースのOpenSharingサーバーの顧客管理実装です。
オープンソースプロジェクトをご覧ください。
OpenSharing の概要、およびこれらの3つのアプローチに関する詳細情報については、「OpenSharing とは?」を参照してください。
Databricks-to-Databricks OpenSharing ワークフロー
このセクションではDatabricks間共有ワークフローの概要と、各ステップの詳細なドキュメントへのリンクを提供します。
Databricks-to-Databricks OpenSharing モデルの場合:
-
データプロバイダーが共有しているデータにアクセスするため、受信者(ユーザーまたはグループを表します)が使用するDatabricks ワークスペースにアタッチされているDatabricks Unity Catalog メタストアの一意の共有識別子を、データ受信者はデータプロバイダーに提供します。
詳しくは、ステップ 1: 受信者の共有識別子をリクエストするを参照してください。
-
データプロバイダーは、自身のUnity Catalog metastoreに「シェア」を作成します。この名前付きオブジェクトには、metastoreに登録されているテーブル、ビュー、ボリューム、ノートブックのコレクションが含まれています。
詳細については、OpenSharing の共有を作成を参照してください。
-
データプロバイダーは、プロバイダーの Unity Catalog メタストアに受信者オブジェクトを作成します。この名前付きオブジェクトは、共有に含まれるデータにアクセスするユーザーまたはユーザーグループ、およびユーザーまたはユーザーグループが共有にアクセスするために使用するワークスペースにアタッチされている Unity Catalog メタストアの共有識別子を表します。共有識別子は、安全な接続を有効にするキー識別子です。
詳細については、ステップ 2: 受信者を作成するを参照してください。
-
データプロバイダーは受信者に共有へのアクセス権を付与します。
詳細については、OpenSharing データ共有へのアクセスを管理する (プロバイダー向け)を参照してください。
-
共有は受信者の Databricks ワークスペースで利用できるようになり、受信者は Catalog Explorer、Databricks CLI、または Databricks ノートブックまたは Databricks SQL クエリエディターの SQL コマンドを使用してアクセスできます。
共有内のテーブル、ビュー、ボリューム、ノートブックにアクセスするには、メタストア管理者または特権ユーザーが共有からカタログを作成する必要があります。その後、そのユーザーまたは適切な特権を付与された別のユーザーは、カタログおよびカタログ内のオブジェクトへのアクセス権を他のユーザーに付与できます。共有カタログとデータ資産に対するアクセス許可の付与は、Unity Catalog に登録されている他の資産の場合と同様に機能しますが、重要な違いは、OpenSharing 共有から作成されたカタログ内のオブジェクトに対しては、ユーザーに読み取りアクセス権のみを付与できることです。
共有ノートブックはカタログレベルに存在し、カタログに対する
USE CATALOG特権を持つすべてのユーザーがアクセスできます。詳細については、Databricks-to-Databricks OpenSharing を使用して共有されたデータを読み取る (受信者向け)を参照してください。
履歴共有によるテーブル読み取りパフォーマンスの向上
Databricks-to-Databricksテーブル共有は、履歴共有を有効にすることでパフォーマンスを向上させることができます。履歴共有は、プロバイダーの共有Deltaテーブルのルートディレクトリにスコープが絞られた、クラウドストレージの一時的なセキュリティ資格情報を活用することでパフォーマンスを向上させ、ソーステーブルへの直接アクセスに匹敵するパフォーマンスを実現します。
- 新しいテーブル共有の場合は、テーブル共有の作成時に
WITH HISTORYを指定します。 共有にテーブルを追加するを参照してください。Databricks Runtime 16.2 以降でコンピュートを使用してテーブルを共有する場合、WITH HISTORYがデフォルトです。 - 既存のテーブル共有の場合、テーブル履歴を共有するには、共有を変更する必要があります。共有の更新を参照してください。Databricks Runtime 16.2 以降でコンピュートを使用してテーブルを共有する場合、
WITH HISTORYがデフォルトです。
スキーマ全体を共有すると、スキーマ内のすべてのテーブルが履歴とともにデフォルトで共有されます。
パーティション分割が有効になっているテーブルは、履歴共有のパフォーマンス上の利点を受けません。 共有するテーブルパーティションの指定を参照してください。
クラウドトークンの利用資格要件およびデータプライバシーに関する考慮事項については、「クラウドトークンの利用資格」を参照してください。
Databricks-to-Databricks OpenSharing クラウド環境向けサポートマトリックス
Databricks-to-Databricks OpenSharing は、同じ環境タイプ内での共有をサポートします。商用クラウドには、FedRAMP Moderate などのコンプライアンス制御が有効になっているワークスペースが含まれます。Azure Government 環境との共有はサポートされていません。
プレビュー
規制ドメインを越えた共有はゲート付き パブリック プレビュー段階です。開始するには、Databricksアカウントチームにご連絡ください。
このマトリックスでは、各行はプロバイダー環境(データを共有するメタストア)を、各列は受信者環境(共有データを受信するメタストア)を表します。
プロバイダー | 受信者: 商用クラウド | 受信者:AWS GovCloud | 受信者: AWS GovCloud DoD | 宛先: Azure China |
|---|---|---|---|---|
商用クラウド | ✓ | ✓ | ✓ | ✓ |
AWS GovCloud | ✓ | ✓ | ✓ | |
AWS GovCloud DoD | ✓ | ✓ | ✓ | |
Azure China | ✓ | ✓ |
制限事項:
規制横断型ドメイン共有に関する次の制限が適用されます:
-
クラウドトークンは、シェアがAWS GovCloudまたはAWS GovCloud DoDをまたがない限り使用されます。以下のケースでは、代わりに署名付きURLを使用してテーブルが共有されます。
- 商用クラウドは、AWS GovCloudまたはAWS GovCloud DoDのいずれかと共有を送受信します。
- AWS GovCloudとAWS GovCloud DoDは互いに共有しています。
-
GCP 商用ワークスペースは、AWS GovCloud DoD と共有したり、AWS GovCloud DoD から共有を受け取ったりすることはできません。