4 ms·
Traversal methods are built-in for Neo4j, so those can be used for representative testing. The MySQL traversal methods chosen are very basic and don't necessari
by espeed 15y ago
Traversal methods are built-in for Neo4j, so those can be used for representative testing. The MySQL traversal methods chosen are very basic and don't necessarily reflect the optimized methods people will use in production.
It's not that the traversal methods are built in, it's that that each node as a built-in index of its adjacent nodes so it doesn't have to do external lookups on each traversal step.
- sthlm 15y agoI meant that the Neo4j API offers methods for graph traversal out-of-the-box which are likely the same ones that most people will use. MySQL doesn't have a default data structure for graphs (that I know of) or default algorithms. So while the methods used to traverse the Neo4j graph are fairly representative, the data structure and algorithms used for the MySQL traversal are not. Of course, I agree with you that the data structure itself is optimized. In general I'm not doubting Neo4j's ability to excel in most benchmarks. I just think the approach is very basic.
- espeed 15y agoNeo4j API offers methods for graph traversal out-of-the-box which are likely the same ones that most people will use. Interestingly, Marko didn't use Neo4j's native API (http://api.neo4j.org http://api.neo4j.org) -- he used a dataflow framework he wrote called Pipes (https://github.com/tinkerpop/pipes/wiki/ https://github.com/tinkerpop/pipes/wiki/). You probably have heard of the graph programming language Gremlin (https://github.com/tinkerpop/gremlin/wiki https://github.com/tinkerpop/gremlin/wiki). Gremlin is a thin wrapper over Pipes.