メインコンテンツへジャンプ

Delta Sharingによるグローバル・データ・コラボレーションの構築

クラウド、プラットフォーム、地域を越えてデータを安全かつ効率的に共有することで、組織の規模を拡大できます。
Matei Zaharia
ビラル・オベイダット(Bilal Obeidat)
ティエンイ・ファン
Giselle Goicochea
Share this post

今日の相互接続されたデジタル環境では、組織やプラットフォームを超えたデータ共有とコラボレーションが、現代のビジネス運営に不可欠です。 革新的なオープンデータ共有プロトコルであるDelta Sharingは、ベンダーやデータ形式の制約を受けることなく、セキュリティとスケーラビリティを優先し、組織が多様なプラットフォーム間でデータを安全に共有し、アクセスできるようにします。

このブログでは、特定のデータ共有シナリオに合わせたアーキテクチャガイダンスを検討することで、Delta Sharing内のデータレプリケーションオプションを紹介します。 多くのDelta Sharingのお客様との経験から得た洞察をもとに、具体的なデータレプリケーションの選択肢を提供することで、イグレスコストを削減し、パフォーマンスを向上させることを目標としています。 ライブ共有は多くの地域間データ共有シナリオに適していますが、データセット全体を複製し、各地域の複製用にデータ更新プロセスを確立した方がコスト効率が良い場合もあります。 Delta Sharingは、Cloudflare R2ストレージ、変更データフィード(CDF)Delta Sharing、Deltaディープクローン機能の活用により、これを促進します。 これらの機能により、Delta Sharingは、ユーザーに力を与え、データ共有のニーズを満たすための優れた柔軟性を提供することで、クライアントから高く評価されています。

Delta Sharingはオープンでフレキシブル、そしてコスト効率に優れています

DatabricksとLinux Foundationは、データ、アナリティクス、AIを横断するデータ共有への初のオープンソースアプローチを提供するため、Delta Sharingを開発しました。 お客様は、強力なセキュリティとガバナンスを備えたプラットフォーム、クラウド、地域をまたいでライブデータを共有することができます。 オープンソースプロジェクトをセルフホスティングで利用する場合でも、Databricks上で完全に管理されたDelta Sharingを利用する場合でも、どちらもグローバルデータ配信のための、プラットフォームにとらわれない、柔軟で費用対効果の高いソリューションを提供します。 Databricks のお客様は、管理オーバーヘッドを最小限に抑え、Databricks Unity Catalog とネイティブに統合されたマネージド環境で、さらなるメリットを享受できます。 この統合は、組織内および組織間のデータ共有に合理的なエクスペリエンスを提供します。

Delta Sharing on Databricksは、2022年8月の一般提供開始以来、さまざまなコラボレーションシナリオで広く採用されています。

このブログでは、Delta Sharingが重要なビジネスシナリオを可能にし、強化する上で重要な役割を果たした2つの一般的なアーキテクチャパターンを紹介します:

  1. 企業内における地域横断的なデータ共有
  2. データアグリゲーター(ハブ&スポーク)モデル

このブログの一部として、Delta Sharingの展開アーキテクチャが柔軟で、新しいデータ共有要件を満たすためにシームレスに拡張できることも実証します。

企業内における地域横断的なデータ共有

このユースケースでは、地域間でデータの一部を共有するビジネスニーズがある場合、例えば、別々の地域にQAチームがある場合や、グローバルベースのビジネスアクティビティデータに関心のあるレポーティングチームがある場合など、お客様の間で一般的なDelta Sharingの導入パターンを説明します。 通常、企業内テーブルの共有には以下が含まれます:

  • 大きなテーブルの共有:アクセスパターンが異なる受信者とリアルタイムで大きなテーブルを共有する必要があります。 受信者は、さまざまな述語を使用してさまざまなクエリを実行することがよくあります。 良い例としては、クリックストリームやユーザーのアクティビティデータがあり、このような場合はリモートアクセスがより適切です。
  • ローカルレプリケーション:パフォーマンスを向上させ、データ送信コストをより適切に管理するために、特に受信者のリージョンにこれらのテーブルに頻繁にアクセスするユーザーが多数いる場合は、データのローカルコピーを作成するために一部のデータをレプリケートする必要があります。

このシナリオでは、データ提供者のビジネスユニットとデータ受信者のビジネスユニットの両方が、同じUnity Catalogアカウントを共有していますが、Databricks上のメタストアは異なっています。

グローバルなデータとAIモデルの共有

上図は、Delta Sharingソリューションのハイレベルアーキテクチャを示し、Delta Sharingプロセスの主要ステップを強調しています:

  1. 共有の作成:ライブテーブルが受信者と共有され、すぐにデータにアクセスできます。
  2. オンデマンド・データ・レプリケーション:オンデマンド・データ・レプリケーションを導入することで、地域ごとにデータの複製を生成してパフォーマンスを向上させ、地域をまたがるネットワーク・アクセスの必要性を減らし、関連するデータ送信料金を最小限に抑えることができます。 これは、データ複製に以下のようなアプローチを活用することで実現します:

A. 共有テーブルのデータフィードの変更

このオプションを使用するには、テーブルの履歴を共有し、変更データフィード(CDF)を有効にする必要があります。これは、テーブルの作成/変更コマンドを使用してテーブルプロパティdelta.enableChangeDataFeed = trueを設定することで、セットアップコードで明示的に有効にする必要があります。

さらに、テーブルをShareに追加する際には、以下の例のように、CDFオプションを付けて追加するようにしてください。

ALTER SHARE flights_data_share
ADD TABLE db_flights.flights
AS db_flights.flights_with_cdf
WITH CHANGE DATA FEED;

データが追加または更新されると、次の例のように変更にアクセスできます。

-- View changes as of version 1
SELECT * FROM table_changes('db_flights.flights', 1)

受信者側では、このノートブックと同様の方法で、変更点にアクセスし、データのローカルコピーにマージすることができます。 共有テーブルからローカルレプリカへの変更の伝播は、Databricks ワークフロージョブを使用してオーケストレーションすることができます。

B. Cloudflare R2とDatabricks

R2は、すべてのDelta Sharingのシナリオに最適なオプションです。なぜなら、お客様は予測不可能なデータ送信料金を心配することなく、共有の可能性を十分に実感できるからです。 詳しくはこのブログで後述します。

C. Deltaディープクローン

企業内共有のもう一つの特別なケースとして、同じ Databricks クラウドアカウント内で共有する場合に Delta ディープクローンを使用する方法があります。 ディープクローンは、ソーステーブルのデータと既存テーブルのメタデータの両方をクローンターゲットにコピーするDelta Lakeの機能です。 さらに、ディープクローンコマンドには、新しいデータを識別し、それに応じてリフレッシュする機能があります。 以下はその構文です:

CREATE TABLE [IF NOT EXISTS] table_name DEEP CLONE source_table_name
   [TBLPROPERTIES clause] [LOCATION path]

source_table_nameは共有テーブルで、table_nameはユーザーがアクセスできるデータのローカルコピーです。

次のコマンドを使用して、単純なDatabricks Workflowsジョブをスケジュールし、最近の更新を含むデータの増分更新を行うことができます:

CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name

同じユースケースは、Databricks Platformやその他のプラットフォーム上で外部のパートナーやクライアントとデータを共有するために簡単に拡張できます。 これは、Databricksを使用していないパートナーや外部クライアントが、Excel、Power BI、Pandas、およびOracleのような他の互換性のあるソフトウェアを使用してこのデータにアクセスすることを希望する、もう1つの一般的な拡張パターンです。

データアグリゲーターモデル(ハブ&スポークモデル)

もう一つの一般的なシナリオパターンは、ビジネスが顧客とのデータ共有に重点を置いている場合、特にデータアグリゲーター企業が関与している場合や、主要なビジネス機能が顧客に代わってデータを収集している場合に生じます。 データアグリゲーターは、多様なソースからデータを収集し、統合された一貫したデータセットに統合する役割を担います。 これらのデータ共有は、ビジネス上の意思決定、市場分析、調査、業務全般のサポートなど、多様なビジネスニーズに対応するために役立っています。

このパターンにおけるデータ共有モデルは、次のようなものです:

  1. AWS、Azure、GCPなど、さまざまなクラウドに分散している受信者を接続します。
  2. PythonコードからExcelスプレッドシートまで、さまざまなプラットフォームでのデータ消費をサポートします。
  3. 受信者数、共有数、データ量のスケーラビリティを実現します。

一般的には、プロバイダーが各クラウドにDatabricksワークスペースを確立し、3つのクラウドすべてで共有テーブル上のCDFを使用してデータをレプリケートすることで、パフォーマンスを向上させ、データ転送コストを削減することができます。 そして、それぞれのクラウド領域内で、適切なクライアントやパートナーとデータを共有することができます。

しかし、CloudflareとDatabricksを通じてR2を利用することで、より効率的で簡単な新しいアプローチを採用することができます。

Cloudflare R2とDatabricksの統合により、企業はライブデータを安全、簡単、安価に共有し、コラボレーションできるようになります。 CloudflareとDatabricksを利用することで、お客様は、マルチクラウド分析およびAIイニシアチブの可能性を最大限に引き出す妨げとなる複雑性と動的コストを排除することができます。 具体的には、データ送信料金がゼロになり、複雑なデータ転送やコストのかかるリージョン間のデータセットのレプリケーションが不要になります。

このオプションを使用するには、以下の手順が必要です:

  • 外部ストレージとしてCloudflare R2を追加します(信頼できるデータソースをS3/ADLSなどに保持します)。
  • Cloudflare R2に新しいテーブルを作成し、データを段階的に同期します。
  • 通常通り、R2テーブルにDelta共有を作成します。

上記で説明したように、これらのアプローチはオンデマンドデータレプリケーションの様々な方法を示しており、それぞれに明確な利点と特定の要件があるため、様々なユースケースに適しています。

グローバルデータアグリゲーター デルタ共有モデル

地域間共有のためのデータ複製方法の比較

これまでの3つのメカニズムはすべて、Delta Sharingのユーザーがローカルコピーを作成することを可能にし、特にクラウドやリージョンをまたがるデータ送信料金を最小限に抑えます。 以下の表は、これらのオプションを区別するための簡単な要約です。

データ複製ツール主なハイライト推奨する利用シーン
共有テーブルのデータフィード変更 (CDF)
  • アカウント内およびアカウント間で機能します
  • テーブル上でCDFを有効にする必要があります
  • CDCの変更を宛先テーブルに伝搬させるためのコーディングが必要です
  • このプロセスはDatabricksのワークフローによってオーケストレーションすることができます
リージョンを超えたパートナー/顧客との共有に使用
Cloudflare R2とDatabricks
  • Cloudflareアカウントが必要です
  • 複数の地域やクラウドプラットフォームにまたがる大規模なデータ共有に最適です
  • DeltaディープクローンまたはR2 super slurperを使用して、R2でのデータ作成と更新を効率化します
シェア数と2つ以上のリージョンの点で大規模なDelta Sharingに強く推奨
Deltaディープクローン
  • 同じアカウント内で動作します
  • 最小コーディング
  • Databricksワークフローによる増分リフレッシュ
リージョン間で内部共有する場合に推奨

Delta Sharingはオープンで柔軟性が高く、コスト効率に優れており、Databricks上ではノートブック、ボリューム、AIモデルなど、幅広いデータ資産をサポートしています。 さらに、いくつかの最適化により、Delta Sharingプロトコルのパフォーマンスが大幅に向上しました。 Databricks は、モニタリング、スケーラビリティ、使いやすさ、観測可能性の向上を含む Delta Sharing 機能への継続的な投資により、ユーザーエクスペリエンスを向上させ、将来にわたって Delta Sharing がデータコラボレーションの最前線であり続けることを確約しています。

次のステップ

このブログでは、多くのDelta Sharingのお客様との経験に基づいたアーキテクチャーガイダンスを提供しています。 私たちが最も重視しているのは、コスト管理とパフォーマンスです。 ライブ共有は多くの地域間データ共有シナリオに適していますが、データセット全体を複製し、地域の複製に対してデータ更新プロセスを確立することが、よりコスト効率的であることが判明した事例を調査しました。 デルタ共有はR2とCDFのDelta Sharing機能を利用することでこれを促進し,ユーザーに柔軟性を提供します。

企業内クロスリージョナルデータ共有のユースケースにおいて、Delta Sharingは、様々なアクセスパターンを持つ大規模テーブルの共有に優れています。 CDF共有によって促進されるローカルレプリケーションは、最適なパフォーマンスとコスト管理を保証します。 さらに、CloudflareとDatabricksを介したR2は、複数のリージョンとクラウドにまたがる大規模なDelta Sharingのための効率的なオプションを提供します。

Delta Sharingをデータコラボレーション戦略に統合する方法については、最新のリソースをご覧ください:

Databricks 無料トライアル

関連記事

レイクハウスのデータ共有とコラボレーションの新機能のご紹介

翻訳:Saki Kitaoka. - Original Blog Link Databricksは、データ、アナリティクス、AIを横断するデータ共有とコラボレーション( data sharing and collaboration )のための初のオープンソースアプローチを提供します。お客様は、ベンダーに依存することなく、プラットフォーム、クラウド、地域を超えて、ライブデータセット、AIモデル、アプリケーション、ノートブックを共有することができます。プロバイダーは、革新的なデータ製品を提供する機会を拡大することで、イノベーションを加速し、新たな収益源を生み出すことができます。この柔軟性は、 Delta Sharing を Databricks Unity Catalog と統合して、共有データセットへのアクセスを管理、追跡、監査することで、強固なセキュリティとガバナンスとともに実現されます。Lakehouse Collaboration Platformを進化させる新機能を発表できることを嬉しく思います。Datab

Databricksが実現するデータとAIの運用モデルとは:Part 1

April 26, 2023 Fabian Lanz による投稿 in データ戦略
Original Blog : How Databricks enables your operating model for Data and AI: Part 1 翻訳: junichi.maruyama "今、(AIの)ボトルネックは、テクノロジーではなく、マネジメント、実装、ビジネスイマジネーションにあります。" -Erik Brynjolfsson データとAIは、ここ数年、ほとんどの組織にとって戦略的な必須事項として浮上しています。大企業も中小企業も、データおよびAIの専門家を多数採用し、データプラットフォームのアップグレードと進化に多大な投資を行ってきました。 これまでのところ、投資のほとんどは、データとAIを活用し、進化し続けるデータ環境の規模と複雑性に伴って出現した技術的課題を解決するために必要なテクノロジーと技術スキルに焦点を当てています。Databricksでは、レイクハウスパラダイムを発明したり、 Delta...
プラットフォームブログ一覧へ