Graph/Network Database Design Patterns (G/N-DDP) - Versioning
- versioning graph/network data
- the main idea is to separate structure from state (note: structure is tied to identity)
Versioning Graph Data
a graph database contains 2 types of building blocks:
- nodes/entities
- edges/relationships
thus, versioning graph data essentially means versioning these 2 types of data
1 - Versioning Nodes
split the node data into 2 disjoint datasets:
- node identity
- node state
2 - Versioning Edges
split the relationship data into 2 disjoint datasets:
- edge identity - starting-node-id or edge-id
- edge state - may include starting-node-id, ending-node-id, and any other state properties of the relationship
/graph/network-database-design-patterns-(g/n-ddp)/g/n-ddp---versioning/node-versioning.png)
/graph/network-database-design-patterns-(g/n-ddp)/g/n-ddp---versioning/edge-versioning.png)