ssdb
ssdb copied to clipboard
SSDB占用硬盘空间的问题
trafficstars
你好,阅读了SSDB的文档,关于SSDB使用硬盘策略还是有些问题,请教下
以下是我的操作步骤
- 我有一个SSDB实例,放了4.8G的数据,里面只有kv结构数据。
- 我写代码遍历,删除了所有数据,删除完之后占用硬盘1.4G,此时
info返回信息为
ssdb 127.0.0.1:8888> info
version
1.9.4
links
18
total_calls
28897
dbsize
1339644712
binlogs
capacity : 20000000
min_seq : 1
max_seq : 117276
serv_key_range
kv : "" - ""
hash: "" - ""
zset: "" - ""
list: "" - ""
data_key_range
kv : "" - ""
hash: "" - ""
zset: "" - ""
list: "" - ""
leveldb.stats
Compactions
Level Files Size(MB) Time(sec) Read(MB) Write(MB)
--------------------------------------------------
1 0 0 3 186 30
2 0 0 19 740 586
3 48 1281 43 4979 1709
17 result(s) (0.962 sec)
- 重启了SSDB实例,占用文件变为673M,此时的
info返回信息为
ssdb 127.0.0.1:8888> info
version
1.9.4
links
1
total_calls
2
dbsize
0
binlogs
capacity : 20000000
min_seq : 1
max_seq : 117276
serv_key_range
kv : "" - ""
hash: "" - ""
zset: "" - ""
list: "" - ""
data_key_range
kv : "" - ""
hash: "" - ""
zset: "" - ""
list: "" - ""
leveldb.stats
Compactions
Level Files Size(MB) Time(sec) Read(MB) Write(MB)
--------------------------------------------------
0 0 0 0 0 2
2 0 0 0 2 2
3 1 4 0 1283 4
17 result(s) (0.001 sec)
以下是我的问题
- 是否有方法可以完全删除SSDB里面的数据,释放硬盘空间
- 想知道,数据已经完全删掉了,为什么还占用那么多硬盘空间
- 重启减少实际存储空间的现象,是不是说明,过一段时间重启下,会有利于硬盘空间利用。
- 我们的应用场景是,反复的存和删,按照上述测试,是不是会导致存储空间利用率越来越低。
希望有时间可以解答以下,谢谢。
另:统计硬盘实际存储文件,用的是./var文件夹
var目录会包含data, meta, 日志和其它文件。另外,SSDB只占用额外的固定空间,不会无限增长。
在 ssdb-cli 里执行 flushdb 可以同时清理 data 和 meta 数据。
那看来不用担心存储空间的问题,不过,为什么删掉的数据不会立刻体现出来呢,要重启SSDB才会看到占用硬盘明显下降。
SSDB有自己删除数据的逻辑,会综合考虑性能和空间占用。
默认占用的空间大小是多大