Neo4j内部ID重用和dbms.ids.reuse.types.override属性

Neo4j内部ID重用和dbms.ids.reuse.types.override属性,neo4j,Neo4j,: …通常不建议使用内部Neo4j节点ID。 这主要是因为如果节点被删除,其原始内部 ID可能会被回收/再利用 Neo4j可以重用这些ID,因此在这种情况下我们不能依赖这种机制 不久前,Neo4j推出了一项新的财产- 应重用的id类型的指定名称(逗号分隔)。 目前只支持“节点”和“关系”类型 看起来有了此属性的帮助,我们可以禁用ID重用。对吗?如果是这样,在这种情况下使用内部Neo4j ID安全吗?另外,它是在Neo4j社区版中支持还是仅在Neo4j企业版中支持?如果我读得正确,该设置的功能与您

:

…通常不建议使用内部Neo4j节点ID。 这主要是因为如果节点被删除,其原始内部 ID可能会被回收/再利用

Neo4j可以重用这些ID,因此在这种情况下我们不能依赖这种机制

不久前,Neo4j推出了一项新的财产-

应重用的id类型的指定名称(逗号分隔)。 目前只支持“节点”和“关系”类型


看起来有了此属性的帮助,我们可以禁用ID重用。对吗?如果是这样,在这种情况下使用内部Neo4j ID安全吗?另外,它是在Neo4j社区版中支持还是仅在Neo4j企业版中支持?

如果我读得正确,该设置的功能与您希望使用它的功能完全相反。这是一个企业版设置,允许更轻松地回收空间。你提到的帖子中的答案仍然100%有效。不要参考内部ID。如果需要引用,请使用唯一约束,如果不能使用任何属性,则生成UUID

希望这有帮助,
Tom

是的,没错..但是如何从这个属性值中删除
节点
关系
或两者,以排除应该重用的类型?是的,我理解这就是你的意思:-)。它会带来各种各样的惩罚(例如,如果你有很高的删除和插入率,你的数据库文件会严重增长)。这就是你想在EE中“打开”的原因。而且(版本)迁移/升级仍然不能保证保持ID完整。没有什么能保证。。。我认为这就是重点(也是在中提出的)。谢谢。很抱歉提出下一个问题,但这是您的建议还是我可以信任的信息?我现在正在查看有关这方面的内部Neo4j文档(并引用其中的内容)。也。。。录像中的那个人是他所谈论话题的权威。所以不要从我这里拿走,谢谢。这真的很糟糕,因为我无法切换到GUID,例如,在Neo4j中似乎没有用于生成序列值的选项