rosedblabs / rosedb

Lightweight, fast and reliable key/value storage engine based on Bitcask.

Home Page:https://rosedblabs.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

作为内存服务器内嵌使用支持持久化吗?aof或者rdb这种

PandyYang opened this issue · comments

commented

Is your feature request related to a problem? Please describe.
目前想找个redis的替代品,用于嵌入动态链接库。
Describe the solution you'd like
如果支持类似于redis的持久化机制就很完美了。

Additional context
加油。

这个库就是面向磁盘设计的,支持持久化

@PandyYang

rosedb 本来就支持持久化呀,其设计跟 redis aof 有点类似,每写一条数据也都要 append 到日志里,然后也有类似 aof rewrite 的过程。

但 rosedb 的 bitcask 的设计要比 redis aof 更强大一点。redis aof rewrite 是 fork 出的子进程通过 cow 做内存快照,然后把内存的全量数据重写文件里,一次大量的重写,势必影响其他正常的 aof append。而 rosedb 的数据分散到不同的日志文件里,只有某个日志文件内的垃圾数据超过阈值时,才会有重写的过程。每个 logfile 的文件可设定。

rdb 开销也大,也是借助子进程的 cow 的方式做快照,然后全量写到 db 文件里。