ClickHouse matches PG for single-row UPDATEs and 4000 x faster for bulk UPDATEs
9 months ago
- #database-performance
- #PostgreSQL
- #ClickHouse
- ClickHouse在单行UPDATE操作上与PostgreSQL性能相当,而在批量UPDATE场景下显著更快,测试中最高可达4000倍速度提升。
- PostgreSQL默认采用完整事务机制,每次更新都会产生额外开销;而ClickHouse除非显式开启事务,否则会规避这种开销。
- 两者数据库均采用多版本并发控制(MVCC)实现隔离,确保读取操作在更新过程中始终看到一致性快照。
- ClickHouse的列式存储设计和并行处理能力,通过高效扫描仅更新相关列,实现了更快的批量更新性能。
- 基准测试显示,ClickHouse在更新后的分析查询中保持卓越性能,无论更新是刚应用还是已完成合并,速度优势始终明显。
- 当WHERE条件不使用主键时,ClickHouse的批量更新凭借并行处理优势,能极大缩短全表扫描时间。
- PostgreSQL擅长事务处理场景,而ClickHouse在需要高速更新与强大分析查询能力的场景中表现更为突出。
- 未来版本可能会为ClickHouse引入事务支持,有望缩小与PostgreSQL在事务性能方面的差距。