Findy Tools
開発ツールのレビューサイト
検索結果がありません
Xのツイートボタン
このエントリーをはてなブックマークに追加
Xのツイートボタン
このエントリーをはてなブックマークに追加
最大1分の待ち時間を秒単位へ。 国内初期ユーザーが語る、ClickHouseを選び、使い続ける理由
公開日 更新日

最大1分の待ち時間を秒単位へ。 国内初期ユーザーが語る、ClickHouseを選び、使い続ける理由

市場調査やマーケティング支援を手がける株式会社ヴァリューズ。膨大なWeb行動ログやアンケートデータを保有し、それらを活用した分析サービスを提供しています。

同社がペルソナ分析ツール「Perscope」に、ユーザーの操作に応じて集計結果を返すデータベースとしてClickHouseを導入したのは、国内でもまだClickHouseが広く知られていなかった時期でした。

導入前、Perscopeの前身サービスでは、分析結果がユーザーに返るまで最大15分ほどかかっていました。その後の改善で最大1分程度まで短縮し、ClickHouseへの移行後は、各クエリが基本的に数秒で返るようになっています。

前身サービスとはアーキテクチャや処理方式が異なるため単純な比較はできませんが、段階的に分析の待ち時間を短縮してきました。さらに、処理速度を原因とするアラートもほとんど発生しなくなったといいます。なぜ、数あるデータベースの中からClickHouseを選んだのか。そして、約2年間使い続けて見えてきた価値とは。Perscopeのデータ基盤を支える吉田さんに、導入の背景から選定理由、今後への期待まで伺いました。

分析のたびに発生する「待ち時間」。Perscopeが抱えていたデータ基盤の課題




──まず、ヴァリューズの事業と、ClickHouseを活用している「Perscope(ペルスコープ)」というサービスについて教えてください。

吉田:ヴァリューズは、市場調査やマーケティング支援を軸に事業を展開している会社です。データ分析を強みとしており、さまざまなデータを保有しています。

それらのデータを活用して調査結果をレポートとして提供するほか、お客様自身が調査・分析できるツールも展開しています。その一つが、国内の市場調査に活用できる「Perscope」です。Perscopeを支えるデータ基盤の一部にClickHouseを活用しています。

──Perscopeでは、具体的にどのようなデータを扱っているのでしょうか。

吉田:メインで扱っているのは、PCやスマートフォンにおける検索履歴やWebサイトの閲覧履歴などの行動データです。国内のモニターの方々から許諾をいただいた上で収集しています。

例えば、「ダイエット」というキーワードを検索している人が、ほかにどのようなキーワードを検索しているのか、どのようなWebサイトを閲覧しているのか、といったことを分析できます。

さらに、モニターの方々にはアンケートも実施しているため、趣味や嗜好などの情報も掛け合わせることができます。こうした情報と実際の行動データを組み合わせることで、ユーザー像をより深く理解できるツールになっています。

──Perscopeのデータ基盤について、ClickHouse導入以前はどのような構成で、どのような課題があったのでしょうか。

吉田:Perscopeには前身となるサービスがあり、データ基盤にはAmazon Redshiftを使っていました。その中でも、ユーザーに分析結果を返す部分はバッチ処理を前提とした仕組みで、条件を入力してから結果を確認できるまで、最大15分ほどかかることもあったんです。

ユーザーからも「条件を入力したら、すぐに結果を見たい」という声があり、実際、一度処理を開始して画面を離れ、時間を置いてから戻って確認するような使い方になっていました。

そこで、もっとリアルタイムに分析結果を返せるサービスにしたいと考え、ユーザーからのリクエストに応じて高速に集計・分析する部分について、新しいデータベースを探し始めました。

──リアルタイムな分析を実現する上で、当時はどのような難しさがあったのでしょうか。

吉田:特に課題だったのは、クエリによって処理速度にばらつきがあることでした。

Perscopeは、一つの画面にさまざまな指標を表示するアプリケーションです。そのため、すべてをRedshiftで処理しようとすると、一部の重いデータや複数のクエリが同時に実行されることで、画面全体の表示が遅くなってしまいます。

また、私たちは「データで何ができるか」から考えるのではなく、「お客様にどのようなアウトプットを提供したいか」から逆算してデータベースを選びます。そのため、行数が非常に多いデータと、一人のユーザーに対して多くの項目を持つアンケートデータでは、それぞれの性質に適したデータベースを使い分ける必要があり、複数のデータベースを組み合わせる必要がありました。

今でも社内のデータ基盤としてはRedshiftをメインに利用していますが、Perscopeが求める性能特性に照らすとコストが合いにくい部分があり、部分的に切り出して、よりその特性に合わせたデータベースを探すことにしました。


「現実的な処理速度を出せたのがClickHouseだった」比較・検証で実感した処理性能




──新しいデータ基盤を検討するにあたって、どのような選択肢があったのでしょうか。

吉田:ClickHouse以外にも、いくつかのデータベースを選択肢として検討しました。Perscopeとは別の社内サービスで利用していた製品もあり、それまでの知見も踏まえながら比較していました。

比較的メジャーな製品も含めて過去に触った経験がありましたが、大量のデータを高速に返すという今回の要件に対しては、なかなか決定的な解決策にはならないという感覚があったんです。

その中でClickHouseを選ぶ大きな決め手になったのが、実際のユースケースで求めていた処理速度でした。先ほど触れた、「ダイエット」と検索した人がほかにどのようなサイトを見ているのかをランキングで出すような重い集計も、私が試した範囲では現実的な時間内で返すことができました。

実際に求めていた要件を実現できることが分かったので、「それならClickHouseでいこう」と判断しました。

──ClickHouseを検証し始めた当時は、まだ国内での導入事例も少なかったと思います。どのようなきっかけでClickHouseを知ったのでしょうか。

吉田:Google検索だったと思います。「リアルタイムにデータを返せるデータベース」という観点で国内外広く探していたところ、ClickHouseを見つけました。

私自身も当時はClickHouseについて詳しく知っていたわけではありません。実際、後からClickHouseの方に聞いたところ、国内でもかなり初期のユーザーだったようです。

──Google検索がきっかけだったんですね。まずは実際に触って判断されたと。

吉田:はい。実際に触って確かめてみようと、まずはOSS版をDockerで立ち上げて検証しました。実際に動かしてみると想像以上に速くて、そのパフォーマンスには驚きましたね。


集計速度は最大1分から10秒以内へ。速度起因のアラートも大幅に減少




──ClickHouseへの移行によって、それまで課題だった処理速度はどの程度変わりましたか。

吉田:実は、ClickHouseへ移行する前にも一度、処理速度の改善を行っています。まずはよりスペックの高いRedshiftにリプレースし、リアルタイムに結果を表示する構成に変更しました。これによって処理速度は改善したものの、重い処理ではまだ1分程度かかることもありました。

そこからさらに処理速度を改善するためにClickHouseへ移行し、現在は基本的なクエリであればおおむね数秒で返せるようになっています。複数の処理が並列で動いている状況でも、その程度のレスポンスに収まっています。



ClickHouse導入前のアーキテクチャ図(画像提供:株式会社ヴァリューズ)



ClickHouse導入後のアーキテクチャ図(画像提供:株式会社ヴァリューズ)

──1分から数秒というのは、大きな改善ですね。ユーザーからの反応はいかがでしたか。

吉田:以前は表示速度についてユーザーから不満の声をいただくこともありましたが、現在はほとんど聞かれなくなりました。

Perscopeは、一度データを抽出して終わるのではなく、探索的に使われるケースが多いサービスです。そのため、一つひとつの結果が素早く返ってくることは、サービスの使いやすさという意味でも非常に重要です。そこを大きく改善できたのは良かったですね。

──開発・運用する側にはどのような変化がありましたか。

吉田:Redshiftでバッチ処理していた頃は、処理待ちの件数が一定数を超えるとアラートが飛ぶようにしていて、それが頻繁に発生していました。そのたびに対応を考える必要があり、運用負荷もかかっていました。

ClickHouseへ移行してからは、少なくとも処理速度を原因としたアラートはほとんど上がっていません。速度をあまり心配せずに運用できるようになった安心感は大きいです。

また、ClickHouse Cloudの 「Query Insights」 も使いやすいですね。類似したクエリをまとめて確認できるので、「この種類のクエリが重い」「ここは平均的に時間がかかっている」といった傾向を把握しやすい。パフォーマンス上の課題を見つける上でも助かっています。

──ユーザー側の使いやすさと、開発・運用する側の負荷の両面で改善があったんですね。

吉田:そうですね。あとは、カスタマイズ性の高さも運用する上では大きいですね。

Redshiftは自動で最適化してくれる点が便利な一方で、ClickHouseは設定を細かく調整できるため、パフォーマンスに課題が出た際にも、自分たちでチューニングできる余地があります。どちらにもそれぞれの良さがありますが、私たちの運用スタイルには、ClickHouseのこうした柔軟性が合っていると感じています。

導入当時は国内の事例もまだ多くなく、「この構成で大丈夫なのか」と不安になることもありました。そうしたときにClickHouseのチームに気軽に相談できたのは非常にありがたかったですね。


フルテキスト検索やMCP連携。広がり続けるClickHouseの活用




──導入から約2年間が経ちました。現在もClickHouseを使い続けている理由を教えてください。

吉田:一番大きいのは、ほかのデータ基盤に切り替える理由がないことですね。

先ほど触れたように、以前のようにアラートが頻繁に上がることも、「もっと処理速度を上げたい」と感じることもなく、安心して使い続けられています。そのため、あえて別のデータ基盤に切り替える必要性を感じていません。

ClickHouse Cloud自体が継続的にアップデートされていることもありがたいです。定期的にクエリのパフォーマンスを確認しているのですが、以前より処理速度が改善されていることもあります。

以前、一時的にインスタンスのスペックを上げて運用していた時期があり、1年分の利用クレジットを発行していただきました。当初は1年より早く使い切る想定だったのですが、クエリ性能が改善されたこともあり、結果的にほぼ1年間利用できました。

継続的にパフォーマンスが改善されることで、コスト面でのメリットにもつながっていますね。

──ClickHouseで最近注目している機能や、今後期待していることはありますか。

吉田:最近では、フルテキストインデックスに注目しています。

Perscopeでは現在、特定のキーワードを検索したユーザーを抽出する全文検索の処理に、OpenSearchを使っています。こうした処理も、ClickHouse側に寄せられる可能性があるのではないかと考えています。

私たちは用途に応じてデータベースを選んでいるため、要件によって利用するインフラを変えることもあります。ただ、複数のシステムを運用することは、どうしても負担になります。今後、ClickHouse一つでカバーできる範囲がさらに広がるとうれしいですね。

もう一つ注目しているのが、MCPとの連携です。私たちのデータ提供には、Perscopeのようにお客様自身がサービスを操作する形だけでなく、お客様に合わせてデータをカスタマイズし、データベースに格納した上で、BIツールを通じて納品する形もあります。

最近では、こうしたデータをBIツールで見るだけでなく、MCP経由で直接呼び出したいというニーズも出てきています。必要なデータをClickHouseのテーブルに格納し、お客様がMCP経由で呼び出して利用する。そうした新しいデータ提供の形も実現できるのではないかと考えています。

──最後に、同じようにデータ基盤の刷新や処理速度の改善を検討している企業へ、ClickHouseをおすすめできるポイントを教えてください。

吉田:私はどちらかというと、自分でクエリを調整したり、チューニングしたりするのが好きなタイプです。そうしたエンジニアがいる企業には、ClickHouseは合っていると思います。チューニングできる範囲が広く、ニーズに応じてさまざまな調整ができるからです。

また、Perscopeで扱うデータは主に月次で更新されるため、データの書き込みの頻度自体はそれほど高くありません。一方で、ユーザーが頻繁にデータを抽出するため、データをリアルタイムに読み出し、即時的に分析結果を返すことが求められます。

このように、大量のデータを高速に分析し、リアルタイムに結果を返すことが求められるサービスには、ClickHouseは特に向いていると感じています。データ基盤を検討する際には、選択肢の一つに入れてみるとよいのではないでしょうか。

制作協力:ClickHouse株式会社

資料ダウンロード

必要事項を記入のうえ、「この内容で送信する」ボタンを押してください。

  • ツールに関するご提案や最新情報の提供のため、資料ダウンロード後にFindy Toolsを契約している資料に該当する協賛会社(以下「協賛会社」といいます)から、記載いただいた情報をもとにご案内を差し上げる場合があります。
  • 上記ご案内のため、上記記載内容ならびにFindy Toolsにご登録いただいたユーザー情報を当社から協賛会社に対して提供いたします。