ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

pgrust vs ClickHouse:ClickBench 分析型负载巅峰对决,Rust 重写 Postgres 能赢吗?

2026/8/17 22:54:53 拓冰建站 浏览量
pgrust vs ClickHouse:ClickBench 分析型负载巅峰对决,Rust 重写 Postgres 能赢吗? pgrust vs ClickHouseClickBench 分析型负载巅峰对决Rust 重写 Postgres 能赢吗【免费下载链接】pgrustPostgres rewritten in Rust, now faster than Postgres and Clickhouse项目地址: https://gitcode.com/GitHub_Trending/pg/pgrustpgrust 是一个用 Rust 完整重写的 PostgreSQL它在保持 Postgres 18.3 兼容性的同时向分析型负载的性能天花板发起了冲击。在官方公布的 ClickBench 基准测试中pgrust 的分析型查询速度比原生 Postgres 快约300 倍目前仅比 ClickHouse 慢约 2 倍而开发团队认为这远不是终点。这场 Rust 重写数据库与传统 OLAP 王者 ClickHouse 的巅峰对决结果究竟如何本文带你一探究竟。ClickBench 是什么为什么它是分析型负载的照妖镜ClickBench 是 ClickHouse 团队发起的一个公开数据库基准测试模拟真实的网页分析场景。它包含约 1 亿行点击流数据以及 43 条覆盖过滤、聚合、排序、连接、子查询等典型分析模式的查询。之所以权威是因为它数据真实基于真实网站点击日志而非合成数据查询全面从简单 WHERE 过滤到复杂多表 JOIN 一应俱全跨库可比同一套查询在 PostgreSQL、ClickHouse、DuckDB、SQLite 等数据库上统一运行。对于任何想要证明自己分析性能的数据库来说ClickBench 都是最硬的试金石。巅峰对决三组关键数字看懂差距Postgres 的天花板pgrust 快 300 倍传统 Postgres 在单机分析型负载上表现平平这是它的架构基因决定的。而 pgrust 通过 Rust 重写把分析查询速度提升了约 300 倍。这意味着原本需要数分钟的报表查询在 pgrust 上可能只需一两秒。ClickHouse 的底线pgrust 仅慢 2 倍ClickHouse 是公认的分析型数据库标杆专为 OLAP 场景深度优化。pgrust 目前在 ClickBench 上落后它约 2 倍——考虑到 pgrust 是一个Postgres 形状的数据库要同时保持事务语义、MVCC、完整 SQL 兼容性这个差距已经相当惊人。未来团队目标是反超 ClickHousepgrust 团队明确表示我们相信它可以变得比 ClickHouse 更快。 目前发布的新版本在事务负载上已比 Postgres 快 50%分析负载的优化仍在持续推进中。为什么 Rust 重写能带来如此大的性能飞跃线程模型从每连接一进程到每连接一线程原生 Postgres 采用进程模型每个连接就是一个独立进程进程间通信、内存隔离开销巨大。pgrust 改为线程模型显著降低了连接和上下文切换成本这也是事务负载提升 50% 的核心原因之一。执行器与存储的深度优化pgrust 对执行器、聚合、哈希分组等热点路径进行了 Rust 级别的重写。例如聚合节点位于 crates/backend/executor/nodeAgg/src/aggstate.rs哈希分组逻辑在 hash_grouping.rs这些模块在 Rust 编译器的高效代码生成下配合内存安全的无 GC 管理让数据密集型计算如虎添翼。优化器与计划生成的现代重构分析型查询的性能高度依赖查询计划。pgrust 重写了优化器核心路径选择与代价估算模块位于 crates/backend/optimizer/配合存储层 crates/backend/access/heap/heapam.rs 的优化让复杂分析 SQL 也能跑出接近专用 OLAP 引擎的水平。快但没丢掉 Postgres 的灵魂46,000 回归测试性能再强如果 SQL 行为不一致也是白搭。pgrust 的核心策略是行为保持 Postgres 形状用 Postgres 的真实测试作为裁判。目前它完整兼容Postgres 18.3包括磁盘格式兼容可直接从现有 Postgres 18.3 数据目录启动通过了46,000 条 Postgres 回归查询覆盖解析、优化、执行、事务等方方面面提供一键回归测试脚本 scripts/run-regression用 vendored 的 Postgres 测试文件逐条验证输出一致性。这意味着你可以把它当作一个性能更强的 Postgres来用而不是重新学习一套新数据库。这场对决给开发者什么启示如果你是 OLAP 重度用户短期来看ClickHouse 仍是分析型负载的稳妥选择但如果你同时需要事务处理与分析查询、希望一套系统打天下pgrust 的路线兼容 Postgres 逼近 ClickHouse 性能非常有吸引力。如果你是 Postgres 用户pgrust 可能是你升级分析性能的免费午餐——同样的 SQL、同样的数据文件却能获得几百倍的查询加速迁移成本极低。如果你是技术爱好者pgrust 证明了用现代语言重写经典系统的巨大潜力。Rust 的所有权模型 无 GC 运行时加上 AI 辅助编程的加速正在让数据库内核的迭代速度进入新的时代。结语胜负未定但方向已明在 ClickBench 这场分析型负载的巅峰对决中pgrust 暂时落后 ClickHouse 约 2 倍却已经将原生 Postgres 甩开 300 倍。更重要的是它用兼容性换取了用户的信任用性能证明了 Rust 重写的价值。随着线程化内部、连接池内置、无 vacuum 存储等路线图上的实验逐步落地这场对决的最终胜负值得我们持续关注。【免费下载链接】pgrustPostgres rewritten in Rust, now faster than Postgres and Clickhouse项目地址: https://gitcode.com/GitHub_Trending/pg/pgrust创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考