博客 / 用户案例

ClickHouse 替代 Postgres,为 Common Room 客户门户提供实时分析能力

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

集成 ClickHouse 是 Common Room 数据管理发展历程中的重要一步,使其能够处理随着市场成功而来的日益复杂的客户数据和数据量。

Common Room 成立于 2020 年,是一个 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

受活跃的 ClickHouse 社区和可供测试的交钥匙云版本的吸引,Common Room 探索了在其用例中使用 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