Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

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?

share|improve this question
    
How big are your chunks in general? You should make sure to find a suitable string_block_size to keep the number of string blocks in the storage down to a reasonable level as well as not wasting too much space in only half-filled blocks. How will the data be used? Just rendered or also queried/processed otherwise? If you need to save space, compression + storage as byte array can be an option. –  Michael Hunger Nov 18 '11 at 5:48
add comment

1 Answer 1

up vote 5 down vote accepted

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).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.