3 ms·
Neo4J uses index-free adjacency which means each node is storing the address of where its edges point to. This raises an interesting question about “big” graph
by rajman187 5y ago
Neo4J uses index-free adjacency which means each node is storing the address of where its edges point to.
This raises an interesting question about “big” graphs and distributed systems—-storing the address in memory across machines. So Neo4J, last I looked into it, is very fast for reads using a master-slave setup but may not scale well beyond a single machine.
Other approaches such as RedisGraph use OpenBLAS, but again you’re limited to a matrix representation.
And yet others, like TitanDB (bought by DataStax and open-source community forked into JanusDB) use graph abstractions that sit on top of distributed systems (HBase, Cassandra, Dynamo, etc) and these rely on adjacency lists and large indices. So the idea of “big graph” has been around for at least 6 years in the NoSQL world, but indeed everything is not a graph problem, tempting as that may be to claim.
Good article on native graph representation: https://dzone.com/articles/letter-regarding-native-graph https://dzone.com/articles/letter-regarding-native-graph