Skip to content

Latest commit

 

History

History
24 lines (24 loc) · 1.31 KB

TODO.md

File metadata and controls

24 lines (24 loc) · 1.31 KB

todo:

  • 完善单元测试 [doing]
  • 完善错误处理 [done]
  • block的crc校验和lru cache策略,是上条的基础 [done] [update 重构了cache接口,便于recover流程处理]
  • 记录统计信息和日志 [doing]
  • 提供迭代器 [delete]
  • 重构page磁盘管理 (目前的这种位图形式还是不太行,消耗空间太大)[done]
  • 处理字节序问题
  • block的dirty机制,减少不必要的刷盘操作 [done]
  • cache希望block的析构函数中进行资源释放(调用manager进行刷盘),但是需要在析构函数中调用虚函数,因此需要修改cache,提供destructor前注册机制 [done]
  • cache目前的实现有bug,Block生命周期管理不明确,需要修改接口 [done]
  • 基于WAL的崩溃恢复机制 [done]
  • double write机制 [done]
  • b+树并发控制 [无期限延迟]
  • 日志缓冲区、checkpoint [done]
  • lsn机制,减少不必要的redo-undo的执行数量 [todo]
  • 恢复机制相关的代码重构和优化 [done]
  • 增加解析wal日志的工具 [todo]
  • 文件锁、提供只读访问模式和互斥写模式 [doing]
  • 支持MassTree的变长key机制 [todo]
  • 支持自定义key比较函数的机制 [done]
  • 支持linux direct-IO机制 [done]
  • 支持redo日志缓冲 [done]
  • 支持n:1的double write buffer,使得多个block均摊fsync操作的开销 [todo]