pgrust 技术解读:5 微秒 JIT 编译器如何让 Rust 重写的 Postgres 快过 ClickHouse
数据库圈有一条不成文的分工:查询引擎的执行层要么逐行解释执行,要么把查询表达式交给 LLVM 或先生成 C 代码再调用系统编译器。2026 年 4 月出现在 GitHub 上的开源项目 pgrust 选择了第三条路,作者 malisper 为这套 Rust 重写的 PostgreSQL 自研了一个 JIT 编译器,编译一条查询只要约 5 微秒,快到可以对每一…
数据库圈有一条不成文的分工:查询引擎的执行层要么逐行解释执行,要么把查询表达式交给 LLVM 或先生成 C 代码再调用系统编译器。2026 年 4 月出现在 GitHub 上的开源项目 pgrust 选择了第三条路,作者 malisper 为这套 Rust 重写的 PostgreSQL 自研了一个 JIT 编译器,编译一条查询只要约 5 微秒,快到可以对每一…
一条在笔记本上就能复现的微基准:百万边图的单源可达性查询,用递归 CTE 写成普通 SQL,DuckDB v1.5.4 运行 4.90 秒,v2.0 预览版 0.12 秒,差距约 40 倍。这组数字来自 DuckDB 团队 8 月 17 日发布的 v2.0 预览公告。版本代号 Cyanoptera,取自分布于美洲西部的肉桂水鸭(Anas cyanoptera…
80.89 GB 的 CSV 文件,对 S3 上的数据跑一遍 TPC-H Q6,DuckDB v1.5.5 需要 877.563 秒;换到 v2.0.0-dev 的异步 I/O 路径,同样的查询只要 45.264 秒,接近 20 倍的差距。这是 DuckDB 团队工程师 Pedro Holanda 在 2026 年 7 月 31 日发布的工程博客《Async…
Tailscale 最近花了六个月时间追踪一系列数据库损坏事件,最终挖出了一个潜伏在 SQLite 核心代码中长达 16 年的数据竞争 bug。这个被命名为"WAL-Reset bug"的缺陷,存在于 2010 年 7 月发布的 SQLite 3.7.0 到 2026 年 1 月的 3.51.2 之间的每一个版本中,已在 SQLite 3.51.3 中修复。…
PostgreSQL 的 LISTEN/NOTIFY 是一个被低估的内置功能。它让数据库直接充当消息队列,支持低延迟的发布/订阅模式,对于流式传输、实时通知、LLM token 流推送等场景非常实用。但它有一个长期困扰开发者的性能问题:全局排他锁(global exclusive lock),所有包含 NOTIFY 的提交事务被强制串行化执行。2025 年…
7 月 11 日,技术社区 Lobste.rs 的系统管理员 pushcx 在一条题为《Lobste.rs is now running on SQLite》的帖子里,平静地宣布了这个运行了十几年的网站完成了数据库迁移:从 MariaDB 切换到 SQLite。这条帖子几天内收到了 438 个赞和上百条评论,同期 Hacker News 上相关讨论冲到了首页…
一个 PostgreSQL 主库扛住 8 亿用户:OpenAI 的数据库扩展哲学 8 亿用户,每秒数百万次查询,99.999% 可用性。你大概会以为这背后是一套极其复杂的分布式数据库集群,横跨几十个分片,搭配自研协调层。 事实是:一个主库,加不到 50 个只读副本。 这就是 OpenAI 在 2026 年 1 月发布的工程博客中披露的 ChatGPT 数据库…