Snowflakeデータシェアリングをオープンテーブルフォーマットに拡張

SnowflakeのゼロETLデータシェアリングが大幅に拡張されたことをお知らせします。Apache IcebergやDelta Lakeなどのオープンテーブルフォーマットを、リージョンやクラウドを越えて簡単かつセキュアに共有できるようになりました。このリリースでは、ソースプロバイダーは複雑なパイプラインを使用せず、またクエリごとの指数関数的なデータエグレス料金を発生させることもなく、オープンテーブルフォーマットで保存されたデータをあらゆるクラウドやリージョンでセキュアに共有できます。
Snowflakeデータシェアリングは、コラボレーションと採用実績の両面で、すでに市場を牽引しています。Snowflakeのコラボレーションは、データ共有エコシステムが主要な競合企業と比較して2.5倍となっており、成長中のグローバルユーザーベースの価値をさらに高めています。すでに何千もの顧客がデータを共有しているため、企業はオープンテーブルフォーマットの共有を利用して、オープンフォーマットでのデータ共有と、Snowflake共有の持つ中核的なメリットの双方を獲得できます。メリットの例として次のようなものがあります。
ほぼリアルタイムのデータアクセス
Snowflake Horizonカタログのポリシーベースの共有データガバナンス制御
クロスクラウドの自動フルフィルメントとエグレスコストオプティマイザーで、クロスリージョンとクロスクラウドの共有を簡素化し、コストを節減
米国政府機関クラウドやVirtual Private Snowflakeなどの規制地域への提供
オープンテーブルフォーマットの共有が重要な理由
長年にわたり、Snowflakeのお客様は、お客様やパートナーの膨大なエコシステムとのセキュアなデータ共有とコラボレーションを実現してきました。データシェアリングは、Snowflakeプラットフォームの要となる機能です。多くのお客様がこれを活用し、Snowflake AIデータクラウドで連携を深め、強固なデータエコシステムを築いています。
オープンテーブルフォーマットの共有の導入により、Snowflakeのコラボレーション機能を以下のデータに拡張できるようになりました。
Snowflakeの外部にあるお客様のクラウドストレージ(AWS S3、Azure Storage、Google GCS)データ
以下をはじめとしたオープンテーブルフォーマットのデータ:
Horizonカタログで管理する、または外部カタログ(AWS Glue、Apache Polaris)で管理するApache Icebergマネージドデータ
外部カタログで管理されるDelta Lake(Databricks Unity、Hive Metastore)データ
このように、オープンテーブルフォーマットを選択した企業もAIデータクラウドに接続できるようになり、発展を続けるデータエコシステムのメリットを享受できるようになりました。
解決が可能になった課題
ほとんどの組織は、社内外の多様なデータフォーマットを共有する必要がありますが、多くの場合、以下のような障害に直面します。
セキュリティとコンプライアンス:セキュリティとコンプライアンスを維持するためには、共有データに粒度の高いデータアクセスポリシーを適用することが不可欠です。
地理的分散とクラウド分散:商用クラウド環境や官公庁・公的機関のクラウド環境など、さまざまなリージョンやクラウドに分散していることが多いビジネスユニット(LOB、ベンダー、顧客)間でコラボレーションが必要です。
多様なデータ形式:データはApache IcebergやDelta Lakeなど、多様な形式で存在します。
Snowflakeデータシェアリング、特にオープンテーブルフォーマットの共有は、データエンジニアやデータアーキテクトがデータコラボレーション時に直面する主な障害に直接対処します。オープンフォーマットテーブルの共有機能により、地理的障壁やクラウド障壁が緩和され、中核的なガバナンス機能が拡張されます。また、Icebergなどのデータフォーマットを標準化できる柔軟性も備えています。同時に、グローバル組織はあらゆるビジネスユニット、ベンダー、顧客と共有できます。
共有のメカニズム
オープンテーブルフォーマットの共有は、クロスクラウドの自動フルフィルメント(商用、バーチャルプライベート、Snowflake、米国政府機関のクラウドでサポート)によって実現し、クラウドストレージから直接Apache IcebergとDelta Lakeのデータ共有を簡素化します。このデータは、基盤となるインフラストラクチャの管理やETL(抽出、変換、ロード)ジョブのメンテナンスを必要とせずに、あらゆるリージョンやクラウドのSnowflakeコンシューマーと共有できます。さらに、オープンテーブルフォーマットの共有は、エグレスコストオプティマイザーを通じてデータ転送コストを最適化し、予測不可能な天文学的なクエリ単位のデータエグレス料金を回避します。
Snowflake Horizonカタログには、さまざまなリージョンやクラウドにわたってコンシューマーと共有されるオープンテーブルフォーマットのデータに適用できる、包括的なポリシーベースのガバナンス制御機能があります。この機能によって、特に官公庁・公的機関、金融サービス、ヘルスケア・ライフサイエンスなどの規制されたセクター内やセクターと連携することで、データレジデンシーが確保され、コラボレーションに必要なコンプライアンスを促進できます。
Delta Directおよびカタログフェデレーション(UnityカタログとUniformのIRC APIを活用)と組み合わせることで、Snowflakeクロスクラウドの自動フルフィルメントは、クラウドストレージ内に存在するDelta Lakeテーブルにまでこの機能を拡張し、Databricks UnityやHive Metastoreなどのカタログによって管理される、Microsoft FabricやDatabricksなどのDeltaエンジンによって記述されます。このようにして、オープンテーブルの共有がDelta Lakeテーブルにまで拡張され、Snowflakeのコンシューマーはリージョンやクラウドを問わず、基盤インフラストラクチャの管理が不要になります。

SnowflakeでApache IcebergTMマネージドのテーブルを共有する例
オープンテーブルフォーマットの共有では、Apache IcebergとDelta Lakeのテーブルをリージョン間またはクラウド間で共有できます。共有は、Icebergのクロスクラウドの自動フルフィルメント機能を通じてのみ可能です。自動フルフィルメントの機能の詳細については、「リスティングの自動フルフィルメント」を参照してください。オープンテーブルフォーマット共有の機能について詳しくは、「Using auto-fulfillment with open format tables」ドキュメントを参照してください。
Icebergテーブルの共有を例に、オープンテーブルフォーマットの共有を開始する手順と方法をご紹介します。
ステップ1:オープンテーブルフォーマット(Icebergなど)のテーブルを作成する
プロバイダーアカウントにサインインし、以下のSQLコマンドに従ってオープンテーブルフォーマット(Icebergなど)を作成します。Icebergテーブルの作成方法や外部カタログによる管理方法については、こちらの「CREATE ICEBERG TABLE」ドキュメントを参照してください。
AWS S3でIcebergテーブルを作成するためのSQLコマンド
create database sample_db_laf_<your alias>;
create schema sample_sc;
create warehouse xsmall;
use warehouse xsmall;
-- Create an external volume for managed table
create or replace external volume managed_exvol
STORAGE_LOCATIONS = (
(
NAME = 'my-s3-us-west-2'
STORAGE_PROVIDER = 'S3'
STORAGE_BASE_URL = 's3://datalake-storage-team/iceberg/table_replication_west'
STORAGE_AWS_ROLE_ARN = 'arn:aws:iam::631484165566:role/datalake-storage-integration-role-2'
)
);
-- create iceberg managed table
create or replace iceberg table sample_iceberg_table_for_laf_testing (
symbol string,
description string
) EXTERNAL_VOLUME = 'managed_exvol'
catalog=snowflake
BASE_LOCATION='sample_iceberg_table_for_laf_testing';
insert into sample_iceberg_table_for_laf_testing values ('A', 'Adam'), ('E', 'Eve'), ('B', 'Bob');
insert into sample_iceberg_table_for_laf_testing values ('D', 'Dan'), ('C', 'Cat'), ('F', 'Fan');
select * from sample_iceberg_table_for_laf_testing;ステップ 1b(オプション):ポリシーベースのガバナンス制御によるデータ保護
共有する前に、Snowflake Horizon Catalogのガバナンス機能を活用して、Horizonマネージドおよび外部マネージドのApache Icebergテーブル、またはDeltaテーブルで以下をフルサポートしてください。
データ分類とタグ付け
さらに、アカウントの使用状況とアクセス履歴を使用して包括的な監査を行うことで、共有を監査および監視できます。
詳細については、「ポリシーで保護されたデータを共有する」の例を参照してください。
ステップ2:リージョン内またはリージョン間でコンシューマーをターゲティングしたリスティングを数回の操作で作成
プロバイダーアカウントで、Snowsightインターフェイスで+Listingをクリックし、Only Specified Customersを選択してプライベートリスティングを作成し、以下の手順を実行します。
リスティング名を指定する
作成したIcebergテーブルを添付する
リスティングの説明を追加する
コンシューマーアカウントのアカウントエイリアスを指定する
リスティングを公開する
詳細な手順はこちらで確認できます。
ステータス:ACCOUNTADMINロールを使用して、Data Sharing -> Provider Studio -> Listings に移動し、プロバイダーアカウントのリスティングのステータスを確認できます。
クロスクラウドの自動フルフィルメントは、あらゆるリージョンやクラウドでセキュアかつ自動的にデータをコンシューマーに提供します。


まとめ
Snowflakeは、オープンテーブルフォーマットを統合して、セキュアでガバナンスの確保されたコスト最適化のデータ共有をあらゆるクラウドとリージョンで実現することで、ゼロETLでのデータ共有のリーダーシップを強化しています。こうした強力な新機能の実際の動作を確認し、開始方法を学習するには、デモとクイックスタートを紹介したソリューションページをご覧ください。


