DoubleCloud 即将停止运营。利用限时免费迁移服务迁移到 ClickHouse。立即联系我们 ->->

博客 / 用户故事

灯塔内部:GENIEE 如何利用 ClickHouse 稳定和优化广告效果报告

author avatar
ClickHouse 团队
2024 年 10 月 3 日


GENIEE 的使命是创造一个每个人都能在营销中取得成功的世界。该公司于 2010 年在东京成立,提供一系列广告技术和数字营销解决方案,旨在帮助出版商、广告商、代理商和应用开发人员优化其广告策略,并最大限度地提高广告收入。

在数字营销中,数据是有效广告策略的基石。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 的长期增长,并交付客户期望的尖端广告技术和数字营销解决方案,他们需要一个更稳定、更高效的数据库管理解决方案。

选择 ClickHouse 而不是 BigQuery

当隆文和他的团队开始着手彻底改造其广告效果报告系统时,他们考察了几个备选方案,包括 Google BigQuery。但是,尽管 BigQuery 提供了一些优势,但 GENIEE 认为,最佳途径是扩展其 ClickHouse 的使用范围。

此决定背后的主要因素之一是团队对 ClickHouse 的熟悉程度,他们已经使用 ClickHouse 作为其报告数据库多年。这种长期的关系和对 ClickHouse 的采用,包括其先进的功能,使他们在扩大其使用范围以包括数据聚合时能够平稳过渡。

此外,隆文说,ClickHouse 提供了卓越的成本效率——这是一个重要的因素,因为该公司试图减少服务器资源和运营支出。

通过构建一个他们已经信任并非常熟悉的系统,GENIEE 能够做出战略性选择,平衡性能、稳定性和成本。选择将 ClickHouse 用于报告和聚合,使他们能够完全优化其数据运营,而无需使用全新的平台。

“最终,选择 ClickHouse 而不是 BigQuery 是正确的决定,”隆文说。

一个新的、更好的数据架构

GENIEE 的新数据架构以两个 ClickHouse 集群为中心——一个用于日志聚合,另一个用于报告——它们协同工作,以简化和稳定其数据处理。数据流从 Kafka 开始,Kafka 摄取实时数据,并将数据路由到 ClickHouse,用于聚合和报告。通过集中这些功能,GENIEE 现在可以快速准确地处理海量广告效果数据。

geniee-img2.png

GENIEE 的新架构:数据通过 Kafka 流式传输,通过 ClickHouse 聚合和解析,并存储起来以供实时报告。

以下是该系统一些关键组件的详细介绍

Kafka 表引擎

GENIEE 继续使用 Kafka 来摄取实时数据,但现在它通过 Kafka 表引擎 将日志直接路由到 ClickHouse。这种简化的方法意味着该系统可以以最小的延迟处理大量传入数据。

物化视图

ClickHouse 的 物化视图 使 GENIEE 能够预聚合广告数据(如展示次数和点击次数),将查询时间从几小时缩短到几分钟。物化视图会触发自动数据解析和聚合,进一步简化报告流程。

SummingMergeTree 引擎

通过利用 ClickHouse 的 SummingMergeTree 引擎,GENIEE 已完全自动化了展示次数和成本等指标的聚合。这使 GENIEE 能够避免旧系统中困扰他们的手动处理和重新统计。

字典和元数据处理

使用 ClickHouse 的 字典功能,GENIEE 可以高效地将键映射到属性值,特别是对于广告商元数据。这减少了数据重复并加快了实时查找速度,从而进一步提高了其数据架构的整体效率。

速度、稳定性和可扩展性

正如隆文解释的那样,GENIEE 的新 ClickHouse 中心数据架构在业务的关键领域带来了一系列优势。

在旧系统下,报告生成需要数小时,而现在相同的查询只需几分钟即可完成。这意味着 GENIEE 的客户可以做出更快、更明智的决策,实时优化其广告策略和支出。

系统稳定性也得到了很大提升。GENIEE 以前在使用 Flink 时经常遇到的故障现在已经成为过去。通过转向 ClickHouse 的聚合引擎,GENIEE 简化了其数据流,减少了故障点,提高了系统可靠性。

成本效益是另一个重大胜利,无论是运营方面还是财务方面。ClickHouse 的 SummingMergeTree 引擎使 GENIEE 能够自动执行指标聚合,无需人工干预,从而使工程师能够专注于更具战略意义的高价值任务。新架构也更加资源高效,需要的服务器更少,降低了公司的基础设施成本。

总的来说,新系统简化了流程,提高了可靠性,降低了成本,并使 GENIEE 能够向客户提供更及时、更有价值的见解。

与 ClickHouse 共同成长

展望未来,Takafumi 表示,团队很高兴继续探索和利用 ClickHouse 的功能。重点关注领域之一是通过试验投影等功能和优化压缩算法来进一步提高查询性能,以减少处理时间。他们还在考虑从 JSON 迁移到二进制日志格式,他们希望此举将提高性能并使数据处理更加高效。

凭借 ClickHouse 的灵活性和可扩展性,GENIEE 能够继续发展,为客户提供更快、更可靠的洞察。随着业务的发展,Takafumi 和团队相信 ClickHouse 将继续成为其数据基础架构的基石,使他们能够在广告技术和数字营销领域保持领先地位。

要详细了解 ClickHouse 以及它如何使您的数据操作更快、更高效,请免费试用 ClickHouse Cloud 30 天加入我们的开源社区

分享此帖子

订阅我们的时事通讯

随时了解功能发布、产品路线图、支持和云服务!
正在加载表格...
关注我们
Twitter imageSlack imageGitHub image
Telegram imageMeetup imageRss image
©2024ClickHouse, Inc. 总部位于美国加利福尼亚州湾区和荷兰阿姆斯特丹。