Blog / Japanese

GENIEEがClickHouseを活用して広告パフォーマンスレポートを安定化・最適化した方法

author avatar
ClickHouse Team
Oct 3, 2024 - 1 minutes read


GENIEEは、誰もがマーケティングで成功できる世界の実現を目指しています。2010年に東京で設立されたGENIEEは、パブリッシャー、広告主、代理店、アプリ開発者の広告戦略を最適化し、広告収益を最大化するための広告技術とデジタルマーケティングソリューションを提供しています。

デジタルマーケティングにおいて、データは効果的な広告戦略の基盤です。GENIEEのクライアントは、インプレッションやクリックからコンバージョンやコストに至る莫大な量のリアルタイムデータに基づいてキャンペーンを調整し、リターンを最大化しています。毎日生成される何十億ものデータポイントを持つ中で、GENIEEは効率よく情報を処理、保存、分析することができるデータベース管理システムを必要としています。これにより、正確でリアルタイムのインサイトを提供し、広告主が迅速に意思決定できるようにします。

2017年以来、ClickHouseはGENIEEのデータ運用の中心となり、中央報告データベースとして機能しています。2024年6月の東京ミートアップで、エンジニアの片岡氏は、ClickHouseの使用をデータ集計にまで拡大するという最近の決定について説明しました。この動きにより、レポートの速度が向上し、システムの安定性が改善され、コストが削減されました。

旧システムの限界を超える

2021年まで、GENIEEの広告パフォーマンスレポートシステムは、ストリーミングデータにはApache Kafkaを、データ集計にはApache Flinkを組み合わせて使用していました。このセットアップでは、Flinkが広告データの集計という複雑なタスクを処理し、その結果をClickHouseに送信してレポートしていました。しかし、データの規模が拡大するにつれて、このシステムは効率性と信頼性を損なういくつかの問題に直面しました。

最も大きな問題の一つは、頻繁なFlinkの障害でした。これらの中断は不完全または不正確なレポートを引き起こし、しばしばGENIEEのエンジニアリングチームがデータを再カウントし、確認のために人によるチェックを行う必要がありました。これは労力がかかり時間がかかるプロセスでした。レポートの遅延も別の問題であり、ピーク時にはレポートの生成に40分以上かかることもあり、クライアントにリアルタイムのインサイトを提供するのが難しくなっていました。

geniee-img1.png

GENIEEの旧アーキテクチャ: データはKafkaを介してストリーミングされ、Flinkで集計され、ClickHouseでレポート用に保存されます。

旧システムはまた、サーバーリソースを大量に消費し、安定性とパフォーマンスを維持するための運用コストを押し上げていました。エンジニアは問題を診断するためにログを手動で検索する必要があり、これもまたプロセスを遅くし、作業量を増加させていました。

「状況は理想的ではありませんでした」と片岡氏は言います。「問題の根本原因に対処したいと考えていましたが、データの複雑さと規模の大きさのため、それは簡単ではありませんでした。」

GENIEEの長期的な成長を支え、クライアントから期待される最先端の広告技術とデジタルマーケティングソリューションを提供するためには、より安定性と効率の良いデータベース管理ソリューションが必要であることに気付きました。

BigQueryよりもClickHouseを選択

広告パフォーマンスレポートシステムを刷新するために、片岡氏とチームはGoogle BigQueryを含むいくつかの選択肢を検討しました。しかし、BigQueryがいくつかの利点を提供している中で、GENIEEはClickHouseの使用を拡大することが最良の道であると判断しました。

この決定の主な要因の一つは、報告データベースとして数年間使用してきたClickHouseへのチームの親しみでした。この長い関係とClickHouseの高度な機能の採用により、データ集計への拡大に伴うスムーズな移行が可能になりました。

さらに、ClickHouseはコスト効率が高く、サーバーリソースと運用費用を削減することを目指す企業にとって重要なポイントだったと片岡氏は述べています。

信頼されている既存のシステムを基に構築することで、GENIEEはパフォーマンス、安定性、コストのバランスを取った戦略的な選択をすることができました。報告と集計の両方にClickHouseを使用する決定により、完全にデータ運用を最適化し、新しいプラットフォームを必要とせずに済みました。

「結果的に、BigQueryよりもClickHouseを選択したのは正しい選択でした」と片岡氏は言います。

新たな、より良いデータアーキテクチャ

GENIEEの新たなデータアーキテクチャは、ログ集計用と報告用の2つのClickHouseクラスターを中心に構築され、データ処理を合理化し安定化するために連携しています。データフローはKafkaで始まり、リアルタイムデータを取り込み、集計と報告の両方のためにClickHouseにルーティングします。これにより、GENIEEは大量の広告パフォーマンスデータを迅速かつ正確に処理できるようになりました。

geniee-img2.png

GENIEEの新しいアーキテクチャ: データはKafkaを介してストリーミングされ、ClickHouseで集計・パースされ、リアルタイムレポート用に保存されます。

システムの主なコンポーネントには以下のものがあります:

Kafkaテーブルエンジン

GENIEEはリアルタイムデータの取り込みにKafkaを引き続き使用していますが、ログをKafkaテーブルエンジンを介して直接ClickHouseにルーティングするようになりました。この合理化されたアプローチにより、システムは遅延を最小限に抑えながら大量の受信データを処理できるようになります。

Materialized View

ClickHouseのMaterialized Viewを使用することで、GENIEEはインプレッションやクリックのような広告データを事前集計し、クエリ時間を数時間から数分に短縮しました。Materialized Viewは自動的にデータのパースと集計をトリガーし、報告プロセスをさらに簡素化しています。

SummingMergeTreeエンジン

ClickHouseのSummingMergeTreeエンジンを活用することで、GENIEEはインプレッションやコストのようなメトリクスの集計を完全に自動化しました。これにより、旧システムを悩ませていた手動処理や再集計を避けることができます。

Dictionaryとメタデータの処理

ClickHouseのDictionary機能を使用することで、GENIEEは広告主のメタデータに特においてキーを属性値に効率的にマッピングしています。この方法はデータの重複を減らし、リアルタイムルックアップを高速化し、データアーキテクチャの全体的な効率を向上させています。

速度、安定性、スケーラビリティ

片岡氏が説明するように、GENIEEの新しいClickHouse中心のデータアーキテクチャは、ビジネスの重要な領域でさまざまな利点をもたらしました。

旧システムではレポートの生成に数時間かかっていたのが、同じクエリがわずか数分で完了するようになりました。これにより、GENIEEの顧客は広告戦略や支出をリアルタイムで最適化し、迅速でよりインフォームされた意思決定を行うことができます。

システムの安定性も大幅に改善されました。GENIEEがFlinkで経験していた頻繁な障害は過去のものとなっています。ClickHouseの集計エンジンに移行することで、GENIEEはデータフローを簡素化し、障害点を減少させ、システムの信頼性を向上させました。

コスト効率も大きな成果でした。ClickHouseのSummingMergeTreeエンジンを使用することで、GENIEEはメトリクスの集計を自動化し、手動の介入を不要にし、エンジニアが戦略的で高価値のあるタスクに集中できるようになりました。また、新しいアーキテクチャはリソース効率が高く、サーバーの台数を減らし、会社のインフラコストを下げています。

全体として、新しいシステムはプロセスを合理化し、信頼性を向上し、コストを削減し、GENIEEが顧客によりタイムリーで価値のあるインサイトを提供できるようにしました。

ClickHouseと共に成長する

将来を見据えて、片岡氏はチームがClickHouseの機能を活用し続けることに興奮していると述べています。特に注力しているのはクエリパフォーマンスをさらに向上させることで、プロジェクションのような機能を試したり、処理時間を短縮するために圧縮アルゴリズムを最適化したりしています。また、JSONからバイナリログ形式への移行を検討しており、これが性能を向上させ、データ処理をさらに効率化することを期待しています。

ClickHouseの柔軟性とスケーラビリティを活用することで、GENIEEは成長を続け、顧客により迅速で信頼性の高いインサイトを提供することができます。ビジネスが進化する中で、片岡氏とチームは、ClickHouseが広告技術とデジタルマーケティングのリーダーとして先を行くためのデータインフラストラクチャの基盤となることに自信を持っています。

Share this post

Subscribe to our newsletter

Stay informed on feature releases, product roadmap, support, and cloud offerings!
Loading form...
Follow us
X imageSlack imageGitHub image
Telegram imageMeetup imageRss image