こんにちは!Buchiです!
もうすぐクリスマスですね~!
まだまだ続くtruestarアドベントカレンダー企画、本日は15日目の投稿です!
今回は、snowflakeでデータを共有する方法について簡単に紹介していきます。
アカウント間で手軽にデータを共有できるのも、snowflakeの優れた特徴のひとつ!ぜひ活用していきたいですね!
Snowflakeでのデータ共有の方法
前提として、Snowflakeのデータ共有ではSecure Data Sharingという仕組みが使われています。
Secure Data Sharingについては、こちらの記事で丁寧に解説されているので、ぜひご覧ください!
さて、アカウント間のデータ共有の方法について、簡単にまとめてみました。
(2023.12.09時点、Buchiしらべです。最新ドキュメントもご確認ください!)
どの共有方法を利用するかは、
データの提供元である自分(プロバイダ)のクラウド・リージョンと、
データの共有先/データを利用する人(コンシューマ)のクラウド・リージョンが同一か否か
がポイントとなります。
共有方法 | 詳細 | 参考ドキュメント | |
---|---|---|---|
Direct Share | – | プロバイダ(データ提供側)とコンシューマ(データ利用側)が、同一クラウドの同一リージョン(例:両方ともAWS Tokyo)のSnowflakeを利用している必要がある | Snowflakeでのデータ共有の概要 |
リスト | Private Sharing(Publish to Specified Consumers) | 同一クラウド・同一リージョンでなくても使用できる。データを利用する側のリージョンにデータをレプリケーション(複製)する。特定のアカウントに公開する | リストの作成と公開 リストについて |
MarketPlace | 同一クラウド・同一リージョンでなくても使用できる。データを利用する側のリージョンにデータをレプリケーション(複製)する。MarketPlace上で誰でも使える(購入できる)データとして公開する | ||
Data exchange | – | 招待した特定のアカウントグループ(複数可能)にデータを共有できるデータハブ。各メンバーのデータの使用・提供を許可するかどうか指定できる。メンバーを限定したプライベートなマーケットプレイスのようなイメージ | Data Exchange |
実際にやってみよう!
で、実際どうやってやるのよ?というのが気になりますよね。
上記の中でも、クラウド・リージョンをまたいで特定のアカウントに共有ができる、
汎用性が高そうな「Private Sharing」での共有にトライしてみましょう!
上記のデータ共有はSQLで実行することもできますし、SnowsightでのGUI操作で行うこともできますが
今回はSnowsightでの操作方法を見ていきたいと思います。
1)プロバイダー利用規約に同意
Admin > Billing & Terms からReview Provider Terms of Serviceをクリックし、プロバイダー利用規約を確認・同意。
2)共有方法を選択
Date>Private Sharingで、右上のShare をクリックし、Publish to Specified Consumersを選択。
リストのタイトルを入力、Only Specified Consumersを選択し、Nextをクリック。
3)共有するデータ(テーブル)を選択
+Select で共有したいテーブルを追加。
Secure Share Identifier はデフォルトで入力されるので、必要であれば変更。Briefly describe your listingも必須項目なので、説明を入力。
スクロールし、add accounts in…に共有したい相手のアカウント識別子(例:ORGNAME.XY12345)を入力し、Publishをクリック
アカウント識別子の確認方法はこちらをご確認ください。
これで完了です!結構かんたん!
共有された側からの見え方
さて、では共有された側(コンシューマ)から確認してみましょう。
Date>Private Sharing Shared With Youに共有されたデータが表示されています!
赤字で注釈を入れたように、さきほど入力した内容や、プロバイダーの情報がコンシューマ側からも確認できます。
Getをクリックしてみましょう。
Optionで共有されたテーブルを格納するDB名やRoleなどを選択できます。必要に応じて設定し、Getをクリック
DBに追加されて利用できるようになってる!
さいごに
この記事ではsnowflakeのデータ共有について紹介しました。
上記のように簡単な操作で共有ができるので、ぜひ皆さんもご活用ください!
もし不安な時は、いったんトライアルアカウントを作って試してみるのもオススメですよ!
truestarではSnowflakeの検討、導入支援や環境構築からアプリ開発まで幅広くサポート可能です。
Snowflakeに゙興味がある、導入済みだけどもっとうまく活用したい等々ありましたら、ぜひこちらからご相談ください!
皆様よいクリスマスを~!