2

在某个阶段,在我的 LevelDB 文件夹中,我有以下文件:

000004.log  000005.ldb  CURRENT  LOCK  LOG  MANIFEST-000002

我不认为它们都是仅附加的?所以肯定不可能对数据库文件夹中的所有文件都运行“chattr +a *”,因为在运行 leveldb 时,有些文件会被删除。我的问题是哪些文件不会被删除,并且仅在正常的 LevelDB 会话期间和压缩期间追加,那些在删除之前删除的文件是否仅追加?

4

1 回答 1

2

*.log: append-only while WAL, 文件名会改变
.ldb: static 一旦生成, 文件名会改变
MANIFEST-
: static 一旦生成, 后缀会改变
LOG: append-only, 默认每天轮换
CURRENT: rewrite版本更改后
LOCK:仅在打开或关闭时更改

回答你的问题:

Q1:哪些文件不会被删除,并且只在正常的 LevelDB 会话期间追加?
A1:不,没有这样的文件(可能是 LOG,但它会旋转)


Q2:是那些在删除前被删除的文件只追加
A2:*.log 只在删除前追加

于 2016-04-13T11:20:28.313 回答