|
|
|
|
|
by somehnreader
3020 days ago
|
|
How is a graph database built under the hood? I know that a decent RDBMS (simplified) will consist of the following: - data in blocks organised with a block-size that the underlying filesystem likes - a cache for the most frequently used blocks - every index is a B-Tree with pointers to the blocks containing the tuples Then there are column stores as well as row stores, and for compression you might have some dictionary encoding going on. Now, how does the Graph Database look under the hood and what are the complexities involved? How is the Graph persisted? |
|
[Neo4j internals can be seen here](https://www.slideshare.net/thobe/an-overview-of-neo4j-intern...)...it's a bit old but I think mostly still accurate.
In graphs you have to persist nodes and edges, though you may partition nodes by label/category. In the case of neo4j there is a property store rather than a set of columns.