第5章 データコラボレーション / 想定学習時間:30〜40分 / 最終確認:2026年8月

5-4. リスティング・Marketplace・データクリーンルーム

🎯 この節の学習目標

1. リスティング:共有を「商品」としてパッケージする

5-3で学んだダイレクトシェアは「特定のアカウントにオブジェクトを直接共有する」素朴な仕組みでした。リスティング(listing)は、その共有をタイトル・説明・利用規約・サンプルクエリなどのメタデータとともにパッケージし、シェアや Snowflake Native App を配布する仕組みです。提供範囲によって2種類に分かれます。

種類提供範囲特徴
プライベートリスティング指定した特定のアカウントのみ取引先など限られた相手への配布。ダイレクトシェアと違い、説明文・利用規約の添付や別リージョン/別クラウドへの自動フルフィルメントが使える
Marketplace公開リスティングSnowflake Marketplaceの全利用者不特定多数への公開。無料(free)・試用(trial)・有料(paid)の提供形態を選べる。公開にはSnowflakeの審査がある

リスティングの大きな利点が、5-3でも触れたクロスクラウド自動フルフィルメント(Cross-Cloud Auto-Fulfillment)です。プロバイダが1つのリージョンでリスティングを公開すると、Snowflakeがコンシューマのいるリージョン・クラウドへデータを自動的に複製して配布してくれるため、プロバイダが手動でレプリケーションを管理する必要がありません。

プロバイダシェア/Native Appを用意し、説明・利用規約とともにリスティング化
公開方法を選択(クロスリージョンは自動フルフィルメントで配布)
プライベートリスティング指定アカウントだけに提供
Marketplace公開リスティング全利用者に公開(無料/試用/有料)
コンシューマが「取得(Get)」
コンシューマアカウントread-onlyのデータベースとして即クエリ可能。ETL・ファイル転送は不要

図:リスティングによる配布の流れ。ダイレクトシェアを包む「配布のパッケージ」と理解する

2. Snowflake Marketplace:サードパーティデータの取得

Snowflake Marketplaceは、サードパーティが公開するデータセットやアプリケーションを発見・取得できるマーケットです。気象、人口統計、金融市場、位置情報など多様なデータが提供されており、コンシューマとしての使い方は非常にシンプルです。

💡 具体例:自社データと外部データの即時結合

-- Marketplaceで取得した気象データ(read-only DB)と
-- 自社の売上データをそのままJOINして分析できる
SELECT s.store_id,
       s.sales_date,
       s.amount,
       w.daily_high_temp
FROM   mydb.public.daily_sales      AS s
JOIN   weather_db.public.daily_obs  AS w
  ON   s.sales_date = w.obs_date
 AND   s.region_code = w.region_code;

「外部データの入手→転送→ロード→更新運用」という従来の重い作業が、「取得してすぐJOIN」に置き換わるのがMarketplaceの価値です。

📝 試験のポイント

Marketplaceで取得したデータについては「read-onlyのデータベースとして即利用できる」「コピーされないのでストレージ課金なし・常に最新」「クエリのコンピュートは自分のウェアハウスで負担」の3点セットで覚えましょう。提供形態に無料・試用・有料があることも押さえておきます。

3. Data Exchange:限定メンバーのデータ交換ハブ

Data Exchangeは、Marketplace の「全世界に公開」とプライベートリスティングの「1対1の指定」の中間にあたる仕組みで、自社グループ・取引先ネットワークなど招待されたメンバーだけが参加できるプライベートなデータ交換ハブを作ります。

Snowflake MarketplaceData Exchange
参加者Snowflakeの全利用者管理者が招待したメンバーのみ(グループ会社・業界コンソーシアムなど)
運営Snowflakeが運営ハブの所有組織が管理(メンバーやプロバイダ/コンシューマの役割を制御)
用途サードパーティデータの流通・収益化組織内・グループ内の限定的なデータ共有ポータル

4. データクリーンルーム:生データを見せずに共同分析

2社がデータを突き合わせて分析したい、しかし互いの生データ(顧客情報など)は開示できない——この矛盾を解決するのがデータクリーンルーム(data clean room)です。

典型例は広告分野で、広告主と媒体が互いの顧客リストを開示せずに「両方に含まれる顧客の重なり(オーディエンスの重複)」を集計する、といった使い方です。Snowflakeのクリーンルームは、Secure Data Sharingやセキュアビュー/UDF、Native Appなどこの章で学んだ部品の上に構築されており、データを移動せずに共同分析できる点が特長です。

5. Native Appsの配布チャネルとしてのリスティング

リスティングで配布できるのはデータ(シェア)だけではありません。Snowflake Native App(1-9参照)——ストアドプロシージャやUI、データを組み合わせたアプリケーション——も、プライベートリスティングやMarketplaceを通じて配布できます。コンシューマは取得したアプリを自分のアカウント内で実行するため、自社データをプロバイダへ送ることなくアプリの機能を利用できます。データクリーンルームの多くも、この Native App として提供されています。

✅ この節のまとめ

練習問題

問1. リスティングの説明として最も適切なものはどれか。

  1. シェアやNative Appを、説明や利用規約とともにパッケージして配布する仕組みで、特定アカウント向けのプライベート提供とMarketplaceでの公開提供を選べる
  2. Snowflake Marketplaceに公開する場合にのみ使える仕組みで、特定アカウントへの限定提供はできない
  3. データベースを物理的にエクスポートしてファイルとして配布する仕組み
  4. 同一リージョン内のアカウントにしか配布できない仕組み
解答と解説を見る

正解:A

リスティングはシェアやNative Appの配布パッケージで、プライベートリスティング(特定アカウント向け)とMarketplace公開リスティング(全利用者向け、無料/試用/有料)の両方の提供形態があります。Bはプライベートリスティングの存在と矛盾します。Cは誤りで、リスティングの実体はSecure Data Sharingでありファイルのエクスポートは行われません。Dは誤りで、クロスクラウド自動フルフィルメントにより別リージョン・別クラウドへも配布できます。

問2. Snowflake Marketplaceで取得したデータセットの説明として正しいものを2つ選べ。

  1. read-onlyのデータベースとして自分のアカウントに現れ、すぐにSQLでクエリできる
  2. データが自分のストレージにコピーされるため、取得後はストレージ課金が発生する
  3. プロバイダがデータを更新すると、取得済みのデータベースにも自動的に反映される
  4. 取得したデータをクエリする際のコンピュート費用はプロバイダが負担する
解答と解説を見る

正解:AとC

Marketplaceの実体はSecure Data Sharingです。取得したデータはread-onlyのデータベースとして即利用でき(A)、データはコピーされないためプロバイダ側の更新が自動的に反映されます(C)。Bはデータがコピーされるという前提が誤りで、コンシューマにストレージ課金は発生しません。Dは誤りで、クエリのコンピュート費用はコンシューマ自身のウェアハウスで負担します(プロバイダ負担になるのはリーダーアカウントの場合です)。

問3. グループ会社5社の間だけでデータセットを相互に公開・取得できる社内データポータルを作りたい。最も適切な仕組みはどれか。

  1. Snowflake Marketplaceに有料リスティングとして公開する
  2. Data Exchangeを作成し、グループ5社をメンバーとして招待する
  3. 全テーブルの認証情報を5社に配布する
  4. データクリーンルームを構築する
解答と解説を見る

正解:B

Data Exchangeは、管理者が招待したメンバーだけが参加できるプライベートなデータ交換ハブで、グループ内・組織内の限定的なデータ共有ポータルという要件に合致します。AのMarketplaceは全Snowflake利用者に公開されてしまうため不適切です。Cは認証情報の共有というガバナンス上の問題があり、共有の仕組みとして成立しません。Dのクリーンルームは「生データを開示せずに共同分析する」ための仕組みであり、データセットの公開・取得ポータルという目的とは異なります。

問4. 広告主と媒体社が、互いの顧客の生データを一切開示せずに「共通顧客数」を集計したい。この要件に最も適した仕組みはどれか。

  1. ダイレクトシェアで互いの顧客テーブル全体を共有し合う
  2. 互いの顧客リストをCSVで交換して各自で突き合わせる
  3. データクリーンルームを使い、許可された集計クエリだけを相互に実行できるようにする
  4. リーダーアカウントを作成して顧客テーブルへのフルアクセスを与える
解答と解説を見る

正解:C

データクリーンルームは、生データを見せることなく、あらかじめ許可された分析(重複数のカウントなどの集計)だけを相手に許すことで、プライバシーを保護した共同分析を実現します。AとDはいずれも顧客の生データ(個々の行)への参照を相手に許してしまうため、「開示しない」という要件に反します。Bはデータのコピーを相手に渡す最も統制の効かない方法で、要件と正反対です。