gpt4 book ai didi

database - LevelDB 是否支持热备份(或等效的)?

转载 作者:太空狗 更新时间:2023-10-30 01:46:53 26 4
gpt4 key购买 nike

目前我们正在评估几个键+值数据存储,以替换 owr 主应用程序当前使用的较旧的 isam(已有 20 多年!)...

问题是我们当前的 isam 不支持崩溃恢复。

所以 LevelDB 对我们来说似乎没问题(也检查 BerkleyDB 等)

但是我们遇到了热备份的问题,并且鉴于 LevelDB 是一个库而不是服务器这一事实,要求“热备份”很奇怪,因为它直观地暗示了一个外部备份过程.

也许有人愿意提出选项(或已知的解决方案)?

例如: - 通过主应用程序的内部线程进行热备份? - 仅通过复制 LevelDB 数据目录进行热备份?

提前致谢

最佳答案

您可以通过 LevelDB 进行快照迭代,这可能是制作热副本的最佳方式(不要忘记关闭迭代器)。

为了通过文件系统备份 LevelDB,我之前使用了一个脚本来创建指向所有 .sst 文件(一旦写入就不可变)的硬链接(hard link),以及日志(和 MANIFEST、CURRENT 等)文件的正常副本,进入同一分区上的备份目录。这很快,因为与 .sst 文件相比,日志文件很小。

备份运行时必须关闭数据库(由应用程序),但所花费的时间显然比将整个数据库复制到不同分区或上传到 S3 等所花费的时间少得多。这可以是应用程序重新打开数据库后完成。

关于database - LevelDB 是否支持热备份(或等效的)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12939927/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com