技巧💡
Log-structured]]存日志,使用out-place-update-structure异地更新结构,会将更新的内容存到到新的位置,而不是覆盖。如 LSM树
log-structured 只存储日志记录。不是存具体的数据,如果需要数据,只能通过日志来计算出来。
- 增删改,都需要新增一条日志记录。不用删除具体的数据,会变得很快。因为是顺序写的原因。
- 有得有失,因为每次要查询的时候,都得重新计算值。所以查询慢。
优化方向:
- 压缩日志,比如有2个日志,一个是update a = 5, 后面是 update a = 6; 则可以直接删除 a=5那条记录。
- 分级压缩, rosedb 和leveldb 的主要方法