在Neo4j的和其他数据库唯一ID的最佳做法?(Best practice for unique I

2019-10-20 05:05发布

目前在Neo4j的运行我的Node.js应用程序,我使用node-uuid模块赋予唯一的ID,以我的数据库对象。

使用uuid.v1()函数从该模块我得到的东西像

81a0b3d0-e4d0-11e3-ac56-73f5c88681be

现在,我的要求是相当长,有时数百个节点和边缘的一个查询。 所以你可以想象,他们成为庞大的,因为每一个节点和边缘必须有一个唯一的ID。

你知道,如果我可以用更短的ID系统,以不碰到任何问题后,我的项目的数量增长? 我的意思是,我知道我可以逃脱只是第8个符号(因为有36^8 > 2 Trl组合,但如何将它进行时,他们是随机生成的?由于我的节点数量的增加,什么是机会是随机生成的ID不会落入已经存在的?

另外一个问题 - 如何将当前ID系统换到新的? 什么是再生新的,更短的ID的最佳方式?

谢谢!

Answer 1:

一种选择是通过这里开发的非托管扩展到UUID代移动到数据库方面: https://github.com/sarmbruster/neo4j-uuid 。

整个想法在这里详细描述: http://blog.armbruster-it.de/2013/08/assigning-uuids-to-neo4j-nodes-and-relationships/ 。



文章来源: Best practice for unique IDs in Neo4J and other databases?