SnowflakeのDataCloudが面白そうっていうお話
前置き
こんにちは。株式会社GENDAのこみぃです。
先週のブログで、Snowflakeのイベントで紹介があったData Cloudが面白そうなので後日まとめるというお話をしました。
そういうわけで、今日はData Cloudについてのお話です。
Data Cloudとは
Data CloudというのはSnowflakeが提供するデータの共有のための機能です。
最近だと自社のサービスを作るために、サードパーティのツールを使うことがよくあります。
その場合データはサードパーティのサーバーに存在するわけで、提供されている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