如何拍摄neo4j数据库的快照

时间:2015-07-26 16:53:13

标签: neo4j

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

备份显然需要一些时间才能完成,在此期间可能会添加,修改或删除其他节点。是否可以在特定时刻拍摄图表数据库的快照?

我的用例:N4J用于存储存储在别处的事件。我希望能够及时拍摄图表的快照,然后在以后恢复时,根据备份的时间知道图表中缺少的内容,并且能够通过添加缺失的事件,重建目前准确的数据库的完整版本。

2 个答案:

答案 0 :(得分:1)

related question有一个很好的讨论,让我切入追逐。

如果您使用的是商业版neo4j,那么neo4j backup options和/或backup tool是您的最佳选择。

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

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

答案 1 :(得分:1)

neo4j-backup工具是Neo4j企业版的一部分。在您启动它时,它会持续备份。备份完成后,将运行详细一致性检查以验证可恢复性。它可以作为完全备份或递增。

此工具不包含特定时间点的还原或与其他备份进行比较。通过将其与经典文件备份工具相结合,可以实现时间点恢复。我在backup2l方面取得了很好的经验。 neo4j-backup将作为backup2l PRE_BACKUP的一部分启动。同样的方法应该适用于那里的任何其他备份工具。

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