内存延迟是1, 磁盘顺序读延迟是10, 磁盘随机读延迟是100. 本质是将磁盘IO转化为内存操作, 或者将磁盘随机访问转化为磁盘顺序访问.
- 历史: 基于历史热点统计
- 预测: 基于排序后局部性原理预测
因为数据多版本的原因, 还需要减少访问次数.
- 读放大: 最优的场景是每个数据只有1个版本
磁盘顺序写延迟是10, 磁盘随机写延迟是100.
- 顺序写: WAL
- 写放大: 每个数据版本, 最优的场景是只有1次磁盘IO
如果数据的生命周期小于WAL的生成周期, 则写放大倍数是1. 如果针对WAL创建一个日志序号的bitmap, 那么写放大倍数可能小于1, 例如删除一个资源, 可以转化为对bitmap的操作.
先按哈希(随机访问)原则写数据, 需要解决空间空洞问题. 再依赖用户告知, 历史统计(AI)等手段, 调整数据的组织, 预先加载.