デジタルマーケティングに必要な機能を「ノーコード」かつ「All in One」で提供するb→dash
──はじめに「b→dash」について教えてください。
「b→dash」は、「ノーコード」と「All in One」という特徴を持ったデータマーケティングプラットフォームです。
一般的なマーケティングツールでは、メール配信などの施策を実施しようとすると、顧客データを条件に用いてセグメント分けをしたり、顧客データと受注データを統合したりと、施策に必要なデータを準備する作業にSQLというデータベース言語の知見が必要となります。しかし、b→dashであればSQLが不要であるため、ノーコードで誰でも簡単にデータ活用が可能です。
また、もう一つの特徴としては、メール配信やLINE配信、データ分析、web接客といった、データマーケティングに必要な機能をAll in Oneで提供しているため、プラットフォーム上にいれたデータを様々な機能で利用することができるという点が挙げられます。All in Oneであるがゆえに共通の思想、共通の UI/UXポリシーに基づいてすべての機能を開発してきたため、機能ごとにUI/UXの差が無く、使い勝手という点でも圧倒的に優れていると自負しています。
──井戸端洋彰さんはどんな役割を担っていますか?
CTOとして開発の責任を担っています。2014年にデータXに入社し、b→dashの開発に初期から携わっており、プラットフォームのデータモデル構築やアーキテクチャの設計、技術選定、アルゴリズム設計、開発などを推進しています。
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秒ほどに短縮することが出来ました。単純なクエリだと大きな違いは出ないのですが、データパレットを使って自由に加工すると、最適化されていないクエリが出てきてしまいます。そのため、これまでは処理に長時間かかることもありましたが、この点を改善出来たのは大きな成果だと感じています。
良好なユーザビリティを「パフォーマンス」で支える
──自由度が高いゆえに、エンジニアなら作ることがないような最適化されないクエリができてしまい、時間がかかってしまうのですね。
お客様のデータはバラバラですし、発行されるクエリもまったく異なるため、すべてを最適化することは難しいです。そこに関しては、Snowflakeのパワーで解決できるようになりました。古いバージョンを知るエンジニアや運用部隊はすごく感動しています。
また「b→dash」がユーザーとして想定しているのはエンジニアではなく、一般のマーケターです。よく「Excelと同じように」との要望をいただくのですが、やはり使い勝手を重視する必要があります。従来は、画面操作がわかりやすくなるようにプレビュー用のデータを用意し、実際の処理は裏側でやるなど、システム構造が複雑化しがちでした。一方で、Snowflakeを導入してからは、プレビュー用のデータを別途用意しなくても処理に耐えうるので、アーキテクチャをシンプルにできました。
エンジニアでなくても簡単にデータ操作できるようにすることは「b→dash」のこだわりであり、目標です。そのため、これだけレイテンシーが低いと助かりますね。
──Snowflakeを活用する上で工夫されていることはありますか?
「b→dash」では、たまに大きな処理が発生することもあるのですが、そうしたお客様には共有ではなく、専有のデータウェアハウスを使うように仕組みを構築してコントロールするようにしています。
そのため、Snowflakeにはマルチテナント対応を期待しています。加えて、簡単に最適化のようなことができるといいなと思っています。現状でデータが50TBにも上っており、恐らく数年で倍になるでしょうし、もっと膨らむかもしれません。
もちろん、データ量やクエリが多種多様なので、どのような構成にすればコストパフォーマンスが最大になるのか、これから試行錯誤したいと考えています。その際に、どのような設定や構成にすれば最適化できるか、指針がわかると嬉しいですね。
──最後に「b→dash」をどのように成長させていきたいのかお聞かせください。
「b→dash」は、先ほどお伝えさせていただいたように、「ノーコード」と「All in One」という特徴を持っているため「こういうキャンペーンを打ちたい」「こんな分析がしたい」と思いついたときに「誰でも簡単にデータ活用ができる」プロダクトです。
そして、それを支える重要な要素としてデータのパフォーマンスが挙げられます。何かを設定して、結果を確認できるのが1時間後か1秒後か、これだけでユーザビリティは大きく変わります。1時間後ではなく1秒後に結果が返ってくるなら「いや、こうじゃない」「そうそう、やりたいのはこれだ」と試行錯誤できるようになります。
だからこそ、今後はより一層パフォーマンスを高めることで「誰でも簡単にデータ活用ができる」世界を実現し、データの民主化を推進していきたいです。今後もSnowflakeを活用し、「b→dash」に磨きをかけて企業や社会に貢献していきたいと思います。