实验过程记录1
实验过程记录1
https://www.yuque.com/huhuiqi/rxae4u/ofxo2ztg2bkf25rw?singleDoc# 《实验文档:在LevelDB中实现TTL功能》
林神10.22修改的内容:

分支合并:
git checkout main
git pull origin main
git checkout lzj_version (或者新分支时候:git checkout -b lzj_version)
git pull origin lzj_version
git checkout main
git merge lzj_version
git push origin main
林神10.22晚上跟我说的内容
写入 时间戳/ttl放value后面
一个时间戳8字节,可能会占很大,有效信息不多
writebatch
过期的只在合并时候做的
第一个优化方案:好多层,有一层数据量很大,一直没合并,搞一个线程定期触发合并。
还要有一个接口是手动合并(给定一个范围,层数范围)
第二个问题:需不需要按照时间戳大小顺序排序
如果要的话,主要是在时间戳比较上面(64位比较)保证顺序的情况下可以压缩(前缀和)
判断过期两个比较:memtable,table cache(主要看一下这个)
压缩要加一下元数据(比如说最小的key是是什么),加的元数据是最小的时间戳是什么
吞吐量很大就批量过滤
write 内存部分写好了
合并和get部分没写好
我最近写一下compaction(过滤条件,第一版,直接比较,最暴力)
我要知道整个系统流程和优化方案
最后四位timestamp