如何对Neo4j数据库进行快照备份

3

我看到有一种工具可以通过Java或备份工具来备份正在运行的Neo4J数据库。

备份显然需要一些时间才能完成,在此期间可能会添加、修改或删除额外的节点。是否可以在特定的时间点对图形数据库进行快照?

我的用例:N4J用于存储事件,这些事件存储在其他地方。我想在某个时间点拍摄图像,然后在以后的日期恢复它时,根据备份时缺失的内容知道图形中缺少了什么,并通过添加缺少的事件来重新构造准确到现在的完整版本。

2个回答

1

这里有一个相关问题,其中有很好的讨论,让我来说明一下。

如果您使用的是neo4j的商业版本,则neo4j备份选项和/或备份工具是您最好的选择。

如果您使用的是社区版,则目前无法进行在线备份。 我有几个使用neo4j community运行的应用程序,我们有一个cron作业在03:00运行。 它关闭应用程序,并在另一个位置创建数据库的副本(通过副本,我的意思是它实际上创建了DB目录的tar.gz归档)。 在完成其他维护后,应用程序将重新启动。

根据文件复制性能和数据库大小,这并不太糟糕。 我们有一个中等大小的数据库,每晚只需接受约10分钟的停机时间。


1

neo4j-backup工具是Neo4j企业版的一部分。它在您启动它的时间点上一致地进行备份。备份完成后,会运行详细的一致性检查以验证可恢复性。它可以作为完整备份或增量备份。

该工具不包括针对给定时间点的还原或与其他备份的比较。可以通过将其与经典文件备份工具相结合来实现按时间点还原。我使用backup2l获得了良好的体验。neo4j-backup将作为backup2l的PRE_BACKUP的一部分启动。同样的方法也适用于其他任何备份工具。

使用您的备份工具,您可以从存档中检索完整的graph.db目录,并在所需的时间点使用它们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接