-1

是否可以在一段时间内找出对 neo4j db 所做的更新/修改/更改?

NEO4J DB 将定期轮询以查找在该时间段内发生的更改。

然后这些更改必须与其他数据库同步。这是真正的任务。

这里的更改包括添加、更新、删除节点、关系、属性。

我们如何跟踪在特定时间范围内所做的更改。并非所有节点和关系都设置了时间戳。

4

2 回答 2

1

向每个节点和关系添加一个时间戳字段,在创建它们时插入时间戳()。然后编写一个密码查询以恢复给定时间范围内的所有节点和关系。

编辑

有两种方法可以实现这种同步。

选项1

如果您可以使用 Spring Data Neo4j,那么您可以使用此处解释的生命周期事件来拦截 CUD 操作并同步或异步执行必要的同步。

选项 2

如果不能使用Spring,那么需要自己实现拦截代码。我能想到的最好方法是将所有 CUD 操作发布到一个主题,然后编写可以同步到每个商店的订阅者。在您的情况下,您有 Neo4jSubscriber、DbOneSubscriber、Db2Subscriber 等。

于 2013-09-17T15:33:45.333 回答
0

有一种称为时间树的东西,您可以在其中使用年月日节点来跟踪更改,您也可以使用它来获取历史记录。您还需要确保在相关对象节点与日/月或年节点相关时设置更改的属性/属性

我希望这可以帮助别人

于 2016-09-06T01:05:52.430 回答