博客 / 用户案例

ClickHouse 取代 Postgres,为 Common Room 客户门户的实时分析提供支持

author avatar
ClickHouse 团队
2024 年 6 月 20 日 - 4 分钟阅读

集成 ClickHouse 是 Common Room 数据管理发展历程中的重要一步,使其能够处理日益增长的复杂性和客户数据量,而这与市场成功的到来息息相关。

Common Room 成立于 2020 年,Common Room 是一个 AI 驱动的客户情报平台,可帮助组织从端到端智能地开展市场营销 (GTM)。数字信号捕获、统一身份和账户情报以及 AI 和自动化在一个平台中结合在一起,帮助 GTM 团队在正确的时间以正确的背景联系到正确的人。一位创始软件工程师 Kirill Sapchuk,在最近的 ClickHouse 聚会上发言,向我们介绍了 Common Room 以及其数据管理历程的一些见解。

common-room-img1.png

Common Room 汇总来自许多不同来源的数据(包括产品、网站、CRM、LinkedIn、X、Slack、GitHub、Reddit、YouTube 等),并将跨渠道活动与真实的人员和真实的账户联系起来。这为 GTM 团队提供了整个数字生态系统中客户的统一视图:“在 Common Room 出现之前,人们会构建一个电子表格,然后手动从 Twitter 或 Slack 等来源提取数据,然后努力将所有数据组合和解析。充其量,这是一个繁琐的过程,” Kirill 说。他和 Common Room 团队的其他成员希望改变组织与人员联系的方式。

Postgres 为实时分析工作负载提供支持时遇到的挑战

最初,重点是从不同来源提取数据以创建客户的统一视图:“每个人都由一个称为“成员对象”的对象表示,该对象收集来自所有相关数据源的所有信息以及其他重要数据。他们是谁?哪个细分市场?之前的公司?等等,” Kirill 解释道。然后,团队使搜索联系人及其组织成为可能,使用一组丰富的多方面过滤器,并根据这些标准设置主动通知和工作流规则。

这种交互式的、数据驱动的体验需要一个强大的分析数据库来快速有效地执行这些操作。最初的架构依赖 Postgres 作为事务数据集和分析数据集的唯一数据存储,但 Common Room 团队发现,随着数据集的增长,PostgreSQL 不再适合为其用户界面提供支持的分析查询。公司开始寻找替代方案。

common-room-img2.png

进入 ClickHouse Cloud

Common Room 被活跃的 ClickHouse 社区和可供测试的交钥匙云版本所吸引,探索了在其用例中使用 ClickHouse。即,支持 1000 万个成员记录,每个记录有 100 个字段。“我们需要存储十亿行数据,” Kirill 说。

传统的分析数据库针对不可变的、仅追加的数据进行了优化,但 Common Room 的首要任务是能够处理频繁更新的解决方案——每天更新 25% 的记录。ClickHouse 提供了专门构建的表引擎,可以处理带有更新的数据,而不会牺牲分析查询的性能。Common Room 采用了 ReplacingMergeTree 表引擎来处理更新,并注意到 23.12 版本在使用 <FINAL> 修饰符后性能有了显著提升。该团队还采用了 VersionCollapsingMergeTree 表引擎来处理更复杂的情况,例如处理删除,否则大量更改将导致表大小每天增加 25%。使用 +1/-1 符号可以标记要删除和替换的旧行。

Common Room 还实现了可刷新的物化视图,以便为某些延迟可以接受的场景提供快速、可查询的数据版本。为了有效地使用这些视图,团队还必须优化 JOIN 操作的顺序。虽然 Common Room 仍然使用 PostgreSQL 进行点查询,使用 Kafka 进行批量数据转换,但 ClickHouse 现在处理大多数实时的、客户发起的查询——充当快速搜索引擎。

common-room-img3.png

事实证明,ClickHouse 是 Common Room 技术栈中非常宝贵的补充,使他们能够高效地处理最近和历史数据之上的复杂分析查询,而不会影响性能。观看视频以了解更多信息!

分享此文章

订阅我们的新闻资讯

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