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 | ArcadeDB | OrientDB | Neptune | Cosmos DB |
|---|---|---|---|---|---|---|
| At a glance | ||||||
| Rank | #2 | #8 | #9 | #12 | #14 | #29 |
| Score | 76.7 | 65.8 | 65.4 | 62.0 | 61.1 | 54.1 |
| GitHub stars | 14.3k | 33.3k | 1.2k | 5k | — | — |
| Popularity | 89.4 | 74.2 | 54.7 | 82.9 | 61.0 | 53.8 |
| Activity | 73.9 | 63.3 | 76.8 | 60.7 | 60.9 | 49.9 |
| Community | 61.2 | 66.7 | 59.0 | 35.4 | 61.8 | 39.1 |
| Research | 82.8 | 52.2 | 74.7 | 67.6 | 60.4 | 87.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 Inc | SurrealDB | ArcadeDB | OrientDB Community | Amazon Web Services | Microsoft |
| Model | Multiple | Multiple | Multiple | Multiple | Multiple | Multiple |
| Kind | database | database | database | database | database | database |
| Category | Enterprise | Growing | Growing | Enterprise | Enterprise | Enterprise |
| First released | 2012-03 | 2022-07 | 2021-09 | 2010 | 2017-11 | 2014-08 |
| 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, openCypher, Gremlin, GraphQL | SQL, Gremlin | Gremlin, SPARQL, openCypher | Gremlin, SQL |
| gdotv support | no | no | yes | no | yes | yes |
Feature scores 35 of 46 rows differ
| Feature | ArangoDB | SurrealDB | ArcadeDB | OrientDB | Neptune | Cosmos DB |
|---|---|---|---|---|---|---|
| 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 | ✓ | ✓ | ✓ | ✓ | · | ✓ |
| 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 | 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
- FaunaDB — Service shut down in 2025.