メインコンテンツまでスキップ

OpenSharing Databricks-to-Databricks プロトコルとは何ですか?

このページでは、アカウントやクラウドホストに関係なく、Unity Catalogが有効になっているワークスペースにアクセスできるDatabricksユーザーであれば、Databricks-to-Databricks OpenSharingを使用してデータを安全に共有する方法の概要を説明します。

Databricks-to-Databricks OpenSharingは誰が使用すべきですか?

OpenSharingを使用してデータを共有する方法は3つあります。

  1. この記事で説明する Databricks間共有プロトコル を使用すると、Unity カタログが有効なワークスペースのデータを、同じく Unity カタログが有効なDatabricksワークスペースにアクセスできるユーザーと共有できます。

    This approach uses the OpenSharing server that is built into Databricks and provides support for notebook sharing, Unity Catalog data governance, auditing, and usage tracking for both providers and recipients. The integration with Unity Catalog simplifies setup and governance for both providers and recipients and improves performance.

  2. Databricks のオープン共有プロトコル を使用すると、Unity Catalog対応のDatabricks ワークスペースで管理するデータを、任意のコンピューティングプラットフォーム上のユーザーと共有できます。

    OpenSharing Databricks-to-Open 共有プロトコルとは」を参照してください。

  3. Databricksの有無に関わらず、あらゆるプラットフォームからあらゆるプラットフォームへの共有を可能にする、オープンソースのOpenSharingサーバーの顧客管理実装です。

    オープンソースプロジェクトをご覧ください。

OpenSharing の概要、およびこれらの3つのアプローチに関する詳細情報については、「OpenSharing とは?」を参照してください。

Databricks-to-Databricks OpenSharing ワークフロー

このセクションではDatabricks間共有ワークフローの概要と、各ステップの詳細なドキュメントへのリンクを提供します。

Databricks-to-Databricks OpenSharing モデルの場合:

  1. データ 受信者 は、データ プロバイダーが共有しているデータにアクセスするために受信者 (ユーザーまたはユーザーのグループを表す) が使用する Databricks ワークスペースにアタッチされている Databricks Unity Catalog メタストアの一意の 共有識別子 をデータ プロバイダー に提供します。

    詳細については、「 ステップ 1: 受信者の共有識別子を要求する」を参照してください。

  2. データ プロバイダーは、プロバイダーの Unity Catalog メタストアに 共有 を作成します。この名前付きオブジェクトには、メタストアに登録されているテーブル、ビュー、ボリューム、ノートブックのコレクションが含まれています。

    詳細については、OpenSharing の共有を作成を参照してください。

  3. データ プロバイダーは、プロバイダーの Unity Catalog メタストアに受信者オブジェクトを作成します。この名前付きオブジェクトは、共有に含まれるデータにアクセスするユーザーまたはユーザーのグループと、ユーザーまたはユーザーのグループが共有にアクセスするために使用するワークスペースにアタッチされている Unity Catalog メタストアの共有識別子を表します。共有識別子は、安全な接続を可能にするキー識別子です。

    詳細については、「 ステップ 2: 受信者を作成する」を参照してください。

  4. データ プロバイダーは、受信者に共有へのアクセス権を付与します。

    詳細については、OpenSharing データ共有へのアクセスを管理する (プロバイダー向け)を参照してください。

  5. この共有は受信者のDatabricksワークスペースで利用できるようになり、受信者はカタログ エクスプローラー、 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 がデフォルトです。

スキーマ全体を共有すると、スキーマ内のすべてのテーブルがデフォルトで履歴と共有されます。

注記

パーティション分割が有効になっているテーブルは、履歴共有のパフォーマンス上の利点を受けません。 共有するテーブルパーティションの指定を参照してください。

クラウド VPN の資格要件とデータ プライバシーの考慮事項については、 「クラウド VPN 資格」を参照してください。

Databricks-to-Databricks OpenSharing クラウド環境向けサポートマトリックス

Databricks-to-Databricks OpenSharing は、同じ環境タイプ間、つまり商用環境同士、GovCloud 環境同士、DoD 環境同士、または Azure China 環境同士でのみサポートされています。環境間共有 — 商用クラウドから AWS GovCloud へ、あるいは AWS GovCloud から Azure China へ — はサポートされていません。商用クラウドには、FedRAMP Moderate などのコンプライアンス制御が有効になっているワークスペースが含まれます。

Databricks-to-Databricks OpenSharing は Azure Government 環境ではサポートされていません。

このマトリックスでは、各行はプロバイダー環境 (データを共有するメタストア) を表し、各列は受信者環境 (共有データを受け取るメタストア) を表します。この表は、各組み合わせで共有がサポートされているかどうかを示しています。

プロバイダー

受信者: 商用クラウド

受信者: AWS GovCloud

受信者: AWS GovCloud DoD

受信者: Azure China

商用クラウド

AWS GovCloud

AWS GovCloud DoD

Azure China