Snowflakeを採用した理由
──「POWERED BY」受賞おめでとうございます。感想をお聞かせいただけますか。
このような賞をいただけるとは考えていなかったので、素直にうれしいですね。今後も、データマーケティングを推し進め、企業のデジタルトランスフォーメーションの推進をサポートできるサービスを提供してまいります。
──なぜ「b→dash」においてSnowflakeを採用したのでしょうか。
Snowflakeの採用には、b→dashのアップデートの歴史が関係しています。「b→dash」はこれまで大きく3回アップデートを行っており、現在はバージョン4です。
バージョン1では、Webのデータとリアルのデータをつなげるところから始まり、BIツールの機能のみを保持していました。そこから1年程かけて現状のようなAll in Oneへと成長したのですが、機能が増加するにともない当初の想定を超えるデータ量を扱う必要が出てきたため、バージョン2では、より多くのデータを処理できるようにデータ基盤をアップデートすることにしました。
アップデートにより、データ量をスケールしやすい形に変えることは出来たのですが、今度はお客様の数に比例してデータ構築の工数が膨大に発生するという問題に直面しました。クライアント企業様ごとにやりたいことが異なり、データの作り方も変わるのですが、当時は社内の導入部隊が「b→dash」内部で個別にデータ基盤を作っていたのです。結果として、作成のための工数が膨大に増え、クライアント企業様の要望にスピーディーに対応することが出来ず、お待たせしてしまうこともありました。
そこで、バージョン3では、誰でも簡単にデータ構築を行える「データパレット」というアプリをリリースし、GUI画面でデータを操作できるようにアップデートしました。その結果、スムーズにデータを構築し、施策や分析に活用することが出来るようになりました。
しかし、クライアント企業様のデータ活用が進むにつれて想定以上にデータ量が増えていき、当時の基盤では限界に近づいていたのです。そのため、毎晩500GBくらいのデータ処理をしなくてはならないケースなどが発生した際には、夜間に処理が終わらないなどのパフォーマンス面での懸念がありました。
この状況を打破するためにも抜本的に見直す必要があると判断し、いくつかの候補からSnowflakeを選択。2021年1月に、現在のバージョン4をリリースすることになりました。
──Snowflakeを選択した大きな理由は何でしょうか。
決め手はパフォーマンスです。現在「b→dash」のデータは50TBほどで、お客様によっては、毎日数百GBもの処理がざらにあります。データパレットでデータを操作してクエリを大量に流したとき、最もパフォーマンスが高かったのがSnowflakeでした。
また、細かなところでは、スケーラビリティも理由の一つとして挙げられます。たとえば、データ処理量が多くなるのは夜間であり、日中はそれほどの負荷がかかりません。もちろん、レスポンスを早くする必要はありましたが、時間帯によりデータ処理量や求められるパフォーマンスが異なるのです。
バージョン3までは内部でスケーリングを頑張っていたのですが、運用の限界に近づいていたこともあり、最終的にはパフォーマンスがとても高いことに加え、スケーリングの速度が速く、コスト面でも最適化できることからSnowflakeを選択しました。
──導入後にはどのくらいの効果が得られましたか。
パフォーマンスはとても高くなっており、分かりやすい実績としては、4時間かかっていた処理を30秒ほどに短縮することが出来ました。単純なクエリだと大きな違いは出ないのですが、データパレットを使って自由に加工すると、最適化されていないクエリが出てきてしまいます。そのため、これまでは処理に長時間かかることもありましたが、この点を改善出来たのは大きな成果だと感じています。