❄️

Snowflakeを触ったことないけどSnowVillage Unconference #03に参加してみたら、すごく優しい世界だった

2024/10/14に公開

先日、CMCラウンジの懇親会でKTさんからSnowVillageについて色々お聞きしました。

SnowVillageが特にここ一年で変わった気がするとお聞きしたので、どこで感じたのかと聞くと、SnowVillage Unconferenceをやりたいと言われた時かもしれないとのこと。

「興味はあるけど、Snowflake触ったことないしな〜」と参加するか迷っていたところで、TROCCO UGのメンバーからおいでよ!と言っていただいたので参加してきました。いつもありがとな〜!

ブログを読む前に知っていた方が良いかもしれない私のプロフィール

普段TROCCO User GroupのコミュニティマネージャーやData Engineering Studyの企画・運営をしているため、軽くデータエンジニアリングの知識があるかも…?くらいのレベル感、かつSnowflakeは使ったことがない状態で参加してきたのですが、結論すごく良かったです!

今回は実際にイベントに参加してみてどうだったかを書いていけたらと思います。

イベントページ

https://techplay.jp/event/957866

会場は初めてのCARTA HOLDINGSさん

メール等で特に連絡は来ていなかったので、どこから入るんだろうな〜絶対ゲートとか入るのにQRとかいるよな〜と思いながら、とりあえず会場へ向かいました。(虎ノ門ヒルズの駅の改札から出てまっすぐ右手に進んだらそのまま入れたのに、若干迷子になって行ったり来たりもしました。笑)

※7Fにてご入館手続きを行なわせていただきますので、7Fにお越しください

イベントページきちんと見ようねという話はありますが、7Fに行くのにも軽く迷子でした。笑
前職のビルではゲート前に机を置くなどが禁止されていたので、いいな…と思いながら受付して、そわそわしながら会場入り。久しぶりに初めてのコミュニティイベントだったので、少しだけ緊張していました…

https://x.com/knuna_t/status/1843589975931244571

会場を見渡したところ、知らない人ばかりだ!と端っこの方でひっそり座ってたら、知り合いが来たので近くに座りました。知り合いがいる安心感たるや〜!笑

そう考えるとイベントの始めに懇親会をやるスタイルのOpsJAWSはやっぱりいいんだなぁと再確認できたので、お借りしている会場によってできる/できないはありますが、この辺りは運営に入っているイベントでも取り入れていきたいなと思いました。

イベントと会場説明

今回は初参加の方が多く、運営の軽くイベントの前説を運営の喜田さんからしていただきました。

運営から「前向きに参加してください!」って言われているのがとても印象的でした。運営から言ってもらえるの、めっちゃ良いなぁ。

その後、どうやって参加するのかアナウンスがありました。

Unconference方式とは

登壇者や発表内容は当日に決定する参加者全員で作り上げるイベント形式です. 登壇したい方は当日お申し込みください.
当日は複数グループに分けてそれぞれで発表と議論を進めていきます. 聴講者のグループ間の行き来は自由です!
興味が惹かれる方にご移動ください.

イベントLP上ではこのような表記だったので、作り上げるってどういうことだ…?と思っていました。
当日、謎が解けました。

当日の登壇希望者はホワイトボードに当日ペタペタ付箋に貼っていくスタイルでした!(そのため登壇希望者は30分早めに集合)

ホワイトボードを見て聞きたい話をしている会場に椅子を持って移動していくみたいです。会場を分けられるほど広くないとなかなか難しいスタイルではありつつ、面白い形ですよね。

資料もガッツリ用意するわけではなく、人によってさまざま。

VSCodeでMarkdown形式のプレビューを表示する人もいれば、実際作ったデモサイトを見せながらやるスタイルなど、色々ありました。参加者のハードル下がっていいな〜と思いながら、色々セッションを聞いてきました。

聞いてきたセッションの軽めレポ

私は以下のセッションをお聞きしました!

  • Salesforce x Snowflake で実現する MDM
  • Terraform Snowflake providerとの付き合い方
  • Next.js on SPCSでオレオレダッシュボードを作ろう
  • DCR(データクリーンルーム)を5分で構築する

諸々セッションの詳細は聞きながらポストしていたので、この記事内ではざっくりとしたレポと色々調べたことを中心に書いていきます。

Salesforce x Snowflake で実現する MDM

最初、MDMってMobile Device Managementなのか?いや、でもSnowflakeだしな…と思っていたら、おそらくMaster Data Management。略語、難しいですね。

冒頭に「双方向のコミュニケーションでやりたいと思ってます!」と登壇者の方から言ってくださるのやさしい〜!新鮮〜!と思いながら、セッションスタート。
少し字が小さくて自分の席から見えにくかったので、手を上げて「文字大きくしてほしいです!」って言ったら即対応してくださいました。ありがてぇ〜!

https://x.com/knuna_t/status/1843596658380300503

MDM実現に向けて比較されたサービスは以下。

  • Omnata
  • Fivetran

元々Omnataを見たことはあったもののどのように読むのかと思っていたところ、どうやらおむなったって読むらしいですね。
それぞれのサービスを検証し、結果ドキュメントの充実さや使い勝手の面からも「Fivetran」を採用されたそうです。

https://x.com/marreta27_jp/status/1843599084575494508

ちなみに、Omnataは思想が好きだから検討されたとのこと。
思想がいいと感じられるサービスっていいですよね。

後から、登壇者の方とOmnataの思想のどういうところが良いと思ったのか深く聞けば良かったなぁと少しだけ後悔していました。あと次回はぜひ候補にTROCCOも入ってほしいな〜!!コミュニティ頑張るぞ〜!と思いながら聞いていました。

ちょうどその日の午前中に検証されそうで、Snowflake Notebookでサクッと可視化されていました。便利〜!割と最近出た機能なんですね。ちっちゃく試してみるには良さそう。

https://zenn.dev/dataheroes/articles/83a88c3f94ff91

ちなみに、同じ時間にやっていたSCS/AKS/EFSの比較のセッションもとても気になりました。コスト面も比較されていたようで、ハッシュタグでめっちゃ追っていました。こういう時にポストしてくださっているのありがたいですよね…

Terraform Snowflake providerとの付き合い方

続いて、Terraform provider。

IaCいいですよね。超主観ですがGUIでぽちぽちやるよりもIaCで触った方がなんとなく理解が深まるような気がしています。

今回はバージョンアップとの付き合い方についてお話しされていました。ちなみに資料はこちら。初登壇とは思えないほど落ち着いてお話しされていてすごいなぁ。

https://x.com/_haruki0415/status/1843601224823943460

全力applyができるケースって何かあるんでしょうか、個人検証くらいなのでしょうか?

どのタイミングでアップデートするのかという質問に新しいバージョンで使いたいオブジェクトがある時とのこと。一つ一つ丁寧に検証されているのが伝わってきた良いセッションでした。

ちなみに、Terraform Snowflake provider自体は0.x.x versionとまだメジャーバージョンが0。

the project is still in the 0.x.x version, which means it’s still in the experimental phase (check Go module versioning for more details).
It can be used in production but makes no stability or backward compatibility guarantees. We do not provide backward bug fixes and, therefore, always suggest using the newest version.
プロジェクトはまだ 0.x.x バージョンであり、つまりまだ実験段階です (詳細については Go モジュールのバージョン管理を確認してください)。
本番環境で使用できますが、安定性や下位互換性は保証されません。下位バグの修正は提供されないため、常に最新バージョンを使用することをお勧めします。

公式ドキュメントを見てみると本番環境でも使用でき、最新バージョンでの使用が推奨されているようです。

https://registry.terraform.io/providers/Snowflake-Labs/snowflake/latest/docs

実はTerraformを触ったことがないので、このあたりは試してみたいなと思っています。

Next.js on SPCSでオレオレダッシュボードを作ろう

Snowflake初心者すぎて、SPCSは初めて聞いたけどNext.jsは聞いたことあるぞ!と思い、こちらのセッションを聞きました。

This service enables users to run containerized workloads directly within Snowflake, ensuring that data doesn’t need to be moved out of the Snowflake environment for processing. Unlike traditional container orchestration platforms like Docker or Kubernetes, Snowpark Container Services offers an OCI runtime execution environment specifically optimized for Snowflake. This integration allows for the seamless execution of OCI images, leveraging Snowflake’s robust data platform.
このサービスにより、ユーザーはコンテナ化されたワークロードを Snowflake 内で直接実行できるため、処理のためにデータを Snowflake 環境から移動する必要がなくなります。Docker や Kubernetes などの従来のコンテナ オーケストレーション プラットフォームとは異なり、Snowpark Container Services は Snowflake 専用に最適化された OCI ランタイム実行環境を提供します。この統合により、Snowflake の堅牢なデータ プラットフォームを活用して、OCI イメージをシームレスに実行できます。

https://docs.snowflake.com/en/developer-guide/snowpark-container-services/overview

うーん。(正直よく分かってないけど)なんかいい感じにコンテナ上で動かせるってことっぽい。この辺は触ってみた方が良いんだろうなぁ。ただ登壇を聞く限りはアプリケーションを作りやすくなったよ!ということらしい。良さそう。(小並感)

まずはデザインのアウトラインをv0で作成、とのことですが、個人的にこのサービスがめっちゃ気になりました。

https://v0.dev/

言葉でUI要素を指示するだけで、Reactコンポーネントが自動生成されます。

Reactコンポーネントが自動生成されるの良すぎる。フリープランも使えるみたいなのでサクッとダッシュボード作ってみる時にはすごく良さそうです。

https://www.ai-souken.com/article/what-is-v0-vercel

今回はお相撲さんのダッシュボードが作られていたのですが、お相撲さんダッシュボードめっちゃ可愛すぎました!笑
あと、やっぱりモンゴル出身の力士さんが多くて面白かったです。

https://x.com/suzupappa/status/1843610498853675321

こういう可視化がサクッとできるのは可能性が広がっていいですよね。

This feature is generally available to Snowflake accounts in AWS Commercial regions. Preview support is available to accounts in Azure.

Currently, AWS PrivateLink and Azure PrivateLink are not supported.

ただSPCS自体はAWS環境上ではGAされているものの、Azure環境ではプレビューサポート。またAWS PrivateLinkやAzure PrivateLinkはサポートされていないとのこと。気軽なものでまずは試してみるのが良さそうです。

DCR(データクリーンルーム)を5分で構築する

最後はDCRの構築編。

Data clean rooms offer a secure way to gain valuable insights while protecting sensitive information. They allow you to combine and analyze data from different parties without worrying about the privacy concerns that go with sharing raw data. With data clean rooms, multiple parties can collaborate without revealing their underlying data.
データクリーンルームは、機密情報を保護しながら貴重な洞察を得るための安全な方法を提供します。生データの共有に伴うプライバシーの懸念を心配することなく、さまざまな関係者のデータを組み合わせて分析できます。データクリーンルームを使用すると、複数の関係者が基礎となるデータを公開することなく共同作業を行うことができます。

ハッシュ化したデータの話とか出てきてたのはそういうことか〜!と後から分かることも多かったので、もうちょっとちゃんと勉強せねばな…という気持ちになりながら見ていました。

https://docs.snowflake.com/en/user-guide/cleanrooms/introduction

Not available in government regions.

一部使えないリージョンもあるっぽい。(Government regionを初めて聞いたのですが、Azure Governmentのことですかね…?)

https://learn.microsoft.com/en-us/azure/azure-government/

お話しいただいた内容はこちらのZennの記事内ですごく詳細に書かれており、今回はその実践ということでデモをしていただきました。とりあえず、マーケットプレイスからインストールしたらダメなことは覚えました。

https://zenn.dev/taro_cccmkhd/articles/bc82d2704a6e37

デモは悪魔が住んでいるというのはどの界隈でもあるあるなのか、なかなか構築されず…というトラブルもあったものの、以前検証されているところから見せていただくことができ、実際はこうなるのか〜!というところ満載でした。

自分がやったことがないからこそ、ブログを見ながらお話を聞かせていただきました。
Zennの記事がすごく分かりやすいので、ぜひ読んでみてください!!!

参加してみたら、すごく優しいコミュニティだった

最後は、みんなでお片付けをして、絶妙な音量で「Snowflake~!」と言いながら集合写真を撮って終了。笑

懇親会まで参加させていただいたのですが、改めてコミュニティっていいなぁと感じました。
登壇内容についてもっと深く聞いたり、最近興味があるところはどういうところなのか聞くことで、どういうところに注目すべきなのか、整理できたような気がします。

あと、私はSnowflakeを触ったことないからこそ出来ることってポストだけだなぁ〜とひたすら気になった部分をちまちまポストしていたのですが、「X、見ていました!」だったり、「それがすごく良かった!」とイベント終わりや懇親会で言っていただいたのが本当に嬉しかったです。

正直エンジニアコミュニティに結構ビビりながら参加している部分も多いので、直接言っていただけるだけで気持ちが軽くなりますし、ありがたかったです。

そんなわけで、めちゃくちゃ楽しい1日でした!また参加してみようと思います。

今度は登壇できるように何かSnowflake周りで触ってみようかな…
Terraformやってみたいな…と思っています。

以上、たいがーでした🐯

Discussion