灏天文库

自己写个数据库 · B+树与 WAL

作者: 灏天 · 收录于 编程与开发

内容摘要

 自己写个数据库 · B+树与 WAL 灏 灏天文库 · 编程与开发 第 6 期 编程与开发 · 第 6 期 自己写个数据库, 心脏 长什么样 B+树与 WAL · storage engine essentials 数据库的心脏是两样: B+树 存数据(O(log n) 查找,磁盘友好), WAL 防丢(先写日志再改数据,崩溃能恢复)。理解这两个,你就懂了为什么数据库能既快又不丢——不是魔法,是这两个数据结构撑起来的。 ⏱ 约 12 分钟 🎯 想懂数据库内部的人 📦 源:build-your-own-x §8 01 一个反共识:快和不丢,靠的是结构不是魔法 数据库"亿级数据秒查 + 断电不丢"听起来像魔法,其实是两个数据结构的功劳。 B+树 :数据排好序、分层存,查找走树根到叶子 O(log n)。叶子串成链表,范围查询顺叶子扫。磁盘友好(节点大小对齐页)。 WAL(Write-Ahead Log) :改数据前先把"要改什么"写日志落盘。崩溃后重放日志,把没落盘的改动补回——所以不丢。 这两个加起来,就是存储引擎的骨架。

打开完整知识页 返回工坊集