Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how much data can i store per node in Neo4j

Tags:

nosql

neo4j

I need to save big chunks of Unicode text strings in Neo4j nodes. The documentation does not mention anything about the size of data one can store per node.

Does anyone know that?

like image 241
jax green Avatar asked Aug 24 '11 13:08

jax green


People also ask

Can Neo4j handle big data?

Graph databases like Neo4j are ideal for modeling complex relationships--and they move through big data at lightspeed.

What are the limitations of Neo4j?

Neo4j has some upper bound limit for the graph size and can support tens of billions of nodes, properties, and relationships in a single graph. No security is provided at the data level and there is no data encryption. Security auditing is not available in Neo4j.

How many nodes can Neo4j store?

Up to 200k nodes and 400k relationships.

How much memory does Neo4j need?

1GB is a good starting point for a server that is dedicated to running Neo4j. However, there are cases where the amount reserved for the OS is significantly larger than 1GB, such as servers with exceptionally large RAM.


2 Answers

I just tried the following with the neo4j web interface :

I wrote a line of 26 characters and duplicated it through 32000 lines, which makes a total of 832000 characters.

I created a node with a property "text" and copied my text in it, and it worked perfectly.

I tried again with 64000 lines with white spaces at the end of lines, with a total of 1728000 characters. Created a new node, then queried the node and copied the result back in a file to check the size (you never know), and wc gave me 1728001 (the one must be an error in the copy/paste process I suppose).

It didn't seem to complain.

FYI this is equivalent to a text with 345600 words of an average size of 4 and a space (5 characters), and a book of 1000 pages with 300 words per page.

I don't know however how this could impact performances if there are too many nodes. If it doesn't work well because of this, you could always consider having neo4j for storing informations about relationships, with a property ID as an id for another document oriented database to retrieve the text (or simply the path of a file as a path property).

like image 177
bendaizer Avatar answered Sep 20 '22 15:09

bendaizer


Neo4j is by default indexed using Lucene. Lucene was built as a full text search toolbox (with Solr being the de facto search engine implementation). Since Lucene was intended to search over large amounts of text, my suspicion is that you can put as much text into a node as you want and it will work just fine.

like image 33
JnBrymn Avatar answered Sep 21 '22 15:09

JnBrymn