实验过程记录1

实验过程记录1

https://www.yuque.com/huhuiqi/rxae4u/ofxo2ztg2bkf25rw?singleDoc# 《实验文档:在LevelDB中实现TTL功能》

林神10.22修改的内容:

image-20241023110220715

分支合并:

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