主页
使用 Rust 构建 PostgreSQL 兼容数据库:用于准确选择性估计的直方图统计
Vaultgres 之旅第八部分:深入探讨直方图统计。构建等深直方图、处理偏斜数据、多列统计,以及在基于成本的优化中使用直方图进行准确的选择性估计。
使用 Rust 构建 PostgreSQL 兼容数据库:带统计数据的基于成本的查询优化器
Vaultgres 之旅第七部分:构建基于成本的查询优化器。深入探讨统计数据收集、成本模型、带动态规划的连接顺序,以及索引选择。
使用 Rust 构建 PostgreSQL 兼容数据库:综合 SQL 解析器(DDL、DML、查询)
Vaultgres 旅程第六部分:从头构建 SQL 解析器。深入探讨词法分析、递归下降解析、DDL/DML/查询的 AST 设计,以及运算符优先级处理。
使用 Rust 构建 PostgreSQL 兼容数据库:通信协议与结果集序列化
Vaultgres 旅程第五部分:实现 PostgreSQL 通信协议。深入探讨消息框架、启动握手、扩展查询协议,以及序列化 psql 和驱动程序能理解的结果集。
使用 Rust 构建 PostgreSQL 兼容数据库:WAL 与 ARIES 崩溃恢复
Vaultgres 旅程第四部分:实现预写日志和 ARIES 恢复算法。深入探讨持久性、检查点,以及让数据库从崩溃中恢复的三阶段恢复。
使用 Rust 构建 PostgreSQL 兼容数据库:MVCC 与事务管理
Vaultgres 旅程第三部分:实现 MVCC 以实现非阻塞读取和快照隔离。深入探讨事务 ID、可见性规则、VACUUM,以及事务 ID 回卷的噩梦。
使用 Rust 构建 PostgreSQL 兼容数据库:页式存储与缓冲池
为何我要用 Rust 构建 Vaultgres——一个 PostgreSQL 兼容数据库——来探索数据库内部机制。深入探讨页式存储、缓冲池管理,以及在 AI 辅助开发下实现 WAL 兼容存储的挑战。
按需环境(第三篇):替代生产力加速器
Environment on Demand 三部曲之最终篇。探讨替代方案如 mock servers、feature flags、dev containers 和 CI/CD 优化。学习为你的团队选择正确的加速器。
按需环境(第一篇):架构与实现
Environment on Demand 三部曲之首篇。了解 EoD 是什么、如何使用 GitOps 架构设计它,以及它的优势与挑战。另外探讨:为什么 AI 辅助编码让资源配置成为新的瓶颈。
深入了解 PostgreSQL 并行查询执行:多核性能
深入探讨 PostgreSQL 并行查询执行——Gather 节点、并行 worker 进程与多核处理如何加速大型表扫描、哈希连接与聚合运算。了解何时使用并行化能提升性能,何时会造成反效果,以及如何调整设置。
深入理解 PostgreSQL 的 Volcano 模型:迭代器执行架构
深入探讨 Volcano 模型——PostgreSQL 的基础执行架构。了解 Next()/GetNext() 如何驱动每个查询、为什么逐行处理很重要,以及向量化何时打破规则。
理解 RTGS:从批次作业噩梦到连续结算
在 RTGS 普及之前,我们基本上是靠着希望和夜间批次作业的勇气来运行支付系统。想象一下:你是一名中型银行的 on-call DevOps / 中间件工程师。