Hey all!
I am using Neo4J 5.12 community edition and OGM to connect to my Java application.
I am using a server wit 16 cores and 128GB RAM. The following configuration I have changed:
server.memory.heap.initial_size=18G
server.memory.heap.max_size=24G
server.memory.pagecache.size=64G
server.memory.pagecache.directio=true
server.memory.pagecache.flush.buffer.enabled=true
client.allow_telemetry=false
In my application, I want to put sample, which are essentially graphs, into the database. Unfortunatelly, after I put around 150 samples, the program is stuck and it is nearly impossible to put more nodes into it. This equals to around 184000 nodes and 620000 relations.
I have like 5 different Labels, each one has a unique property and an index on it. But I don`t really understand whether OGM uses these indexes or not. Furthermore there is one Label which has no unique property. This last one connects only to itself and only in one direction, it´s essentially building a tree. The other labeled nodes only get connected from one specific, named "Sample". You can see the schema in the image below.
To improve performance and not have too large queries, the mentioned tree can have a maximum of 5000 nodes and if I write any other data in the database I have a maximum of 1000 items (nodes or relations) and split larger lists into sublists which will be written subsequently. In between any write of a sublist the session will be cleared, because I encountered a problem with large sessions, in which it will take forever to find changed nodes and relations.
Do you have any ideas why I cannot put more data into the database very efficiently?
Any ideas will be appreciated, thanks! Also, if you need further information, please ask.
Thanks in advance!
Regards,
Julian