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 | SurrealDB | OrientDB | ArcadeDB | Cosmos DB | Neptune |
|---|---|---|---|---|---|---|
| At a glance | ||||||
| Rank | #2 | #7 | #8 | #11 | #13 | #15 |
| Score | 69.9 | 60.5 | 60.1 | 57.5 | 56.5 | 54.9 |
| GitHub stars | 14.3k | 33.3k | 5k | 1.2k | — | — |
| Popularity | 89.2 | 71.4 | 81.5 | 51.9 | 49.5 | 58.0 |
| Activity | 71.1 | 64.5 | 55.9 | 76.0 | 49.3 | 60.1 |
| Community | 42.5 | 60.4 | 39.4 | 52.4 | 58.2 | 50.9 |
| Research | 74.4 | 31.1 | 59.9 | 40.2 | 81.9 | 45.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 Inc | SurrealDB | OrientDB Community | ArcadeDB | Microsoft | Amazon Web Services |
| Model | Multiple | Multiple | Multiple | Multiple | Multiple | Multiple |
| Kind | database | database | database | database | database | database |
| Category | Enterprise | Growing | Enterprise | Growing | Enterprise | Enterprise |
| First released | 2012-03 | 2022-07 | 2010 | 2021-09 | 2014-08 | 2017-11 |
| Status | active | active | active | active | active | active |
| License | BUSL-1.1 | BUSL-1.1 | Apache-2.0 | Apache-2.0 | Proprietary | Proprietary |
| Written in | C++ | Rust | Java | Java | C++ | C++ |
| Query languages | AQL | SurrealQL, GraphQL, GQL | SQL, Gremlin | SQL, openCypher, Gremlin, GraphQL | Gremlin, SQL | Gremlin, SPARQL, openCypher |
| gdotv support | no | no | no | yes | yes | yes |
Feature scores 35 of 46 rows differ
| Feature | ArangoDB | SurrealDB | OrientDB | ArcadeDB | Cosmos DB | Neptune |
|---|---|---|---|---|---|---|
| Community & Business | ||||||
| Active development | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Commercial support | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Live community | 0.5 | 0.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 | 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
| Name | Vendor | Model | Category | GitHub stars | License | Written in | Query languages | Rank |
|---|---|---|---|---|---|---|---|---|
| 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
- FaunaDB — Service shut down in 2025.