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

OpenSharing とは何ですか?

このページでは、Databricks の OpenSharing を紹介します。これは、ユーザーが Databricks を使用しているかどうかにかかわらず、Databricks 内のデータと AI アセットを組織外のユーザーと共有できる安全なデータ共有プラットフォームです。OpenSharingは、データ製品を交換するためのオープンフォーラムであるDatabricks Marketplaceの基盤でもあります。

OpenSharingは、他のプラットフォームからDeltaテーブルを共有するために使用できる、オープンソースプロジェクトとしても利用できます。

OpenSharing の仕組みはどうなっていますか?

OpenSharingは、他の組織との安全なデータ共有を行うために、Databricksによって開発されたオープンプロトコルです。それは、それらの組織が使用するコンピューティングプラットフォームに関係なく機能します。

OpenSharingを使用してデータを共有する方法はいくつかあります:

  1. Databricks-to-Databricks 共有プロトコル は、Unity Catalogが有効なワークスペースのデータとAIアセットを、Unity Catalogが有効なDatabricksワークスペースにもアクセスできるユーザーと共有できます。

    このアプローチでは、Databricksに組み込まれているOpenSharingサーバーを使用します。他のプロトコルではサポートされていないOpenSharingの一部の機能をサポートしており、これにはノートブック共有、Unity Catalogボリューム共有、Unity Catalog AIモデル共有、Unity Catalogデータガバナンス、監査、プロバイダーと受信者の両方に対する使用状況の追跡が含まれます。Unity Catalogとの統合により、プロバイダーと受信者の両方にとってセットアップとデータガバナンスが簡素化され、パフォーマンスが向上します。

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

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

    このアプローチでは、Databricks に組み込まれている OpenSharing サーバーを使用します。Unity Catalog を使用してデータを管理していて、Databricks を使用していないユーザーや Unity Catalog 対応の Databricks ワークスペースにアクセスできないユーザーとデータを共有したい場合に便利です。プロバイダー側でのUnity Catalogとの統合により、プロバイダーのセットアップとガバナンスが簡素化されます。

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

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

    Databricksドキュメントには独自のOpenSharingサーバーをセットアップする手順は記載されていません。オープンソースプロジェクトをご覧ください。

  4. Unity Catalogが有効なワークスペースとSAP BDCアカウントの間でデータを共有できる**Databricks用SAP Business Data Cloud (BDC) コネクタ**。

    このアプローチは、OpenSharingを活用し、SAP BDCデータ製品へのライブ、ゼロコピーアクセスを実現するSAP BDCコネクタを使用します。

    Databricks 用 SAP BDC コネクタとはを参照してください。

共有、プロバイダー、および受信者

DatabricksのOpenSharingの基礎となる主な概念は、 共有プロバイダー 、および 受信者 です。

共有とは?

OpenSharing では、 共有 は、プロバイダーが1人以上の受信者と共有する、テーブルとテーブルパーティションの読み取り専用のコレクションです。受信者がUnity Catalogが有効なDatabricks ワークスペースを使用している場合は、ノートブックファイル、ビュー(行と列のレベルでアクセスを制限する動的ビューを含む)、Unity Catalog ボリューム、およびUnity Catalog モデルを共有に含めることもできます。

共有に対して、テーブル、ストリーミングテーブル、管理対象のIcebergテーブル、ビュー、マテリアライズドビュー、ボリューム、モデル、ノートブックファイルをいつでも追加または削除でき、共有へのデータ受信者のアクセス権をいつでも割り当てたり、取り消したりできます。

Unity Catalogが有効なDatabricks ワークスペースでは、共有はUnity Catalogに登録されているセキュリティ保護可能なオブジェクトです。Unity Catalog Metasotreから共有を削除すると、その共有のすべての受信者がその共有オブジェクトにアクセスできなくなります。

「OpenSharing 共有の作成」を参照してください。

プロバイダーとは何ですか?

プロバイダー は、受信者とデータを共有する事業体です。プロバイダーであり、組み込みの Databricks OpenSharing サーバーを利用し、Unity Catalog を使用して共有と受信者を管理したい場合は、Unity Catalog が有効になっている Databricks ワークスペースが少なくとも 1 つ必要です。すべての既存ワークスペースをUnity Catalogに移行する必要はありません。OpenSharingのニーズに合わせて、新しいUnity Catalog対応ワークスペースを作成するだけです。

受信者がUnity Catalog対応のDatabricksワークスペース上にいる場合、プロバイダーも、プロバイダー組織を表し、その組織を共有セットに関連付けるUnity Catalogのセキュリティ保護可能なオブジェクトになります。

受信者とは?

受信者 とは、プロバイダーから共有を受け取る事業体のことです。Unity Catalogでは、共有とは組織を表すセキュリティ保護可能なオブジェクトであり、その組織が1つ以上の共有にアクセスできるようにする資格情報または安全な共有識別子に関連付けられます。

データプロバイダー(共有者)は、特定のUnity Catalogメタストアに対して複数の受信者を定義できますが、複数のメタストアのデータを特定のユーザーまたはユーザーグループと共有する場合は、メタストアごとに受信者を個別に定義する必要があります。受信者は複数の共有にアクセスできます。

プロバイダーがUnity Catalogメタストアから受信者を削除すると、その受信者は以前にアクセスできたすべての共有にアクセスできなくなります。

OpenSharing (Databricks-to-Databricks共有) のデータ受信者を作成する」を参照してください。

Databricks-to-Open sharing と Databricks-to-Databricks sharing

このセクションでは、Unity Catalogが有効になっているDatabricksワークスペースから共有するための2つのプロトコルについて説明します。

注記

このセクションでは、プロバイダーがUnity Catalog対応のDatabricksワークスペース上にあることを前提としています。Databricks 以外のプラットフォームまたはUnity Catalog以外のカタログワークスペースから共有するようにオープンソースのOpenSharingサーバーを設定する方法については、「オープンソースプロジェクト」を参照してください。

プロバイダーがDatabricksでOpenSharingを使用する方法は、データを共有している相手によって異なります:

  • オープン共有 を使用すると、Databricksにアクセスできるかどうかに関係なく、任意のユーザーとデータを共有できます。
  • Databricks-to-Databricks 共有を使用すると、自分とは異なるUnity Catalogメタストアにアタッチされたワークスペースを持つDatabricksユーザーとデータを共有できます。Databricks-to-Databricksは、オープン共有では利用できないノートブック、ボリューム、モデルの共有もサポートしています。

オープンな OpenSharing とは何ですか?

Databricksを使用しているかどうかに関係なく、Databricksワークスペースの外部のユーザーとデータを共有する場合は、オープンOpenSharingを使用してデータを安全に共有できます。データプロバイダーとして、共有受信者との認証を管理するには、以下のいずれかの方法を使用します。

  • 有効期間の長いベアラートークンを生成し、受信者と安全に共有します。トークンを使用して認証し、アクセスを許可した共有に含まれるテーブルへの読み取りアクセス権を取得します。
  • Open ID Connect (OIDC) フェデレーションを利用し、受信者のIDプロバイダー (IdP) がDatabricksに渡すJWTトークンと引き換えに、短期間有効なDatabricks OAuthトークンを受信者に付与します。

受信者は、以下のような多くのコンピューティングツールやプラットフォームを使用して共有データにアクセスすることができます。

  • Databricks
  • Apache Spark
  • Pandas
  • Power BI

OpenSharingコネクタの全一覧と使用方法に関する情報は、OpenSharingドキュメントを参照してください。

OpenSharing Databricks-to-Open 共有プロトコルとは何ですか?」も参照してください。

Databricks-to-Databricks OpenSharing とは何ですか?

Unity Catalogが有効になっているDatabricksワークスペースを持つユーザーとデータを共有する場合は、Databricks-to-Databricks OpenSharingを使用できます。Databricks-to-Databricks共有を使用すると、AWS、Azure、GCPのいずれを使用しているかに関係なく、他のDatabricksアカウントのユーザーとデータを共有できます。また、独自のDatabricksアカウント内のさまざまなUnity Catalogメタストア間でデータを安全に共有するための優れた方法でもあります。このシナリオでは、Unity Catalog自体を使用してワークスペース間のデータへのアクセスを管理できるため、同じUnity Catalogメタストアに接続されているワークスペース間でデータを共有するためにOpenSharingを使用する必要はありません。

Databricks-to-Databricks共有の利点の1つは、共有受信者が共有にアクセスするためにトークンを必要とせず、プロバイダーが受信者トークンを管理する必要がないことです。共有接続のセキュリティ(すべてのID検証、認証、および監査を含む)は、OpenSharingとDatabricksプラットフォームを通じて完全に管理されます。もう一つの利点は、Databricks ノートブックファイル、Unity Catalog ボリューム、および Unity Catalog モデルを共有できることです。

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

プロバイダー管理者がOpenSharingを設定する方法

このセクションでは、プロバイダーがUnity Catalog対応のDatabricksワークスペースからOpenSharingを有効にして共有を開始する方法の概要について説明します。オープンソースのオープンシェアリングについては、オープンソースプロジェクトをご覧ください。

同じアカウント内の Unity Catalog メタストア間で Databricks-to-Databricks 共有は常に有効になっています。プロバイダーが OpenSharing で他のアカウントまたは Databricks 以外のクライアントの Databricks ワークスペースとデータを共有できるようにするには、Databricks アカウント管理者またはメタストア管理者が次のセットアップ ステップを(高レベルで)実行します。

  1. 共有したいデータを管理する Unity Catalog メタストアの OpenSharing を有効にします。
注記

OpenSharingを使用して、アカウント内の他のUnity Catalogメタストアのユーザーとのみデータを共有する場合は、メタストアでOpenSharingを有効にする必要はありません。1つのDatabricksアカウント内でのメタストア間の共有は、デフォルトで有効になっています。

メタストアでOpenSharingを有効にする」を参照してください。 2. Unity Catalog メタストアに登録されているデータ資産を含む共有を作成します。

Databricks以外の受信者と共有する場合 (Databricks-to-Open共有として知られています)、Delta形式のテーブルを含めることができます。Databricks-to-Databricks共有を使用する予定の場合、共有にビュー、Unity Catalogボリューム、Unity Catalogモデル、およびノートブックファイルを追加することもできます。

「OpenSharing 共有の作成」を参照してください。 3. 受信者を作成します。

OpenSharing (Databricks-to-Databricks共有) のデータ受信者を作成する」を参照してください。

受信者がDatabricksユーザーでない場合、またはUnity Catalogが有効になっているDatabricksワークスペースにアクセスできない場合は、Databricks-to-Open共有を使用する必要があります。その受信者に対して、ベアラートークンベースの資格情報を生成するか、OIDCフェデレーションを使用できます。

受信者がUnity Catalogが有効なDatabricksワークスペースにアクセスできる場合、Databricks-to-Databricks共有を使用でき、トークンベースの資格情報は不要です。受信者から 共有識別子 を要求し、それを使用して安全な接続を確立します。

ヒント

自分自身をテスト受信者として使用し、セットアッププロセスを試してください。

  1. 受信者に1つ以上の共有へのアクセス権を付与します。

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

注記

このステップは、USE SHAREUSE RECIPIENT、およびSET SHARE PERMISSIONの権限を持つ管理者以外のユーザーによっても実行できます。Unity Catalogの権限のリファレンスを参照してください。

  1. 受信者に、共有に接続するために必要な情報(Databricks-to-Open Sharingのみ)を送信します。

    ベアラー トークンを使用したDatabricksからのオープン共有では、安全なチャンネルを使用して受信者にアクティベーションリンクを送信し、トークンベースの資格情報をダウンロードできるようにします。「受信者に接続情報を送信する」を参照してください。

    OIDCトークンフェデレーションを使用したDatabricksからのオープン共有には、生成されたポータルのURLを送信してください。「オープン共有の受信者に対して Open ID Connect (OIDC) フェデレーションを有効にする」を参照してください。

    Databricks-to-Databricks共有の場合、共有に含まれるデータは、共有へのアクセスを付与するとすぐに受信者のDatabricksワークスペースで利用可能になります。

受信者は共有データにアクセスできるようになりました。

受信者が共有データにアクセスする方法とは?

受信者は、共有データアセットに読み取り専用形式でアクセスします。共有ノートブックファイルは読み取り専用ですが、クローンを作成し、他のノートブックと同様に受信者のワークスペースで変更および実行できます。

以下のように、安全なアクセスは共有モデルによって異なります。

データプロバイダーが独自のDatabricksアカウントでデータテーブルまたはボリュームを更新するたびに、受信者のシステムに更新がほぼリアルタイムで表示されます。OpenSharing を使用して共有されているデータにアクセスする方法については、「OpenSharing を使用して共有されたデータにアクセスする(受信者向け)」を参照してください。

共有データを共有およびアクセスしているユーザーを追跡する方法とは?

Unity Catalog が有効な Databricks ワークスペースのデータプロバイダーは、Databricks 監査ログとシステムテーブルを使用して、共有と受信者の作成および変更を監視し、共有での受信者のアクティビティを監視できます。「データ共有の監査と監視」を参照してください。

Databricksワークスペースで共有データを使用するデータ受信者は、Databricksの監査ログとシステムテーブルを使用して、どのデータに誰がアクセスしているかを把握できます。「データ共有の監査と監視」を参照してください。

ボリュームの共有

Databricks-to-Databricks 共有フローを使用してボリュームを共有できます。 「共有にボリュームを追加する (プロバイダー向け)」および「Databricks-to-Databricks OpenSharing を使用して共有されたデータを読み取る (受信者向け)」を参照してください。

モデルの共有

Databricks-to-Databricks 共有フローを使用してモデルを共有できます。共有にモデルを追加する(プロバイダーの場合)およびDatabricks-to-Databricks OpenSharing を使用して共有されたデータを読み取る(受信者の場合)(受信者の場合)を参照してください。

ノートブックの共有

OpenSharing を使用して、Databricks-to-Databricks 共有フローを使用してノートブックファイルを共有できます。「共有へのノートブックファイルの追加」(プロバイダー向け)および「共有ノートブックの読み取り」(受信者向け)を参照してください。

ビューを共有する際に行および列レベルでアクセスを制限する

受信者のプロパティに基づいて特定のテーブルデータへのアクセスを制限する動的ビューを共有できます。動的ビューを共有に追加して行と列をフィルター処理するを参照してください。

オープン共有とストリーミング

OpenSharing は Apache Spark 構造化ストリーミングをサポートしています。プロバイダーは、受信者が構造化ストリーミングソースとして使用できるように、履歴を含むテーブルまたはストリーミングテーブルを共有して、共有データを低遅延で段階的に処理できます。受信者は、履歴と共有されているテーブルに対してDelta Lakeタイムトラベルクエリーを実行することもできます。

履歴を使用してテーブルを共有する方法については、「共有にテーブルを追加する」を参照してください。共有テーブルをストリーミングソースとして使用する方法については、「Apache Spark構造化ストリーミングを使用してテーブルをクエリーする」(Databricks-to-Databricks共有の受信者向け)または「Spark構造化ストリーミングを使用して共有テーブルにアクセスする」(Databricks-to-Open共有データの受信者向け)を参照してください。

ストリーミングテーブルを共有する方法については、共有にストリーミングテーブルを追加するを参照してください。

以下も参照してください:構造化ストリーミングの概念

Delta Lake 機能サポートマトリックス

OpenSharing は、テーブルを共有する際に、ほとんどの Delta Lake 機能をサポートしています。このサポート・マトリックスには、次の項目が記載されています。

  • 特定のバージョンの Databricks Runtime、オープンソースの OpenSharing Spark コネクタ、またはオープンソースの OpenSharing Python コネクタを必要とする Delta 機能。
  • 部分的にサポートされている機能。

機能

プロバイダー

Databricks 受信者

オープンソース受信者

削除ベクトル

  • この機能を使用したテーブル共有はパブリックプレビュー段階です。
  • テーブルは履歴と共有する必要があります。
  • Databricks Runtime 14.1以降のバッチクエリ用
  • CDFおよびストリーミングクエリ用のDatabricks Runtime 14.2以降
  • OpenSharing Spark コネクタ 3.1 以降
  • OpenSharing Python コネクタ 1.1.0 以降
  • Power BI v2.132.908.0+

列マッピング

  • この機能を使用したテーブル共有はパブリックプレビュー段階です。
  • テーブルは履歴と共有する必要があります。
  • Databricks Runtime 14.1以降のバッチクエリ用
  • CDFおよびストリーミングクエリ用のDatabricks Runtime 14.2以降
  • OpenSharing Spark コネクタ 3.1 以降
  • OpenSharing Pythonコネクターでは、制限付きでサポートされています。
  • Power BI v2.132.908.0+

ユニフォーム形式

  • この機能を使用したテーブル共有はパブリックプレビュー段階です。
  • テーブルは履歴と共有する必要があります。
  • Databricks Runtime 14.1以降のバッチクエリ用
  • CDFおよびストリーミングクエリ用のDatabricks Runtime 14.2以降
  • OpenSharing Spark コネクタ 3.1 以降
  • OpenSharing Python コネクタ 1.1.0 以降
  • Power BI v2.132.908.0+

V2チェックポイント

制限事項付きでサポートされています。

制限事項付きでサポートされています。

制限事項付きでサポートされています。

TimestampNTZ

サポートされています

Databricks Runtime 14.1以上

OpenSharing Spark コネクタ 3.3以降

リキッドクラスタリング

制限事項付きでサポートされています。

制限事項付きでサポートされています。

制限事項付きでサポートされています。

OpenSharing FAQ

以下は、OpenSharingに関するよくある質問です。

OpenSharingを使用するにはUnity Catalogが必要ですか?

いいえ、共有 (プロバイダーとして) または共有データの使用 (受信者として) に Unity Catalog は必要ありません。ただし、Unity Catalogは、非表形式およびAIアセット共有のサポート、すぐに使用できるガバナンス、シンプルさ、クエリパフォーマンスなどの点で有利です。

プロバイダーは2つの方法でデータを共有することができます:

  • 共有するアセットをUnity Catalogの管理下に置き、組み込みのDatabricks OpenSharingサーバーを使用して共有します。

    すべてのアセットをUnity Catalogに移行する必要はありません。共有したいアセットを管理するには、Unity Catalogが有効になっているDatabricksワークスペースが1つだけ必要です。一部のアカウントでは、新しいワークスペースが Unity Catalog に対して自動的に有効になります。Unity Catalog の概要を参照してください。

  • Databricksアカウントを使用することなく、Databricks-to-Open 共有サーバーを実装してデータを共有します

受信者は、次の2つの方法でデータを消費できます:

  • Databricksワークスペースなし。Power BI、pandas、オープンソースApache Sparkなど、多くのデータプラットフォームで使用できるオープンソース OpenSharing コネクタを使用します。「OpenSharing Databricks-to-Open sharing を使用して共有されたデータの読み取りとベアラー トークンとのオープン共有」および「OpenSharing オープンソース プロジェクト」を参照してください。

  • Databricksワークスペースで。受信者ワークスペースはUnity Catalogで有効にする必要はありませんが、有効にするとガバナンス、シンプルさ、パフォーマンスの利点があります。

    これらの利点を求める受信者組織は、すべての資産をUnity Catalogに移行する必要はありません。共有されている資産を管理するには、Unity Catalog用に有効化されたDatabricksワークスペースが1つだけ必要です。一部のアカウントでは、新しいワークスペースが Unity Catalog に対して自動的に有効になります。Unity Catalog の概要を参照してください。

OpenSharing Databricks-to-Open sharing (ベアラートークンを使用) を使用して共有されたデータを読み取る」および「Databricks-to-Databricks OpenSharing (受信者用) を使用して共有されたデータを読み取る」を参照してください。

OpenSharing を使用するために Databricks の顧客である必要がありますか?

いいえ、OpenSharing はオープンなプロトコルです。Databricks以外のデータは、任意のデータプラットフォーム上の受信者と共有できます。プロバイダーは、任意のコンピューティングプラットフォームから共有するようにオープンOpenSharingサーバーを構成できます。受信者は、Power BI、pandas、オープンソースSparkなど、多くのデータ製品のオープンソースOpenSharingコネクタを使用して共有データを使用できます。

ただし、DatabricksでOpenSharingを使用すること、特にUnity Catalog対応ワークスペースからの共有には多くの利点があります。

詳細については、このFAQの最初の質問を参照してください。

OpenSharing コストを発生させて、確認するにはどうすればよいですか?

OpenSharingのコストは、ビュー、マテリアライズドビュー、ストリーミングテーブルを共有およびアクセスする際に発生します。以下は、共有による潜在的なコストです。

  • Databricksが課金するコンピュートコスト。

  • ストレージおよびネットワーク転送 (エグレス) コストは、ストレージベンダーによって請求されます。

  • 外部スキーマとテーブルを共有する場合の、外部コンピュートソースのコスト。

コンピュートが実行される方法と、その費用を誰が支払うかは、いくつかの要因によって異なります。

  • 受信者コンピュートの種類
  • 同じ Databricks アカウント内で共有が行われるか、複数のアカウント間で共有が行われるか

次の表では、OpenSharing を使用したビューの共有とアクセスに関する課金方法について説明します。

受信者のコンピュート

アカウント関係

支払い元

請求に使用されるSKU

アクセス方法

Databricks のサーバーレス

すべて

受信者*

受信者のサーバレス

受信者は基になるデータに直接アクセスできます。

Databricks クラシック

同じアカウント

受信者*

受信者のクラシック

受信者は基になるデータに直接アクセスできます。

Databricks クラシック

異なるアカウント

受信者

プロバイダーのインタラクティブ サーバレス

プロバイダーがフィルタリングを実行します

Databricks間オープン共有コネクタ

すべて

プロバイダー

プロバイダーのインタラクティブ サーバレス

プロバイダーがフィルタリングを実行します

別の**アカウント**で**サーバレスコンピュート**を使用している受信者とOpenSharingを使用する場合、または同じ**アカウント**の受信者と使用する場合、追加料金は発生しません。これにより、データアセットのマテリアライズに追加費用は発生しません。

フォーリンテーブル (ベータ版) を共有する場合、マテリアライズは常にプロバイダー側で実行され、保存されます。フォーリンIcebergテーブルの場合、Icebergクライアントを使用しないオープンな受信者と共有するときに、マテリアライズはプロバイダー側で実行されます。データマテリアライズに使用されるデフォルトストレージに起因する追加料金が、プロバイダーに表示される可能性があります。ベータ期間中、フォーリンテーブルのコンピュートコストはかかりません。

課金アトリビューションは、課金利用システムテーブルリファレンスおよびOpenSharing マテリアライゼーション履歴システムテーブルリファレンスを使用して照会することもできます。受信者がアトリビューションの料金を支払う場合、受信者のみがシステムテーブル内の関連するレコードを閲覧できます。クエリの例については、「サンプルクエリ」を参照してください。

OpenSharing は egress のコストがかかりますか?

リージョン内のOpenSharingに、エグレスコストはかかりません。他のデータ共有プラットフォームとは異なり、OpenSharingではデータのレプリケーションは必要ありません。このモデルには多くの利点がありますが、クラウドまたはリージョン間でデータを共有する場合、クラウドベンダーがデータエグレス料金を請求する可能性があることを意味します。Databricks は、egress料金が発生しない Cloudflare R2 からの共有をサポートしており、egress料金を監視して回避するためのその他のツールと推奨事項を提供しています。OpenSharing エグレスコストを監視および管理する (プロバイダー向け)を参照してください。

受信者は、共有ビュー、マテリアライズドビュー、ストリーミングテーブルの基になるデータに直接アクセスできますか?

共有ビュー、マテリアライズドビュー、およびストリーミングテーブルの場合、次のいずれかが当てはまる場合、データ受信者は直接アクセスできます:

  • 受信者は、同じDatabricksアカウント上でサーバレスコンピュートまたは非専用のクラシックコンピュートを使用します。
  • 受信者は、別のDatabricksアカウント上でサーバレス コンピュートを使用します。

それ以外の場合、データはプロバイダー側でマテリアライズされ、フィルタリングされます。

データの具体化は、共有データ資産の親ストレージの場所に保存されます。

マテリアライズド アセットを共有する場合、コンピュートは必要なフィルターを適用し、プロバイダーのストレージにキャッシュされた一時的な具体化を作成することで、リクエストを処理します。このフィルタリングされたデータは、事前署名された有効期間の短いURLを使用して受信者に配信され、安全なアクセスを確保しつつ、プロバイダーから受信者へのアクセス制御を維持します。

プロバイダーは受信者アクセスを取り消すことができるか?

はい、受信者のアクセスは、オンデマンドで、指定した粒度レベルで取り消すことができます。特定の共有および特定のIPアドレスへの受信者アクセスの拒否、受信者の表形式のデータのフィルター処理、受信者トークンの取り消し、受信者の完全な削除を行うことができます。「共有への受信者のアクセス権を取り消す」および「OpenSharing のデータ受信者を作成する (Databricks-to-Databricks 共有)」を参照してください。

署名済みURLを使用するのは危険ではないのですか?

OpenSharingでは、署名済みのURLを使用して、オブジェクトストレージ内のファイルへの一時的なアクセスを提供します。これらは、共有データにすでにアクセスできる受信者にのみ付与されます。これらは有効期限が短く、受信者にすでに付与されているアクセスレベルを超えてアクセスレベルを拡大しないため、安全です。

OpenSharing Databricks間Open Sharingプロトコルで使用されているトークンのセキュリティは保護されていますか?

OpenSharingでは、他のデータ共有プラットフォームとは異なり、クロスプラットフォームでの共有が可能なため、共有プロトコルにはオープントークンが必要です。プロバイダーは、トークンの有効期間を設定し、ネットワーク制御を設定し、オンデマンドでアクセスを取り消すことで、トークンのセキュリティを確保できます。さらに、このトークンは、受信者にすでに付与されているアクセスレベルを超えてアクセスレベルを拡大しません。「トークンのセキュリティに関する考慮事項」を参照してください。

受信者共有へのアクセス管理にトークンを使用しない場合は、Databricks-to-Databricks共有を使用するか、代替手段についてDatabricksアカウントチームにお問い合わせください。

LakeFlow ConnectとOpenSharingの違いは何ですか?

OpenSharing を使用すると、プラットフォーム、クラウド、リージョン間でライブ データを安全に共有できます。Databricksでは、大量のデータ、低レイテンシのクエリ、およびサードパーティのAPI制限に対応するようにスケーリングできるため、マネージドコネクタを使用したデータ取り込みをお勧めします。ただし、データを移動せずにクエリを実行することもできます。

マネージド コネクタと OpenSharing のいずれかを選択できる場合、以下のシナリオでは OpenSharing を選択してください:

  • データの重複を制限しています。
  • 可能な限り最新のデータをクエリしています。

制限事項

テーブル形式と機能のサポート

フォーマット要件:

  • 表形式データは、Deltaまたは管理対象のIcebergテーブル形式である必要があります。ParquetテーブルをDeltaに簡単に変換したり、元に戻したりすることができます。See CONVERT TO DELTA.
  • OpenSharing は、UniForm テーブルを Delta テーブルとしてのみ読み取ることができます。

サポートされていないテーブル:

  • プロバイダーは、パーティションフィルタリングでリキッドクラスタリングを使用するテーブルを共有できません。
  • プロバイダーは、R2 テーブルを V2 チェックポイントと共有できません。
  • プロバイダーは照合順序が有効になっているテーブルを共有できません。
  • プロバイダーは、行フィルターまたは列マスクのあるテーブルを共有できません。
  • プロバイダーはSHALLOW CLONEテーブルを共有できません。Databricksは、絶対パスを参照するDeltaログのURLの事前署名をサポートしていません。
  • プロバイダーは、マネージド Iceberg テーブルを外部の Iceberg クライアントと共有できません。マネージド Iceberg テーブルを共有に追加する外部の Iceberg クライアントへの共有を有効にするを参照してください。
  • 外部キー制約は共有テーブルでは使用できません。

Databricks-to-Databricks共有のみ

次のアセットは、Databricks-to-Databricks 共有フローでのみ共有できます。

ビュー

  • 共有可能なビューは、Delta テーブルまたはその他の共有可能なビューで定義する必要があります。「共有にビューを追加」(プロバイダーの場合)および「共有ビューの読み取り」(受信者の場合)を参照してください。

ストリーミング

  • OpenSharing は、ストリーミング ソースの実行中またはストリーミングの再起動中に responseFormat の変更をサポートしていません。

受信者のメタデータ

  • 共有カタログの information_schema 内のテーブルは、Unity Catalog に格納されているメタデータを反映します。このメタデータは、共有テーブルを直接クエリするか、DESCRIBEREFRESH FOREIGN などのコマンドを実行した場合にのみ、プロバイダーから更新されます。それまでは、information_schema はプロバイダーのデータと比較して古くなっているように見える場合があります。

リソースと技術制限

  • 共有テーブルに許可されるメタデータ内のファイル数には制限があります。詳細については、「リソース制限超過エラー」を参照してください。
  • information_schemaという名前のスキーマはUnity Catalogで予約されているため、Unity Catalogメタストアにインポートできません。

Delta Lake機能サポートマトリックスも参照してください。

カスケード削除は共有保護をバイパスします

カタログやスキーマなどの親オブジェクトを削除すると、その子オブジェクトがアクティブな共有に含まれている場合でも、子オブジェクトのカスケード削除がトリガーされます。カスケード削除によってアセットが削除された後、同じ名前のアセットを共有に再度追加することはできません。

この問題を回避するには、親オブジェクトを削除する前に、すべての共有からアセットを削除してください。

リソースクォータ

Databricks は、すべての OpenSharing セキュリティ保護可能なオブジェクトにリソース クォータを適用します。これらのクォータは、リソース制限に記載されています。これらのリソース制限を超えることが予想される場合は、Databricksアカウントチームにお問い合わせください。

クォータの使用状況は、 Unity Catalog リソース クォータ APIを使用して監視できます。 「Unity Catalog のリソース クォータの使用状況を監視する」を参照してください。

その他のリソース

このページの見出し