使用事务日志从Neo4j备份还原

时间:2015-01-11 09:17:34

标签: neo4j backup restore

据我所知,neo4j-backup针对之前的完整备份进行了增量备份。

因为我们可能会有很多数据,为了审计目的必须在给定的N天内维护,所以在给定的一天中每隔X个时间维护一次数据库的完整备份是非常昂贵的(比如,我们需要每小时备份数据库状态。)

我们现在正在做的是进行完整备份,将其存储为当天的第1版,然后每隔X时间进行增量备份,并仅存储neostore.transaction.db.XX文件(或nineo_XX for 2.1.x)作为每小时状态的备份。

我的问题是:如何在一天中的任何给定时间(版本N)恢复数据库?如果我使用完整备份启动数据库它可以工作,但是如果我将事务日志记录到当天的版本N并将它们复制到版本1文件夹中,则数据库将启动,但MATCH (n) RETURN COUNT(n)仅返回状态1的节点,甚至MATCH (n) RETURN n在具有UnknownError的浏览器shell中失败,并返回“具有id XX的节点”列。

我目前正在使用2.2.0-M02企业进行测试,但理论上这也适用于2.1.x

1 个答案:

答案 0 :(得分:2)

Neo4j备份功能就是这样 - 在出现问题时备份。增量备份自然比完整备份快,但我不认为它可以用作图形版本解决方案。

查看Neo4j ChangeFeed Module,这可能会或可能不足以满足您的审核目的。可能需要对其进行修改以保留一定天数,而不是过去的一些数据库修改(这就是它现在所做的事情)。