大体要实现的代码分别在
- src/include/buffer/arc_replacer.h
- src/buffer/arc_replacer.cpp
- src/include/storage/disk/disk_scheduler.h
- src/storage/disk/disk_scheduler.cpp
- src/include/storage/page/page_guard.h
- src/storage/page/page_guard.cpp
- src/include/buffer/buffer_pool_manager.h
- src/buffer/buffer_pool_manager.cpp
具体来说就是:
- 实现ARC的淘汰策略,管理FrameStatus,比较难。
- 实现异步刷盘的策略,简单,因为已经提供了队列,且队列线程安全
- 实现由RAII管理的readpageguard和writerpageguard,需要梳理清楚与buffer_pool_manager的职责关系
- 管理FrameHeader,负责整合上述三个组件,决定这个数据是否释放/写回磁盘。
浙公网安备 33010602011771号