我们该对做出来的软件更有野心
Michael Malis 在用 Rust 重写 Postgres,多数人扫一眼就把它归进 vibeslop。Dan Luu 的回答是,满地粗制滥造的重写不构成不做的理由,模型已经让「自己用得起来」的工具便宜到随手能做。
更多 PostgreSQL
首页Michael Malis 在用 Rust 重写 Postgres,多数人扫一眼就把它归进 vibeslop。Dan Luu 的回答是,满地粗制滥造的重写不构成不做的理由,模型已经让「自己用得起来」的工具便宜到随手能做。

分片组是共置单元。找出最繁忙的查询和事务共用的键,然后将携带该键的每张表放入同一个组。

Cloudflare 重写了 D1 的控制平面,让它能管理数百万个数据库,同时不把任何相关工作放进查询路径。用到的手段包括 Durable Objects、心跳、队列、预聚合的用量表,以及经 Quicksilver 复制的限流器。

Postgres 19 将 TOAST 压缩从 pglz 切换为 LZ4。LZ4 更快,但不总是更小,而且使用它后某些读取会变慢。

从 IBM 的 ARIES 讲到今天。为什么先写顺序日志再落数据页能挺住断电、checkpoint 与 group commit 各自解决什么、物理 WAL 与逻辑 WAL 的区别,以及两组最常见的误用,长事务不关、关 fsync 换速度。
手工给 Postgres 写一个表访问方法(TAM)的系列第三节。三种共享内存机制怎么选、为什么 DSA 的指针间接让顺序扫描慢 4-5 倍、pin 的是段还是映射、以及 _PG_init 与 shmem_startup_hook 的分工。

在 PlanetScale 上创建 Postgres 或 Neki 集群时,aarch64 与 x86-64 即便 vCPU 和内存相同,性能也可能相差悬殊,且创建后无法更换架构。

Postgres 的全文检索从索引结构讲起:GIN 索引怎么把词映射到行、为什么 `LIKE '%x'` 用不上索引、trigram 索引在模糊匹配上的代价,以及 PlanetScale 在这个引擎上做的取舍。

Postgres 分片到千台服务器后,一条 SELECT 如何穿越认证、wire protocol 与分布式查询规划器,Neki 路由器用 Go 复刻 SCRAM-SHA-256 并同时支持 Simple 与 Extended 协议。

PlanetScale 发布 Postgres 全文搜索扩展 TIN,直接拿 48 位 ctid 当 posting 的原生格式,在 85 GB、1.5 亿篇文档的基准里吞吐量至少比 ParadeDB、pg_textsearch 与内置 GIN 高 8 倍,建索引用 8 分 10 秒。