Delta Sharingエグレスコストを監視および管理する (プロバイダー向け)
この記事では、 Delta Sharingを使用してデータと AI 資産を共有するときに、クラウド ベンダーのエグレスコストを監視および管理するために使用できるツールについて説明します。
他のデータ共有プラットフォームとは異なり、 Delta Sharingデータ レプリケーションを必要としません。 このモデルには多くの利点がありますが、クラウドまたはリージョン間でデータを共有する場合、クラウド ベンダーがデータ送信料金を請求する可能性があることを意味します。 Delta Sharing使用してリージョン内でデータと AI アセットを共有する場合、エグレスコストは発生しません。
下り料金を監視および管理するために、Databricks は以下を提供します。
データをレプリケートしてエグレス・コストを回避
エグレス コストを回避する方法の 1 つは、プロバイダーが受信者が使用しているリージョンで共有データのローカル レプリカを作成して同期することです。 もう 1 つの方法は、受信者がアクティブなクエリを実行するために共有データをローカル領域に複製し、共有テーブルとローカル複製の間の同期を設定することです。 このセクションでは、いくつかのレプリケーション パターンについて説明します。
増分レプリケーションにはDeltaディープ クローンを使用する
プロバイダは、DEEP CLONE
を使用して、共有先のリージョン全体の外部ロケーションにDeltaテーブルを複製できます。 ディープ クローンは、ソース テーブルのデータとメタデータをクローン ターゲットにコピーします。 ディープ クローンでは、ソース テーブル内の新しいデータを識別し、それに応じてターゲットを更新することにより、増分更新も可能になります。
CREATE TABLE [IF NOT EXISTS] table_name DEEP CLONE source_table_name
[TBLPROPERTIES clause] [LOCATION path];
次のコマンドを使用して、 Databricks Workflowsジョブをスケジュールして、共有テーブルの最近の更新に応じてターゲット テーブル データを段階的に更新できます。
CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;
「Databricks でのテーブルのクローン作成」および「Databricksワークフローの概要」を参照してください。
Cloudflare R2レプリカを使用するか、ストレージをR2に移行
プレビュー
この機能はパブリックプレビュー段階です。
Cloudflare R2オブジェクトストレージでは、エグレス料金はかかりません。 共有するデータを R2 に複製または移行すると、下り料金を発生させずにDelta Sharing使用してデータを共有できるようになります。 このセクションでは、データを R2 の場所にレプリケートし、ソース テーブルからの増分更新を有効にする方法について説明します。
要件
Databricks ワークスペースがUnity Catalogに対して有効になっています。
Databricks Runtime 14.3 以降、または SQLwarehouse 2024.15 以降。
クラウドフレアアカウント。 https://dash.cloudflare.com/sign-up を参照してください。
Cloudflare R2管理者ロール。 Cloudflareの役割に関するドキュメントを参照してください。
CREATE STORAGE CREDENTIAL
ワークスペースにアタッチされているUnity Catalogメタストアに対する権限。 アカウント管理者とメタストア管理者には、デフォルトでこの権限が与えられます。CREATE EXTERNAL LOCATION
メタストアと外部ロケーションで参照されるストレージ資格情報の両方に対する権限。 メタストア管理者にはデフォルトでこの権限が与えられます。CREATE MANAGED STORAGE
外部ロケーションの特権。CREATE CATALOG
メタストア上。 メタストア管理者にはデフォルトでこの権限が与えられます。
Databricks で R2 バケットを外部ロケーションとしてマウントする
Cloudflare R2バケットを作成します。
「R2 バケットの設定」を参照してください。
R2 バケットへのアクセスを許可するストレージ認証情報をUnity Catalogに作成します。
「 ストレージ資格情報の作成」を参照してください。
ストレージ認証情報を使用して、 Unity Catalogに外部ロケーションを作成します。
外部位置情報を使用して新しいカタログを作成する
新しい外部位置を管理された保管場所として使用するカタログを作成します。
「カタログの作成と管理」を参照してください。
カタログを作成するときは、次の操作を行います。
[ 標準 ] カタログの種類を選択します。
[ストレージの場所]で、 [ストレージの場所を選択]を選択し、外部ロケーションとして定義した R2 バケットへのパスを入力します。 例えば
r2://mybucket@my-account-id.r2.cloudflarestorage.com
外部ロケーションとして定義した R2 バケットへのパスを使用します。 例えば:
CREATE CATALOG IF NOT EXISTS my-r2-catalog
MANAGED LOCATION 'r2://mybucket@my-account-id.r2.cloudflarestorage.com'
COMMENT 'Location for managed tables and volumes to share using Delta Sharing';