- 2024 年 6 月 10 日,将节目打包成约 750 字的片段很困难,很多东西放一起后大小不合适。
- 之前写操作写入日志,读操作通过扫描整个日志确定键值,现在用 memtable 解决。
Memtable
结构体用于支持快速读写,data
是键值对的 BTreeMap。- 数据库
Db
由log
和memtable
组成,put
方法同时写入日志和 memtable,get
方法从 memtable 获取。 - 重启数据库时需“补水”memtable,通过重放日志实现。
- 处理日志回放不安全,存在不同路径情况,如写操作后数据库崩溃等,解决方案是在启动时同步日志。
- 现在解决了快速读取的问题,但日志仍无边界增长,memtable 需存储整个数据库,下次将改进此情况。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。