Neo4j中每个节点的数据量


14

我需要在Neo4j中为每个节点存储大量数据。数据是Unicode文本块。实际上,并非每个节点都会有很大的块,但其中很多会。

我仔细阅读了文档,但未发现有关节点大小的任何内容-单个节点可包含的数据量。

有人有什么主意吗?


您的块大体上有多少?您应该确保找到合适的string_block_size,以将存储中的字符串块的数量降低到合理的水平,并且不要在仅填充一半的块中浪费过多的空间。数据将如何使用?只是渲染还是以其他方式查询/处理?如果需要节省空间,则可以选择压缩+存储为字节数组。
Michael Hunger

Answers:


13

最终,它取决于计算机的体系结构。


(背景)节点只能在其属性中存储数据。它们的属性使用键值存储存储。(在这里

每个属性中的值都限于Java原语(int,float等),字符串以及原语/字符串数组。

因此,特定属性可以容纳的最大数据量将被限制为字符串的最大大小或字符串数​​组的最大大小(每个节点最大)。此限制(对于32位计算机)为4GB。(请注意,这可能限制为2-3 GB。)

(此外,话虽如此,以前存在一个错误,该错误将字符串大小限制为1 MB。我希望可以解决此问题。)

当然,这引发了一个问题,即多个属性每个节点是否可以存储4GB以上的内存。由于属性列表本质上是键值存储,因此可以预期最大大小将受到磁盘空间和键选择的限制。但是,我找不到任何支持或否认的东西。


这并不能最终回答您的问题,但是据我了解,您应该能够在每个节点上存储大量数据(最大磁盘空间容量)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.