Question

I need to store substantial amounts of data per node in Neo4j. The data is Unicode chunks of text. Actually not every node will have big chunks, but many of them will.

I waded through the documentation but didn't find any mention on the Node size – the amount of data a single node can contain.

Does anyone have any idea?

Was it helpful?

Solution

Ultimately, it depends on the architecture that your machine has.


(background) Nodes can solely store data in their properties. Their properties are stored using a key-value store. (per here)

The value in each property is limited to Java primitives (ints, floats, etc.), strings, and arrays of primitives/strings.

Therefore, the maximum amount of data a particular property can hold would be limited to the maximum size for a string or the maximum size for an array of strings (that's per node). This limit (for 32-bit machines) is 4GB. (Note that this may be limited to 2-3 GB.)

(Also, having said this, there was a bug previously that limited string size to 1 MB. I expect that this is resolved.)

Of course, this raises the question of whether multiple properties could store more than 4GB per node. Since the properties list is essentially a key-value store, it would expect that the maximum size would be limited by disk space and key selection. I can't find anything to support or deny this, however.


That doesn't definitively answer your question, but from what I understand you should be able to store large amounts of data per node (up to disk space capacity).

Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange
scroll top