Can neo4j work in low memory conditions?

91 views
Skip to first unread message

Marcin Biegan

unread,
Mar 8, 2015, 7:46:16 AM3/8/15
to ne...@googlegroups.com
Hi,

I'm considering using neo4j and I've looked at hardware sizing calculator. It shows that for 5M nodes / 120M relations (each with 8 bytes of properties) I'll need at least 75GB of memory, which is huge.
In my case I want to run some analytical queries on the dataset. Just several concurrent queries at most. Latency is not critical. The queries I need to run are: for given set of nodes find all reachable nodes through relations meeting given condition. The queries should return just several vertices on average and never more than ten of thousands.

The main question I have is if neo4j can run with less memory (5GB? 10GB?) and instead read from disk when required?
How does it compare to regular relational databases here - I assume that it's still faster, but is that true?

Is the 75GB estimation by the calculator reasonable?

Thanks,
Marcin

Chris Vest

unread,
Mar 8, 2015, 12:30:38 PM3/8/15
to ne...@googlegroups.com
Hi,

It doesn’t sound very reasonable. It estimates the storage size to be around 6.5 GB. Assuming it’s right about the storage size, and if using 2.2-RC1 (or GA when it comes out), then I’d set `dbms.pagecache.memory` to ‘7g’ and `wrapper.java.maxmemory` (the Java heap memory) to ‘7168’. Then tweak from there if it’s not fast enough. Those settings would fit on a dedicated machine with 16 GB RAM. If you don’t have that much RAM, then I’d shrink the heap first. If Neo4j can’t fit the dataset in memory, then it’ll swap stuff in and out of memory as needed. Relational databases are good at operations on sets that map easily from their tables, and Neo4j is good at graph traversals. Your use case sounds like something Neo4j should be good at.

--
Chris Vest
System Engineer, Neo Technology
[ skype: mr.chrisvest, twitter: chvest ]


--
You received this message because you are subscribed to the Google Groups "Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages