Cheers,
/peter neubauer
G: neubauer.peter
S: peter.neubauer
P: +46 704 106975
L: http://www.linkedin.com/in/neubauer
T: @peterneubauer
Neo4j 1.6 released - dzone.com/6S4K
The Neo4j Heroku Challenge - http://neo4j-challenge.herokuapp.com/
Cheers,
/peter neubauer
G: neubauer.peter
S: peter.neubauer
P: +46 704 106975
L: http://www.linkedin.com/in/neubauer
T: @peterneubauer
Neo4j 1.6 released - dzone.com/6S4K
The Neo4j Heroku Challenge - http://neo4j-challenge.herokuapp.com/
unfortunately, node C can have "very many" relationship too and B cant be a starting node in my case
to say simply, i wanna traverse a lot of nodes A and filter them to property of node C (reached from B) and C node has a lot of connections, more than A node. The difference is that i must traverse a lot of node A. So for each node of type A (whice are many), i must traverse many connections.Maybe i must "denormalize" some properties and so, do more work at update (as we can do proceed in other database types) but before to do it, i would like to well know the real limits of Neo4J. Denormalization needs to be consistent and add delete/update which can be an heavy and not elegant process...
Here we talk about magic limit of 100k relationship
The problem described in the blog by Aleksa is:
You have many relationships of one (or a few) type(s) together with
few relationships of some other type(s) connected to the same node.
Then when traversing, if the relationship chain has not been loaded
(and cached) getting all relationships of any type will require the
full chain to be loaded.
This will be fixed.
I do not see how the document data model could help here since it can
not handle connected data. Regarding the "100k limit" that is probably
GC related since there is no such limit. Time reading the full
relationship chain from disk will be directly proportional to amount
of entries in the chain (and in turn linked to how good the disks
are).
Indexing relationships as described in the blog is a workaround that
can be used. Another workaround is to introduce balance nodes having
one node that holds the relationships there are few of and the other
node holding the ones there are many of.
We are aware of this problem and have a very good idea on how to solve
it. It is however a big change in the store format and will take some
time before it makes it into the milestone releases.
Regards,
Johan