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 #7 ▲1 Strong OrientDB #8 ▲2 Strong ArcadeDB #11 ▼5 Strong Cosmos DB #13 ▼1 Strong Neptune #15 ▼2 Strong
At a glance
Rank #2#7#8#11#13#15
Score 69.960.560.157.556.554.9
GitHub stars 14.3k33.3k5k1.2k——
Popularity 89.271.481.551.949.558.0
Activity 71.164.555.976.049.360.1
Community 42.560.439.452.458.250.9
Research 74.431.159.940.281.945.2
Fundamentals
Description A multi-model database supporting graphs, key-value pairs, and documents in a unified JSON-based data model, stored in a RocksDB-based engine. Since version 3.12 the server no longer runs graph algorithms itself (the Pregel system was removed); they run in separate Graph Analytics Engines on the Arango platform.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 distributed multi-model database combining graph and document models with TinkerPop support. Features sharding for horizontal scaling and ACID transactions.A multi-model database inspired by OrientDB, supporting graphs, documents, key-value, time-series, and search. Uses RAFT-based replication for high availability.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.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).
Vendor ArangoDB IncSurrealDBOrientDB CommunityArcadeDBMicrosoftAmazon Web Services
Model MultipleMultipleMultipleMultipleMultipleMultiple
Kind databasedatabasedatabasedatabasedatabasedatabase
Category EnterpriseGrowingEnterpriseGrowingEnterpriseEnterprise
First released 2012-032022-0720102021-092014-082017-11
Status activeactiveactiveactiveactiveactive
License BUSL-1.1BUSL-1.1Apache-2.0Apache-2.0ProprietaryProprietary
Written in C++RustJavaJavaC++C++
Query languages AQLSurrealQL, GraphQL, GQLSQL, GremlinSQL, openCypher, Gremlin, GraphQLGremlin, SQLGremlin, SPARQL, openCypher
gdotv support nononoyesyesyes

Feature scores 35 of 46 rows differ

Feature ArangoDBSurrealDBOrientDBArcadeDBCosmos DBNeptune
Community & Business
Active development ✓✓✓✓✓✓
Commercial support ✓✓✓✓✓✓
Live community 0.50.750.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 0.5✓✓✓✓·
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.5·✓0.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 Gettier Multiple Emerging 3.5k Apache-2.0 Prolog WOQL, GraphQL #24
Grafeo GrafeoDB Multiple Emerging 828 Apache-2.0 Rust GQL, openCypher, SPARQL, Gremlin, GraphQL, SQL/PGQ #34
MarkLogic Progress Software Multiple Enterprise — Proprietary C++ SPARQL, XQuery, SQL #36
SAP Hana SAP Multiple Enterprise — Proprietary C++ SQL, openCypher, GraphScript #39
Virtuoso OpenLink Software Multiple Enterprise 977 GPL-2.0 C SQL, SPARQL #42
Kinetica Kinetica Multiple Established — Proprietary C++ SQL #52
Oracle Graph Oracle Multiple Enterprise — Proprietary Java SQL/PGQ, PGQL, SPARQL #57
NodeDB NodeDB-Lab Multiple Emerging 243 BUSL-1.1 Rust SQL, openCypher #66
MillenniumDB IMFD Chile Multiple Emerging 267 GPL-2.0 C++ GQL, SPARQL #81
Data Graphs Data Language Multiple Emerging — Proprietary Rust openCypher, GQL #111
MemGQL Memgraph Multiple Emerging — Proprietary Rust GQL #114

No longer active