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

时间:2014-05-26 12:34:40

标签: node.js neo4j uuid uniqueidentifier

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

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

的内容
81a0b3d0-e4d0-11e3-ac56-73f5c88681be

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

您知道我是否可以使用较短的ID系统,以便在我的物品数量增加后不会遇到任何问题?我的意思是我知道我只能使用前8个符号(因为有36^8 > 2 Trl组合,但它们随机生成时的表现如何?随着节点数量的增加,有多少机会随机生成的ID不会落入已存在的ID中吗?

另一个问题 - 如何将当前的ID系统换成新系统?重新生成新的较短ID的最佳方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:4)

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

这里详细说明了整个想法:http://blog.armbruster-it.de/2013/08/assigning-uuids-to-neo4j-nodes-and-relationships/