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 Java, 9 are open source, and 11 carry survey feature scores. FaunaDB is no longer active and listed separately below.
| Attribute | ArangoDB | Neptune | OrientDB | SurrealDB | ArcadeDB | Cosmos DB |
|---|---|---|---|---|---|---|
| At a glance | ||||||
| Rank | #2 | #4 | #11 | #14 | #15 | #16 |
| Score | 68.8 | 65.5 | 62.9 | 61.4 | 60.7 | 60.4 |
| GitHub stars | 14.3k | — | 5k | 33k | 1.1k | — |
| Popularity | 85.8 | 81.2 | 80.4 | 62.7 | 54.1 | 73.8 |
| Activity | 80.0 | 95.5 | 62.5 | 71.8 | 78.6 | — |
| Community | 51.6 | 53.7 | 57.4 | 68.8 | 54.1 | 47.6 |
| Research | 80.5 | 58.4 | 64.8 | 51.6 | 72.1 | 88.5 |
| 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 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 distributed multi-model database combining graph and document models with TinkerPop support. Features sharding for horizontal scaling and ACID transactions. | 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 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 | Amazon Web Services | OrientDB Community | SurrealDB | ArcadeDB | Microsoft |
| Model | Multiple | Multiple | Multiple | Multiple | Multiple | Multiple |
| Kind | database | database | database | database | database | database |
| Category | Enterprise | Enterprise | Enterprise | Growing | Growing | Enterprise |
| First released | 2012-03 | 2017-11 | 2010 | 2022-07 | 2021-09 | 2014-08 |
| Status | active | active | active | active | active | active |
| License | BUSL-1.1 | Proprietary | Apache-2.0 | BUSL-1.1 | Apache-2.0 | Proprietary |
| Written in | C++ | C++ | Java | Rust | Java | C++ |
| Query languages | AQL | Gremlin, SPARQL, openCypher | SQL, Gremlin | SurrealQL, GraphQL, GQL | SQL, openCypher, Gremlin, GraphQL | Gremlin, SQL |
| gdotv support | no | yes | no | no | yes | yes |
Feature scores 35 of 46 rows differ
| Feature | ArangoDB | Neptune | OrientDB | SurrealDB | ArcadeDB | Cosmos DB |
|---|---|---|---|---|---|---|
| Community & Business | ||||||
| Active development | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Commercial support | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Live community | 0.5 | ✓ | 0.5 | 0.75 | ✓ | 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 |
|---|---|---|---|---|---|---|---|---|
| SAP Hana | SAP | Multiple | Enterprise | — | Proprietary | C++ | SQL, openCypher, GraphScript | #21 |
| Oracle Graph | Oracle | Multiple | Enterprise | — | Proprietary | Java | SQL/PGQ, PGQL, SPARQL | #30 |
| TerminusDB | DFRNT | Multiple | Emerging | 3.4k | Apache-2.0 | Prolog | WOQL, GraphQL | #34 |
| Virtuoso | OpenLink Software | Multiple | Enterprise | 974 | GPL-2.0 | C | SQL, SPARQL | #42 |
| MarkLogic | Progress Software | Multiple | Enterprise | — | Proprietary | C++ | SPARQL, XQuery, SQL | #52 |
| Kinetica | Kinetica | Multiple | Established | — | Proprietary | C++ | SQL | #72 |
| Grafeo | GrafeoDB | Multiple | Emerging | 766 | Apache-2.0 | Rust | GQL, openCypher, SPARQL, Gremlin, GraphQL, SQL/PGQ | #85 |
| MillenniumDB | IMFD Chile | Multiple | Emerging | 264 | GPL-2.0 | C++ | GQL, SPARQL | #91 |
| NodeDB | NodeDB-Lab | Multiple | Emerging | 196 | BUSL-1.1 | Rust | SQL, openCypher | #102 |
| Data Graphs | Data Language | Multiple | Emerging | — | Proprietary | Rust | openCypher, GQL | #105 |
| MemGQL | Memgraph | Multiple | Emerging | — | Proprietary | Rust | GQL | #106 |
No longer active
- FaunaDB — Service shut down in 2025.