使用 Rust 构建 PostgreSQL 兼容数据库:综合 SQL 解析器(DDL、DML、查询)
Vaultgres 旅程第六部分:从头构建 SQL 解析器。深入探讨词法分析、递归下降解析、DDL/DML/查询的 AST 设计,以及运算符优先级处理。
Vaultgres 旅程第六部分:从头构建 SQL 解析器。深入探讨词法分析、递归下降解析、DDL/DML/查询的 AST 设计,以及运算符优先级处理。
Vaultgres 旅程第五部分:实现 PostgreSQL 通信协议。深入探讨消息框架、启动握手、扩展查询协议,以及序列化 psql 和驱动程序能理解的结果集。
Vaultgres 旅程第四部分:实现预写日志和 ARIES 恢复算法。深入探讨持久性、检查点,以及让数据库从崩溃中恢复的三阶段恢复。
Vaultgres 旅程第三部分:实现 MVCC 以实现非阻塞读取和快照隔离。深入探讨事务 ID、可见性规则、VACUUM,以及事务 ID 回卷的噩梦。
为何我要用 Rust 构建 Vaultgres——一个 PostgreSQL 兼容数据库——来探索数据库内部机制。深入探讨页式存储、缓冲池管理,以及在 AI 辅助开发下实现 WAL 兼容存储的挑战。