Multi-model graph databases compared

Databases that support both property graph and RDF models.

17 active multi-model graph databases are in the catalogue. They are written mostly in C++ and Rust, 6 are open source, and 11 carry survey feature scores. FaunaDB is no longer active and listed separately below.

Attribute ArangoDB #2 = Leader SurrealDB #8 ▲1 Leader ArcadeDB #9 ▲1 Leader OrientDB #12 ▼5 Strong Neptune #14 ▲2 Strong Cosmos DB #29 ▼1 Strong
At a glance
Rank #2#8#9#12#14#29
Score 76.765.865.462.061.154.1
GitHub stars 14.3k33.3k1.2k5k——
Popularity 89.474.254.782.961.053.8
Activity 73.963.376.860.760.949.9
Community 61.266.759.035.461.839.1
Research 82.852.274.767.660.487.7
Fundamentals
Description A multi-model database supporting graphs, key-value pairs, and documents in a unified JSON-based data model. Offers both an in-memory storage engine and a RocksDB-based engine for larger datasets.A multi-model database written in Rust that combines document, graph, and relational paradigms. Uses inter-document record links for graph traversals, with ACID transactions and row-level permissions.A multi-model database inspired by OrientDB, supporting graphs, documents, key-value, time-series, and search. Uses RAFT-based replication for high availability.A distributed multi-model database combining graph and document models with TinkerPop support. Features sharding for horizontal scaling and ACID transactions.A fully managed graph database service from AWS supporting both property graph and RDF models. Available as Neptune Database (for transactional workloads) and Neptune Analytics (for analytical queries).A globally distributed multi-model database service on Microsoft Azure with property graph support through the Apache Gremlin API. Offers multi-region replication and multiple consistency models.
Vendor ArangoDB IncSurrealDBArcadeDBOrientDB CommunityAmazon Web ServicesMicrosoft
Model MultipleMultipleMultipleMultipleMultipleMultiple
Kind databasedatabasedatabasedatabasedatabasedatabase
Category EnterpriseGrowingGrowingEnterpriseEnterpriseEnterprise
First released 2012-032022-072021-0920102017-112014-08
Status activeactiveactiveactiveactiveactive
License BUSL-1.1BUSL-1.1Apache-2.0Apache-2.0ProprietaryProprietary
Written in C++RustJavaJavaC++C++
Query languages AQLSurrealQL, GraphQL, GQLSQL, openCypher, Gremlin, GraphQLSQL, GremlinGremlin, SPARQL, openCypherGremlin, SQL
gdotv support nonoyesnoyesyes

Feature scores 35 of 46 rows differ

Feature ArangoDBSurrealDBArcadeDBOrientDBNeptuneCosmos DB
Community & Business
Active development ✓✓✓✓✓✓
Commercial support ✓✓✓✓✓✓
Live community 0.50.75✓0.5✓0.5
Open Source ✓0.5✓✓··
Pricing ·✓✓·✓✓
Trendiness 0.25✓·0.25✓✓
Deployment
Containerization ✓✓✓✓·0.5
Work as dedicated instance ✓✓✓✓✓✓
Work as embedded ·✓✓✓··
Testing in-memory version ✓✓·✓·✓
Platform
Operating on Linux ✓✓✓✓✓·
Operating on Windows ✓✓✓✓·✓
SaaS offering ·✓··✓✓
Operations
Automatic updates ··✓·✓✓
Client side caching ····✓·
Data versioning support ·✓····
Live backups ✓·✓✓✓✓
Distribution
Cluster Re-balancing ✓✓···0.5
Data Distribution ✓✓·✓·✓
High-Availability ✓✓✓✓✓✓
Query Distribution ✓✓·0.50.5✓
Replication support ✓✓✓✓✓✓
Developer Experience
Data types defined ✓0.5✓✓0.5·
Logging/Auditing ✓✓✓✓✓✓
Object-Graph Mapper ✓✓···✓
Reactive programming ·✓✓·✓✓
Documentation up-to-date ✓✓✓0.5✓✓
Binary protocol ✓✓✓✓✓·
CLI ✓✓✓✓✓✓
GUI ✓✓✓✓✓✓
Data Model
Multi-database ✓✓✓✓·✓
Graph-native data ·✓✓·✓·
REST API ✓✓✓✓✓✓
Query Language 0.5✓✓✓✓✓
Transactions
Granular locking ····✓·
Multiple isolation levels ·0.5✓✓✓✓
Read committed transaction ·✓✓✓✓✓
Transaction support ✓✓✓✓✓0.5
Schema & Security
Constraints ✓✓✓·✓·
Schema support 0.5✓✓✓0.5·
Secondary indexes ✓✓✓✓✓✓
Server side procedures 0.5✓✓✓·✓
Triggers ·✓✓✓·✓
Authentication ✓✓✓✓✓✓
Authorization 0.5✓✓✓✓✓
Data encryption ✓0.5✓✓✓✓

All 17 engines

NameVendorModel CategoryGitHub starsLicenseWritten in Query languagesRank
TerminusDB DFRNT Multiple Emerging 3.5k Apache-2.0 Prolog WOQL, GraphQL #30
MarkLogic Progress Software Multiple Enterprise — Proprietary C++ SPARQL, XQuery, SQL #37
Oracle Graph Oracle Multiple Enterprise — Proprietary Java SQL/PGQ, PGQL, SPARQL #38
SAP Hana SAP Multiple Enterprise — Proprietary C++ SQL, openCypher, GraphScript #42
Virtuoso OpenLink Software Multiple Enterprise 977 GPL-2.0 C SQL, SPARQL #43
Grafeo GrafeoDB Multiple Emerging 826 Apache-2.0 Rust GQL, openCypher, SPARQL, Gremlin, GraphQL, SQL/PGQ #52
Kinetica Kinetica Multiple Established — Proprietary C++ SQL #57
MillenniumDB IMFD Chile Multiple Emerging 267 GPL-2.0 C++ GQL, SPARQL #91
NodeDB NodeDB-Lab Multiple Emerging 240 BUSL-1.1 Rust SQL, openCypher #96
MemGQL Memgraph Multiple Emerging — Proprietary Rust GQL #100
Data Graphs Data Language Multiple Emerging — Proprietary Rust openCypher, GQL #111

No longer active