Neo4J和其他数据库中唯一ID的最佳实践?

目前在我的Node.Js应用程序上运行Neo4J我使用node-uuid模块为我的数据库对象提供唯一的ID。

使用该模块的uuid.v1()函数,我得到了类似的东西

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

现在,我的请求很长,有时在一个查询中有数百个节点和边。 所以你可以想象它们变得巨大,因为每个节点和边缘都必须有唯一的ID。

你知道如果我可以使用更短的ID系统,以便在我的项目数量增长后不会遇到任何问题吗? 我的意思是我知道我可以逃脱只有前8个符号(因为有36^8 > 2 Trl组合,但是它们随机生成时performance如何?随着节点数量的增加,机会是多less随机生成的ID不会落入已经存在的ID中?

另一个问题 – 如何交换当前的身份证系统到新的? 再生新的更短的ID最好的方法是什么?

谢谢!

一种select是通过在此处开发的非托pipe扩展将UUID生成移动到数据库端: https : //github.com/sarmbruster/neo4j-uuid 。

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