数据库 – LevelDB是否支持热备份(或等效)?

前端之家收集整理的这篇文章主要介绍了数据库 – LevelDB是否支持热备份(或等效)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
目前我们正在评估几个关键值数据存储,以替换owr主应用程序当前使用的旧isam(20年左右!)……

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

所以LevelDB似乎对我们好(也检查BerkleyDB等)

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

也许有人想提出选择(或已知的解决方案)?

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

提前致谢

解决方法

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

要通过文件系统备份LevelDB,我以前使用的脚本创建到所有.sst文件(一旦写入后都是不可变的)的硬链接,以及日志(和MANIFEST,CURRENT等)文件的正常副本到备份目录中在同一个分区上.这很快,因为与.sst文件相比,日志文件很小.

备份运行时必须关闭(通过应用程序)数据库,但所花费的时间显然远小于将整个数据库复制到不同分区或上传到S3等所花费的时间.这可以在应用程序重新打开DB.

猜你在找的MsSQL相关文章