NULL BITMAP 构建数据库 #2:进入内存表

  • 2024 年 6 月 10 日,将节目打包成约 750 字的片段很困难,很多东西放一起后大小不合适。
  • 之前写操作写入日志,读操作通过扫描整个日志确定键值,现在用 memtable 解决。
  • Memtable结构体用于支持快速读写,data是键值对的 BTreeMap。
  • 数据库Dblogmemtable组成,put方法同时写入日志和 memtable,get方法从 memtable 获取。
  • 重启数据库时需“补水”memtable,通过重放日志实现。
  • 处理日志回放不安全,存在不同路径情况,如写操作后数据库崩溃等,解决方案是在启动时同步日志。
  • 现在解决了快速读取的问题,但日志仍无边界增长,memtable 需存储整个数据库,下次将改进此情况。
阅读 13
0 条评论