Delta Sharingの正式提供(GA)の発表

[Announcing General Availability of Delta Sharing \- The Databricks Blog](https://www.databricks.com/blog/2022/08/26/announcing-general-availability-of-delta-sharing-on-aws-and-azure.html)の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

本日我々は、AWSとAzure上で[Delta Sharing](https://www.databricks.com/jp/product/delta-sharing)の正式提供(GA)を発表できることを嬉しく思っています。GAリリースによって、Databricksレイクハウスプラットフォーム上でミッションクリティカルなワークロードのために、Databricksによる最高レベルの安定性、サポート、エンタープライズレベルの機能を期待することができます。

この記事では、自身のデータからビジネス価値を最大化するために企業がどのようにDelta Sharingを活用しているのか、GAリリースで利用できるようになるキーの機能、そして、どのようにしてDatabricksレイクハウスプラットフォームでDelta Sharingを利用開始できるのかを説明します。

# レイクハウスのデータ共有のオープンスダンダードによる顧客のウィン

コラボレーションを促進し、データから価値を解き放つために、企業は顧客やパートナー、サプライヤ、内部の事業部門(LOB)と容易にかつセキュアにデータを交換する方法を探しているため、データ共有はデジタル経済圏において重要となっています。しかし、標準ベースのデータ共有プロトコルの欠如は、単一のベンダーや商用製品に縛られたソリューションを生み出し、ベンダーロックインのリスクを引き上げています。これらの顧客の課題は、我々Databricksにオープンなデータ共有ソリューションであるDelta Sharingの開発を促すことになりました。

Delta Sharingは、お使いのレイクハウスから任意のコンピューティングプラットフォームにライブデータをセキュアに共有するオープンソリューションを提供します。データの受信者はDatabricksレイクハウスプラットフォームや、同じクラウド、さらにはクラウドにすらいる必要はありません。データ提供者はApache Parquetや[Delta Lake](https://www.databricks.com/jp/product/delta-lake-on-databricks)フォーマットの既存の大規模データセットを、別のシステムにデータセットを複製、コピーすることなしに共有することができます。データ受信者は常に最新のデータにアクセスできるというメリットを享受でき、お好きなツールで共有されたデータをクエリー、可視化、変換、取り込み、拡張することができ、価値に至る時間を短縮することができます。多くの企業にとってガバナンスとセキュリティは最重要事項であるため、Delta Sharingはネイティブで[Unity Catalog](https://www.databricks.com/jp/product/unity-catalog)をインテグレーションされており、一つのプラットフォームで共有データの管理、統治、監査、利用の追跡が可能となっています。
![](https://www.databricks.com/wp-content/uploads/2022/08/db-278-blog-img-1.png)
*Delta Sharing - データ資産をセキュアに共有するためのオープンスタンダード*

昨年のDelta Sharingのプライベートプレビューのローンチ以降、数百のお客様がDelta Sharingを導入しており、現時点でも数ペタバイトのデータがDelta Sharingを通じて共有されています。

**Nasdaq:** 「Delta Sharingは大規模データセットのデリバリーの助けとなっています。これによって、我々のクライアントは少々のインテグレーションあるいはインテグレーションの作業なしに新鮮かつ整理されたデータを読み込むために自分のコンピューティング環境を利用することができ、我々のユニークかつ高品質なデータプロダクトのカタログを拡張することができています。」– *William Dague, Head of Alternative Data*

**Shell:** 「Shellのカーボン実質ゼロの目標を達成するためには、データのオープン性がキーとなると理解しています。Delta Sharingは、これらのゴールに向けてパートナーと取り組む際に、パートナーが同じデータ共有プラットフォームを使用することを要求することなしに、膨大なデータをパートナーに容易に共有するためのスタンダード、コントロールされた、そしてセキュアなプロトコルをShellに提供してくれています。」 – *Bryce Bartmann, Chief Digital Technology Advisor*

**SafeGraph:** 「データカンパニーとして、我々のお客様に自身のデータセットのアクセス手段を提供することは重要なことです。DatabricksレイクハウスプラットフォームとDelta Sharingは正にこのプロセスを整理してくれ、クラウドやプラットフォームに関係なくより広範なユーザーベースにリーチできるようになりました。」– *Felix Cheung, VP of Engineering*

**YipitData:** 「Delta Sharingを用いることで、我々のクライアントはほぼ即時に整理されたデータにアクセスし、好きな分析ツールでインテグレーションすることができます。我々のクライアントとの会話は、取り込み時の低価値、技術的な手戻りからクライアントの成功体験を加速する高価値な分析の議論にシフトしました。我々のクライアントとの関係性が進化するに従い、クライアントが自身の業界のキーとなるトレンドを評価し続けられるように、Delta Sharingを通じてシームレスに新たなデータセットをデリバリーし、既存のデータセットをリフレッシュすることができます。」– *Anup Segu, Data Engineering Tech Lead*

**Pumpjack Dataworks:** 「DatabricksのDelta Sharingのパワフルな機能を活用することで、Pumpjack Dataworksではより迅速なオンボーディング体験を可能とし、データのエクスポート、インポート、再モデリングの必要がなくなり、クライアントに価値を即座に提供できるようになりました。迅速な結果は、我々のクライアントと彼らのパートナーにより大きな商用的な機械を提供します。」– *Corey Zwart, Chief Technology Officer*

# Delta SharingのGAによって何が新たに提供されるのか？

GAリリースにおいては数多くの素晴らしい機能が提供されますが、以下で説明するのはこのリリースにおけるキーとなる機能です。

## Databricks間のシームレスな共有

Databricksの顧客に対して、Delta Sharingはレイクハウスにおけるdーエタ共有を極度にシンプル、効率的、セキュアなものにします。UIの数クリップあるいはSQLコマンドによって、データ提供者はDatabricks上でデータを複製することなしに、データ受信者とデータを共有することができます。例えば、AWSでDatabricksを使用しているデータ提供者は、AzureでDatabricksを使用しているデータ受信者と既存のデータを共有することができ、その逆も然りです。詳細に関しては[ユーザーガイド](https://qiita.com/taka_yayoi/items/8bdd7feed96ac8f206fe)をご覧ください。

Databricks間の共有においては、データ提供者はDatabricksを使用している受信者に対してトークンの認証情報を管理する必要はありません。共有用のコネクションはDatabricksプラットフォームを通じてセキュアに確立されます。必要なのは、ログインするためのDatabricksアカウントであり、後の部分はプラットフォームによってケアされます。

クロスアカウントのデータ共有に加えて、別の重要なユースケースは内部でのデータ共有です。異なるリージョンで同じアカウント配下の複数のUnity Catalogメタストアをお持ちであれば、データをコピーすることなしにDelta Sharingを用いることでこれらのメタストア間で容易にデータを共有することができます。

データ提供者視点でのSQLワークフローのサンプルです。

```sql:SQL
-- create a share and add a table to it
CREATE SHARE first_share;
ALTER SHARE first_share ADD TABLE my_table AS default.first_table;

-- create a Databricks recipient using their sharing identifier and grant them access to the share
CREATE RECIPIENT acme USING ID 'aws:us-west-2:3f9b6bf4-...-29bb621ec110';
GRANT SELECT ON SHARE first_share TO RECIPIENT acme;
```

データ受信者視点でのSQLワークフローのサンプルです。

```sql:SQL
-- list the providers who shared data with me
SHOW PROVIDERS;

-- view the data shared by provider acme_provider
SHOW SHARES IN PROVIDER acme_provider;

-- create a catalog from the share
CREATE CATALOG my_catalog USING SHARE `acme_provider`.`first_share`;

-- query the shared data
SELECT * FROM my_catalog.default.first_table;
```

## チェンジデータフィードの共有

今では、Delta Sharingは[チェンジデータフィード](https://qiita.com/taka_yayoi/items/e3c40fce43561f73a50c)(CDF)の共有をサポートしています。テーブルの共有に加えて、データ提供者はテーブルのCDFを含めることもでき、受信者はテーブルの特定のバージョンやタイムスタンプかんの変更をクエリーすることができます。この機能を用いることで、受信者は毎回テーブル全体をクエリーするのではなく、新規データやインクリメンタルな変更をクエリーすることができます。

データ提供者は、容易にテーブルのCDFを共有することができ、データ受信者はシンプルな構文でテーブルの変更をクエリーすることができます。

```sql:SQL
-- data provider: sharing a table with CDF enabled
ALTER SHARE my_share ADD my_table AS default.cdf_table WITH CHANGE DATA FEED

-- data recipient: query table changes from versions 5 to 10
SELECT * FROM table_changes('`default`.`cdf_table`', 5, 10)
```

## 強化されたセキュリティ機能

Delta SharingのGAリリースでは、共有をさらにセキュアなものにするためのセキュリティ機能を導入しています。

これらのセキュリティ機能の例としては、[IP Access List](https://docs.databricks.com/data-sharing/delta-sharing/access_list.html)があります。データ提供者は、オープンコネクターを使用して受信者のIPアクセスリストを設定することができます。ターゲットのIPアドレスからのみ認証情報のダウンロードやデータアクセスを許可することが可能となります。

また、Delta Sharingに関連するアクセス権(**CREATE SHARE, CREATE RECIPIENT**など)も追加し、*Share*や*Recipient*のようなDelta Sharingmオブジェクトに対して**owner**の概念を導入しました。これらのプリミティブを用いることで、DatabricksにおけるDelta Sharingはより柔軟なアクセス制御モデルを提供し、管理者ではないユーザーも共有のオペレーションを行えるようになります。

# DatabricksでDelta Sharingを使い始める

Delta Sharingがどのようにしてお使いのレイクハウスから任意のコンピューティングプラットフォームにライブデータをシームレスに共有するのかに関しては以下の動画をご覧ください。
<iframe width="560" height="315" src="https://www.youtube.com/embed/wRT1Vpbyy88" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

既にDatabricksをお使いなのであれば、利用を開始するためのガイド([AWS](https://docs.databricks.com/data-sharing/index.html) | [Azure](https://docs.microsoft.com/ja-jp/azure/databricks/data-sharing/))に従ってください。このGAリリースに何が含まれているのかに関しては[リリースノート](https://docs.databricks.com/release-notes/product/2022/august.html#delta-sharing-is-ga)をご覧ください。まだDatabricksを利用されていないのであれば、[無料トライアル](https://databricks.com/jp/try-databricks)にサインアップいただき、PremiumあるいはEnterpriseのワークスペースを作成してください。

### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)