Snowflakeの日本初物理コミュニティイベント「BUILD.local Tokyo: LEGEND OF THE DATA HEROES」に参加してきました #SnowVillage #SnowflakeBUILD
さがらです。
2022年11月16日に、Snowflakeの日本初の物理コミュニティイベント「BUILD.local Tokyo: LEGEND OF THE DATA HEROES」が開催されました!
私も参加してきたので、本記事で内容をまとめてみます。
イベント概要
日本のSnowflakeコミュニティが発足してから早2年…ずっとオンラインでイベントをやってきた私たちでしたが…
このたび、初めての物理コミュニティイベント開催です!!!!
YouTubeやTwitterで画面越しに見ていた仲間たちと、ついに顔を合わせられる日が訪れたのです…感無量。
ただみなさんに会えるだけでも嬉しいのに、なんとコンテンツも盛り沢山!!
コミュニティメンバーがお送りする**新感覚データベースアドベンチャー(!)「LEGEND OF THE DATA HEROES」に加え、Snowflake社員によるここだけでしか聞けないLT、もちろん参加者のみなさんとのご歓談も!
Snowflakeファン垂涎の楽しい企画が盛りだくさんとなっております。
Snowflakeを愛するみなさんと、ようやく集えることを心待ちにしております!!
ぜひ奮ってご参加ください!
会場の雰囲気
表参道駅の近くのIDOLというお店を貸し切っての開催でした。
おしゃれな雰囲気の中、100名を大きく超える方が参加しており、非常に盛り上がっていました!
当日はハッシュタグ「#SnowVillage」で多くの方がTwitterでつぶやいておりますので、ぜひこちらもご覧ください!
オープニング
まず、Snowflake社長執行役員の東條 英俊氏による挨拶がありました。
一番最初に「THANK YOU」とスライドを埋め尽くすほど大きな文字で、日本のSnowflake関係者への感謝の言葉を述べられていたことが大変印象に残っております。
2022年はSnowflake社が創業してから10年、日本法人が設立されてから3年、ということで節目の年でもありました。日本企業でSnowflakeが導入されている企業の一覧スライドもありましたが、3年でここまで広まった製品もなかなかないと思います。
東條氏からは「Snowflake創業者であるBenoit氏とThierry氏を日本に連れてきて皆さんに会わせたい!」といったメッセージもありました。
もっと日本市場でのSnowflakeを盛り上げていかないといけませんね!!
新感覚データベースアドベンチャー「LEGEND OF THE DATA HEROES」
続いて、参加者がチームを組んで挑むデータベースアドベンチャー「LEGEND OF THE DATA HEROES」が行われました。
まず一言で言うと想像以上に「データベースアドベンチャー」でしたw
オープニングでは、和やかな雰囲気の中、プリンスクマ太郎たちが踊っていたところに突如魔王が現れ、プリンスクマ太郎がデータサイロに囚われてしまいます。
このプリンスクマ太郎を、Snowflakeの力を駆使して救出していくというアドベンチャーでした。
詳細の内容としては、こんな感じでした。(文章だけ見ると「な、なにを言っているんだ…?」となるかもしれませんが、すべて事実ですw)
- STAGE 1
- オークを倒すための弱点を、Snowflake上からSQLを書いて探すステージでした。
- ロールの設定、ウェアハウスの設定、SQLをワークシートで書く、というSnowflakeの基本中の基本を学べるステージでもありました。
- STAGE 2
- フレイムドラゴンを倒すための弱点を、STAGE 1と同様に探すのですが、フレイムドラゴンの弱点は古文書(MD5)で読めないため、MD5でハッシュ化した値でフレイムドラゴンの弱点を探すのが非常に凝っているな~と感じました。
- それだけでなく、ロールをFighterからMageにして、使用するウェアハウスもより大きなものにしてクエリを発行しないと、タイムアウトを起こしてしまうという作り込みようでした!
- FINAL STAGE
- 最終決戦です!とうとう魔王との決戦なのですが、魔王と戦うための弱点を探そうにも、魔王は弱点がわかる文書(テーブル)の内容を全て消しており、弱点を探すことが出来ません…
- しかし!Snowflakeにはタイムトラベルという機能があり、最大90日前までデータを復元することができます。参加者はタイムトラベルを駆使して、魔王の弱点を突き止めて倒すことに成功しました。
- だが魔王はしぶとく、データサイロを破壊しない限りは魔王も倒せないということがわかりました…
- そこで、参加者全員のSnowflakeアカウント合計14個をSnowflakeのシェアリング機能で結集し、データサイロを破壊するための呪文を唱えることで、魔王を倒し、プリンスクマ太郎を救出することが出来ました!めでたしめでたし。
アドベンチャーに取り組んでいる間は、14個のPCに分けられて、正面のスライドに映し出された問題を手元のPCでSnowflakeを駆使し解いていくという流れでした!
Snowflake社員によるここだけでしか聞けない!ライトニングトーク祭り
続いて、Snowflake社員5名+αによるライトニングトーク祭りがありました!
全員Twitterをやっておりますので、ぜひフォローしましょう!!
皆さんはあのときの感動を忘れていませんか?Snowflake提案時のお客様リアクションTOP10
@hiroshix氏による発表でした。
多くのお客様にSnowflakeのデモや製品説明を行うポジションであるため、お客様からの反応を肌で感じることで、その内容を発表頂きました。
内容としては、「こんな簡単なの!?これならできそう」「クラウドっぽいね」「Web GUIがわかりやすい!(黒くない!)」などがありました。
ただ私の中での一番は、最後の11個目の「もっと早くSnowflake教えてよ」ですかねw
私もSnowflakeのプリセールスに関わっている人間なので、Snowflakeの良さをもっと広めていかねば!と感じるLTでした。
パフォーマンス改善に役に立つ知っていてほしい Snowflake の仕様 2 選
@indigo13love氏による発表でした。
ここでは、かなりディープなSnowflakeの仕様について聞くことが出来ました。
1つ目は「カラム数が多いテーブルは圧倒的に不利」ということです。
カラム数が多いと、コンパイルに必要なメタデータが増えたり、データの圧縮率が下がってしまい、パフォーマンスに影響を及ぼします。 具体的には、保有する値の数は同じでも、コンパイルはカラム数が少ないほうが約140倍早かったり、圧縮率は約188倍の差がでる、ということは非常に印象に残りました。
2つ目は「1つのパーティションをスキャンできるのは1つのサーバのみ」ということです。
これは、パーティション数で使えるサーバ数が決まるということであり、パーティションが適切に分かれていないと、本来並列実行できる処理が並列実行できなくなったり、クエリ全体で使えるメモリ量が減る、ということにつながってしまいます。
具体的には、LATERAL FLATTEN
による増幅や、データの偏りによって、パーティションに偏りが出てしまい、パフォーマンスの劣化に繋がることが考えられます。
対策としては、LATERAL FLATTEN
による増幅は一度テーブルを作成することで回避したり、データの偏りはCTAS + ORDER BY
や自動クラスタリングを適用することでも対策できるようです。
また、データの偏りの対策として、すぐにデータを変更できない場合には、ORDER BY RANDOM()
を付与したサブクエリを1つ挟んでおくことで、各サーバに再分散されてパフォーマンス向上につなげることが出来るようです。※これは凄い豆知識!!
ダイナミックテーブルをマテリアライズドビューの機能拡張と思ってないですか?全然違いますよ!
@mmotohas氏による発表でした。
今年6月のSummitではMaterialized Tableとして発表されていたのですが、つい先日Dynamic Tableに機能名を変更した上で詳細が明らかになりました。
しかし、元々Snowflakeを運用していた人間からすると「Materialized Viewと何が違うの?」「Stream&Taskで作ったパイプラインと何が違うの?」「Snowflakeのパイプラインは全部Dynamic Tableで構築できるの?」など様々な疑問が浮かぶ機能でもあります。
このLTは、この質問全てに応えてくれるLTでした!
こちらの発表の詳細ですが、本橋さんのスライドを見てもらうのが一番はやいのでw、粗いですが撮影した画像を載せておきます。
今からでも遅くない!Streamlit 始めてみよう
@tmasuo_氏による発表でした。
今年6月のSummitでも発表があった通り、Snowflakeはアプリ開発の領域にも革命を起こそうとしています。それがStreamlitを用いたアプリ開発です。
Streamlitは、簡単に言うとオープンソースのPythonライブラリであり、すべてPythonでインタラクティブなWebアプリを開発できるものです。
このStreamlitですが、今後Snowflakeとの連携が密になり、Snowflake上でPythonを使ったアプリ開発ができるようになり、更にはデプロイを行いSnowflakeのリソースを用いてアプリを動かし、それだけでなくデータシェアリングと同じ様に簡単な操作でシェアをしたりMarketplaceで販売まで出来るようになる、という機能提供を予定しています!
上述の機能のリリースはまだこれからですが、Snowflake上でPythonを使う土台は固まりつつあります!具体的には、Snowpark for PythonのGAでしたり、Snowparkに最適化された(メモリを多く積んだ)ウェアハウスもパブリックプレビューとなっています。
※Snowpark for Pythonや、Snowparkに最適化されたウェアハウスについては下記もご覧ください。
今後間違いなくSnowflakeの主要機能となってくるStreamlitを用いたアプリ開発~提供ですが、「Streamlit、どうやって勉強しよう…」という方も多いと思います。
そんな方には、「30DaysOfStreamlit」やSnowflake社公式のQuick Startもありますので、こちらから手を出してみるのがおすすめです!
DWHに負けないレスポンスで顧客の質問に回答する!Snowflake営業の極意
@ShotaAsanoSnow1氏による発表でした。
浅野氏はTwitterだけ見ていると「セールスエンジニアの方ですか?」と思うくらいSnowflakeの機能についてツイートしている方ですw
そんな方が、DWHに負けないレスポンスで、どうやって顧客の質問に回答しているのか、そのノウハウが発表されました。
まずSnowflake社内で導入されているツールをべた褒めされていました。具体的なツール名は避けられていましたが、「使いたい!」と社員が言ったツールはすぐに導入してもらえる土壌が整っているようです。
また、すぐに返答するためにどうしているのかですが、Snowflake社ではBYODを導入しており、24時間SlackやGMailを見ることができる体制が整っているようです。
更に、すぐに回答するためには自分自身が知識を得ておかないといけません。その知識をどうやって得ているのか、この発表では4つ話がありました。
- Snowflake公式のRelease Note
- 社内JIRA Private Preview一覧ページ
- Yahooリアルタイム検索(Snowflake)
- エンジニア向けの各機能の社内Slackチャンネル
私もYahooリアルタイム検索は盲点だったので、使っていこうと思います!
クラスメソッド甲木氏による臨時LT
なんと、予定ではSnowflake社の5名だけだったのですが、我らがクラスメソッドのData Superheroである甲木氏(@yokatsuki)氏が会場でLT資料を作り、LT大会に臨時参戦しました!
発表内容としては、「データ分析基盤」と「データ統合基盤」は別物だよ!というお話でした。 (途中、某ヒーロー漫画の画像がスライドでたくさん使われていたので、著作権の関係でスライドは載せるのが難しいのですが…w)
Snowflakeは今後HTAPのアプローチとしてUnistoreの提供を予定していますので、夢の統合基盤が構築出来る日も近いかも知れませんね!!
甲木氏の、「データ分析基盤」と「データ統合基盤」は別物だよ!という熱い思いはこちらの動画でもお話されていますので、ぜひこちらも併せてご覧ください!
最後に
Snowflakeの日本初物理コミュニティイベント「BUILD.local Tokyo: LEGEND OF THE DATA HEROES」について、内容をまとめてみました。
私はクラスメソッドに入って約2年で、IT業界に本腰を入れてからも2年ということもあり、こういったベンダー主催のイベントはこれまで全てオンライン上で行われたものに参加するのが当たり前でした。
しかし、今回人生初のオフラインイベントに参加してみて、今までTwitterなどオンラインだけで交流していた方と直接会ってお話することができたり、リアルならではの偶発的な会話の発展もあったり、何より現場の熱量をリアルで体感することができ、オフラインイベントの良さを知ることが出来ました!(私に話しかけて頂いた皆様、ありがとうございます!!)
今後もSnowflakeを盛り上げていこう!という気持ちになれる素晴らしいイベントでした。関係者の皆様、今後ともよろしくお願いします!
おまけ:戦利品
今回のイベントでは、こんな戦利品も手に入りました!
特にクマ太郎バッジは表面がふわふわしているという作り込み!