😭

SnowflakeのDataCloudが面白そうっていうお話

2022/05/04に公開

前置き

こんにちは。株式会社GENDAのこみぃです。

先週のブログで、Snowflakeのイベントで紹介があったData Cloudが面白そうなので後日まとめるというお話をしました。
https://zenn.dev/kommy339/articles/ac57be9ecc240e

そういうわけで、今日はData Cloudについてのお話です。

Data Cloudとは

Data CloudというのはSnowflakeが提供するデータの共有のための機能です。
https://www.snowflake.com/data-cloud/?lang=ja

最近だと自社のサービスを作るために、サードパーティのツールを使うことがよくあります。
その場合データはサードパーティのサーバーに存在するわけで、提供されているAPIなどからデータを取得して自社のデータウェアハウスに移すパイプラインを作るというのもデータエンジニアのお仕事の一つです。

また、自社のサービス以外のデータを使うこともよくあります。
リアル店舗が存在する事業などでは、天気のデータを自社のデータと組み合わせて分析したりなどがよくありますね。

Data Cloudはこのあたりのデータパイプラインを画期的に改善する仕組みです。

どのへんが画期的なのか

従来の方式

従来の方式では、APIを定期的に叩いてデータを取得して自社のデータウェアハウスに突っ込むのが一般的でした。

このシステムを構築するのが結構たいへんです。というのも

  • APIごとにレスポンスのデータの構造が違う
  • APIごとに一度に取得できる件数や叩ける回数の制限などの仕様が違う
  • 叩くのに失敗した場合に再取得しにいくのが結構大変な場合がある
  • ひどい場合にはいきなりAPIの仕様が変わる

他にもまだまだあるのですが、とにかくつらいことだらけです。

データエンジニアとしてこのあたりのパイプラインを実装したことがある方は涙を流しながら深く同意していただけると思います。
本当に、泣き止んでください。つらかったですよね。私はあなたの味方です。だからどうか、泣き止んで。

Data Cloudの方式

さて、Data CloudはSnowflakeのDBやテーブルそのものを共有するサービスです。
Data Cloudの仕組みでは、Snowflake上でサードパーティのデータを自社のDBと同じ用に参照することができます。


※同期というよりはViewに近い概念かもしれません

さて、これがどういうことかというと、パイプラインの構築が不要ということです。
APIを叩く必要も、取得したjsonをパースする必要もありません。

これがどれだけ画期的かは、データエンジニアとしてこのあたりのパイプラインを実装したことがある方は涙を流しながら深く同意していただけると思います。

人知れず会社のデータドリブンな文化を支えていたデータエンジニアの皆さん。さあ泣き止みましょう。止まない雨はないのです。

Imagine

Imagine there's no API
想像してごらん APIなんてないんだと

It isn't hard to do
そんなに難しくないでしょう?

Nothing to manage data pipeline
パイプラインの管理なんて必要ないし

Above us only some tables
僕たちの前にはただいくつかのテーブルがあるだけ

Imagine all the people
さあ想像してごらん

executing SQL to the same table
みんなが同じテーブルにSQLを打ってるって

結びの言葉

そういうわけで、個人的には大注目の機能ということで、今後の動向に期待しようと思います。

Data Cloudに限らず、Snowflakeは全体的に古えのデータ基盤運用者が抱えていた悲しみが改善されているような仕様になっているのが嬉しいところです。

さらに詳細が聞きたいという方は、私がわかる範囲であればお答えしますので、Twitterあたりでお気軽にお声がけください。
@kommy_jp

本日はこのあたりで。
それじゃあ、バイバイ!

Discussion