Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么neo4j中的节点和关系有这样的容量限制?_Neo4j - Fatal编程技术网

为什么neo4j中的节点和关系有这样的容量限制?

为什么neo4j中的节点和关系有这样的容量限制?,neo4j,Neo4j,我想知道为什么neo4j对节点和关系有容量限制。节点和关系的限制为2^35,比“正常”的2^32整数多一点。常见的SQL数据库(例如mysql)将主键存储为int(2^32)或bigint(2^64)。你能解释一下这个决定的好处吗?在我看来,这是选择数据库时的一个关键决策点 这是人为的限制。他们将在不久的将来移除它,尽管我还没有听到任何官方消息 通常,在实际达到硬件限制之前,您会在一台机器上遇到硬件限制 当前选项是手动将图形分片到不同的机器。对于某些用例来说并不理想,但在其他情况下它可以工作。在

我想知道为什么neo4j对节点和关系有容量限制。节点和关系的限制为2^35,比“正常”的2^32整数多一点。常见的SQL数据库(例如mysql)将主键存储为int(2^32)或bigint(2^64)。你能解释一下这个决定的好处吗?在我看来,这是选择数据库时的一个关键决策点

这是人为的限制。他们将在不久的将来移除它,尽管我还没有听到任何官方消息

通常,在实际达到硬件限制之前,您会在一台机器上遇到硬件限制

当前选项是手动将图形分片到不同的机器。对于某些用例来说并不理想,但在其他情况下它可以工作。在未来,他们将有一种自动切分数据的方法——这方面也没有ETA

更新: 我学到了更多关于neo4j存储内部的知识。这些限制之所以如此,是因为id号作为指针存储在磁盘上的多个位置(节点记录、关系记录等)。要将它再增加2的幂,他们需要每个节点增加1个字节,每个关系增加1个字节——它目前已被打包到可以使用的程度,而不需要在磁盘上使用更多字节。在这篇精彩的博文中了解更多信息:

更新2:

我听说在2.1中,他们将把这些限制提高到比目前更高的一个数量级左右。

从neo4j 3.0开始,所有这些限制都被删除

动态指针压缩可根据需要扩展Neo4j的可用地址空间,从而可以存储任意大小的图形。没错:没有超过340亿个节点限制


有关更多信息,请访问。

他们已经在neo4j 3.0中删除了所有这些限制。请看我的答案。我想,这些约束是在仅企业版中删除的吧?