Neo4j Internals
Join the DZone community and get the full member experience.
Join For Freeit is interesting to see how node, relationship and property records are stored differently on disk and in the cache.
it is all linked lists of fixed size records on disk. properties are
stored as a linked list of property records, each holding a key and
value and pointing to the next property. each node and relationship
references its first property record. the nodes also reference the first
relationship in its relationship chain. each relationship references
its start and end node. it also references the previous and next
relationship record for the start and end node respectively.
on disk most of the information is contained in the relationship records, with the nodes just referencing their first relationship. in the node cache this is turned around: the nodes hold references to all of its relationships. the relationships are simple, only holding its properties. the relationships for each node is grouped by relationshiptype to allow fast traversal of a specific type. all references (dotted arrows) are by id, and traversals do indirect lookup through the cache.
view a video presentation of these slides on skill matter .
Published at DZone with permission of Max De Marzi, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Trending
-
Avoiding Pitfalls With Java Optional: Common Mistakes and How To Fix Them [Video]
-
RBAC With API Gateway and Open Policy Agent (OPA)
-
How to Implement Istio in Multicloud and Multicluster
-
Seven Steps To Deploy Kedro Pipelines on Amazon EMR
Comments