运行一下程序即可进入交互:
./run.sh
项目提供:fill、get、update、del、scan、close、quite、flush共8个关键字,使用方法如下:
fill 100 200
get 100
update 100 "hahahha"
del 100
scan 100 150
close
quite
flush
[√] memtable
[√] wal
[√] iterator
[√] sstable
[√] block
[√] iterator
[√] bloom filter
[√] lsm storage arch
[√] interface
[√] cli
[√] Compact
[√] l0 l1 compact
[√] simple compact
[√] mainfest
1. 完成memtable内存表的读写
2. 完成从wal恢复memtable
1. 构造lsm tree的内存基础架构
2. 完成将memtable强制冻结为immemtable
3. 完成将memtable自动转换为immemtable
4. 完成memtable的scan
5. block以及builder,迭代器明天再写吧
6. 完成block iterator
1. 完成sstable builder以及sstable decoder encoder(太难了...)
2. 完成sstable iter
3. 实现memtable和sst的merge
1. 实现memtable和sstable的scan
1. 将 Memtable 刷新到 SST
1. 修改cli文件,实现本项目功能
1. 实现l0_compact
2. 实现ln_compact
1. 实现manifest