baidu / tera

An Internet-Scale Database.
BSD 3-Clause "New" or "Revised" License
1.89k stars 437 forks source link

leveldb数据爆增 #1308

Closed demiaowu closed 7 years ago

demiaowu commented 7 years ago

不知道你们有没有遇到,leveldb数据爆增的情况?leveldb的删除是延迟删除,会不会导致大量的数据没有被删除,或者很难触发删除。

caijieming-ng commented 7 years ago

tera已解决这个问题: 1)issue=1029, db support timeout/deletion compaction task 2)issue=1029, add ttl/del information when memtable dump

demiaowu commented 7 years ago

目前系统在高压下,leveldb一天就会撑到几百G,不知道能麻烦您能大致描述一下您们当初出现问题的场景吗?

xupeilin commented 7 years ago

可以看下leveldb的LevelSummary相关日志,在几百G的情况下,各level的文件分布情况

demiaowu commented 7 years ago

LevelSummary?指的是哪个文件?

xupeilin commented 7 years ago

文件名:LOG 关键字:"compacted to: "

demiaowu commented 7 years ago

ok,我看看~

demiaowu commented 7 years ago

后来深入分析了leveldb的代码,发现,在定期写,然后定期删除,且写入量很大的情况下,会导致需要被删除的数据很快被推到了高层,这样在低层的删除标记很难被合并到高层,最后导致大量的数据堆积。