网易首页 > 网易号 > 正文 申请入驻

从 PostgreSQL 切换到 ClickHouse,提升系统性能与伸缩性

0
分享至


作者 | Sergio De Simone

译者 | 明知山

AI 驱动软件测试平台开发商 Momentic 近期 对其缓存系统进行了重构,以应对每天超 200 万次、总计 200 亿条记录的查询需求,并将平均响应延迟维持在 250 毫秒左右。这一改进得益于从 PostgreSQL 迁移到列式数据库 ClickHouse。

采用新缓存架构的核心原因是缓存数据表数据量急剧膨胀——从约 8 万条记录激增至 10 亿条,这一变化开始暴露出 PostgreSQL 的性能瓶颈:

由于高写入、高读取的工作负载,我们遇到了资源使用率飙升以及查询并发读写缓存时的锁争用问题。随着数据量增长了好几个数量级,情况只会变得更糟。

Momentic 决定迁移至 ClickHouse 时,其缓存系统每日处理约 60 万次缓存查询,且要求响应延迟低于一秒。相较于 PostgreSQL,ClickHouse 在架构层面一大核心优势是采用了稀疏主键索引,而非 B 树索引。PostgreSQL 的查询开销通常会随数据量增大而上升,而 ClickHouse 在已知键值的情况下可将检索范围缩小至少量数据颗粒,在海量数据场景下大幅提升查询效率。

通过精心设计主键,将测试 ID、步骤 ID、平台版本、Git 分支与提交时间戳纳入主键字段,在 90% 的场景(特性分支)中实现了高效检索。但主干分支查询却需要访问海量条目,存在性能隐患:

这意味着大多数查询只需要读取 1 至 2 个数据分片,但某些异常查询每次都要读取几乎所有数据分片,导致内存使用和磁盘操作出现剧烈波动。

为解决这一问题,Momentic 采用了物化视图,按测试 ID 预计算所有可用的提交时间戳,让查询直接定位至对应数据分片。

另一项关键优化是减少单次测试执行产生的查询次数,原先在 PostgreSQL 中使用的三次独立查询在 ClickHouse 上运行时效率很差。

我们改用仅执行 INSERT 操作,并结合 ClickHouse 的 ReplacingMergeTree 引擎:用 SELECT 获取缓存,重新 INSERT 已使用的缓存,以此来延长其过期时间(TTL),单次测试任务结束后 INSERT 新缓存,然后让 ClickHouse 异步完成数据去重。这项优化带来的性能提升十分显著,我们得以彻底移除 Redis 缓存层——此时由于缓存键基数已大幅升高,Redis 的价值已经相当有限。

为了完成迁移,Momentic 让 ClickHouse 与 PostgreSQL 并行运行,将所有写入同时复制到两个系统。生产流量继续由 PostgreSQL 提供服务,同时对 ClickHouse 进行“影子查询”,并对两个数据库的结果进行差异比对,确保正确性。在 Momentic 确认新系统稳定可靠后,流量逐步从 PostgreSQL 切换到 ClickHouse。即使在切换完成后,双写机制仍维持了一段时间,一旦出现异常可安全回滚至原数据库。

通过这次重构,Momentic 成功将缓存规模扩展至 200 亿条记录,每天处理超 200 万次查询,同时平均解析延迟稳定维持在 250 毫秒左右。如需深入了解此次迁移及其设计决策,请参阅原文。

查看英文原文:

https://www.infoq.com/news/2026/07/momentic-postgres-clickhouse/

声明:本文由 InfoQ 翻译,未经许可禁止转载。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
梅西沉默32秒后发声:输球是我的问题,亚马尔暖心动作看哭所有人

梅西沉默32秒后发声:输球是我的问题,亚马尔暖心动作看哭所有人

江启
2026-07-21 09:39:06
“上午大暑把扇丢,下午大暑热死牛”,今年大暑几点?有啥预兆?

“上午大暑把扇丢,下午大暑热死牛”,今年大暑几点?有啥预兆?

智慧生活笔记
2026-07-21 11:22:41
五天票房只有429元,多位明星加盟助力,今年暑期档最惨电影诞生了

五天票房只有429元,多位明星加盟助力,今年暑期档最惨电影诞生了

影视高原说
2026-07-19 08:17:32
有消息称“乌克兰武装部队总司令瑟尔斯基被解职”,乌武装部队总参谋部表态

有消息称“乌克兰武装部队总司令瑟尔斯基被解职”,乌武装部队总参谋部表态

环球网资讯
2026-07-20 22:37:05
奥利塞不愿给私生女钱,前女友控诉:他怎么能对孩子那么冷漠

奥利塞不愿给私生女钱,前女友控诉:他怎么能对孩子那么冷漠

懂球帝
2026-07-21 05:23:12
收藏:2026山东高考本科录取排序

收藏:2026山东高考本科录取排序

山东教育
2026-07-21 12:57:45
1.5万元机票退票仅退432元:携程称系航司规定,航司客服称费用需与平台确认

1.5万元机票退票仅退432元:携程称系航司规定,航司客服称费用需与平台确认

澎湃新闻
2026-07-21 08:44:29
马德兴:如果巴萨不给库巴西机会他能有今天?中国足球更该给年轻人机会

马德兴:如果巴萨不给库巴西机会他能有今天?中国足球更该给年轻人机会

懂球帝
2026-07-21 09:58:21
赵勇放大招!中国女排总决赛名单出,2朵金花遭“清理”无缘澳门

赵勇放大招!中国女排总决赛名单出,2朵金花遭“清理”无缘澳门

行舟问茶
2026-07-21 11:36:21
麻豆传媒,彻底毁掉无数花季少女的人生?警方跨省联动一举捣毁!

麻豆传媒,彻底毁掉无数花季少女的人生?警方跨省联动一举捣毁!

独坐山巅前
2026-07-21 11:21:09
惊呆!网传医学毕业生找工作也很难?

惊呆!网传医学毕业生找工作也很难?

慧翔百科
2026-07-21 08:32:49
林青霞和谢贤啥关系?原来中间牵线的是狄波拉!

林青霞和谢贤啥关系?原来中间牵线的是狄波拉!

阿废冷眼观察所
2026-07-21 01:53:40
李亚鹏再登热搜,谈及韩红时说出惊人内幕

李亚鹏再登热搜,谈及韩红时说出惊人内幕

悠悠说世界
2026-07-21 04:43:52
太狠了!伊朗真干了!

太狠了!伊朗真干了!

财经要参
2026-07-21 12:00:03
莱利谈詹姆斯14年离开热火:当时非常失望,我们正在建立王朝

莱利谈詹姆斯14年离开热火:当时非常失望,我们正在建立王朝

懂球帝
2026-07-21 07:19:14
“加拿大人不是出气筒”!美国宣布将对加部分产品加征50%关税,加总理卡尼等多方发声

“加拿大人不是出气筒”!美国宣布将对加部分产品加征50%关税,加总理卡尼等多方发声

环球网资讯
2026-07-21 10:29:23
利拉德这波太圈粉了!为杨瀚森融入而学中文,新赛季回归将带着打

利拉德这波太圈粉了!为杨瀚森融入而学中文,新赛季回归将带着打

篮球资讯达人
2026-07-21 12:54:03
王毅外长将在马尼拉与会期间与菲律宾外长拉扎罗会晤?外交部回应

王毅外长将在马尼拉与会期间与菲律宾外长拉扎罗会晤?外交部回应

环球网资讯
2026-07-20 16:01:32
假“乾隆御瓶”拍出3900万,买主拒绝交割反被“货主”提起仲裁;两名拍卖公司经理分赃近千万获刑

假“乾隆御瓶”拍出3900万,买主拒绝交割反被“货主”提起仲裁;两名拍卖公司经理分赃近千万获刑

封面新闻
2026-07-20 18:39:05
谢贤遗嘱公开瞬间,王菲终于看透:谢家那张入场券,再爱也换不来

谢贤遗嘱公开瞬间,王菲终于看透:谢家那张入场券,再爱也换不来

动物奇奇怪怪
2026-07-21 11:09:08
2026-07-21 15:11:00
InfoQ incentive-icons
InfoQ
有内容的技术社区媒体
12687文章数 51989关注度
往期回顾 全部

科技要闻

智谱暴跌,Kimi只是导火索

头条要闻

11岁男孩被泳池排水口吸住溺亡:在水下挣扎约3-5分钟

头条要闻

11岁男孩被泳池排水口吸住溺亡:在水下挣扎约3-5分钟

体育要闻

西班牙队夺冠游行庆典:200万人,狂欢5小时

娱乐要闻

谢贤遗产几乎全给了2个孙子

财经要闻

百虾竞速上车:4条路线争夺车载AI话语权

汽车要闻

热爱驾驶的更棒选择 极氪8X让大块头也有大乐趣

态度原创

旅游
房产
手机
公开课
军事航空

旅游要闻

第2届318生活节唱响高原 网易云音乐助力当地文旅释放新活力

房产要闻

最高奖励15万!免学费!海南民办高中,疯狂抢人!

手机要闻

消息称苹果打样7英寸超大屏,有概率用于iPhone 20 Pro Max

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美伊再开打 战局出现新变化

无障碍浏览 进入关怀版