Nebula Graph provides cluster snapshot to support reading history data.
Multi-version Concurrency Control (MVCC)
The data model handled by the Nebula Graph is a directed property graph, whose edges are directional and there could be properties on both edges and vertices. It can be represented as: G = < V, E, PV, PE >, where V is a set of nodes aka vertices, E is a set of directional edges, PV represents properties on vertices, and PE is the properties on edges.
Nebula Graph uses a proprietary query language called nGQL.
Nebula Graph adopted the shared-nothing distributed architecture in storage so nodes do not share memory or storage, which means there are no central nodes in the whole system.
The binary of storage service is nebula-storaged, which provides a key-value store. Multiple storage engines like RocksDB and HBase are supported, with RocksDB set as the default engine.
Raft is implemented as the consensus algorithm.