Rust graph databases compared
Graph databases implemented in Rust.
32 active rust graph databases are in the catalogue. They are written mostly in Rust, 24 are open source, and 4 carry survey feature scores. CozoDB is no longer active and listed separately below.
| Attribute | SurrealDB | TypeDB | HelixDB | Oxigraph | Fluree | NodeDB |
|---|---|---|---|---|---|---|
| At a glance | ||||||
| Rank | #7 | #9 | #14 | #16 | #23 | #66 |
| Score | 60.5 | 59.4 | 56.4 | 54.7 | 50.8 | 38.8 |
| GitHub stars | 33.3k | 4.5k | 6.3k | 2k | 478 | 243 |
| Popularity | 71.4 | 70.1 | 56.0 | 61.5 | 46.9 | 37.1 |
| Activity | 64.5 | 73.2 | 78.2 | 67.7 | 70.0 | 41.9 |
| Community | 60.4 | 49.5 | 48.4 | 40.0 | 44.4 | 44.3 |
| Research | 31.1 | 26.7 | 26.7 | 39.6 | 30.7 | 26.7 |
| Fundamentals | ||||||
| Description | 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 polymorphic database that natively models inheritance hierarchies, dependencies, and conceptual schemas using its TypeQL query language. Supports clustering for scalability and a cloud-agnostic deployment model. | An open-source graph-vector database combining graph traversals with vector and keyword search, targeting AI and RAG applications. | An RDF triple store written in Rust and built on RocksDB. Available as a standalone server, embeddable library, and via Python and JavaScript bindings. | A temporal RDF graph database written in Rust. Each transaction is an immutable, content-addressed commit, so data can be queried as of any point in history, with git-style branching, triple-level access policies, and built-in full-text, vector, and geospatial search. | A multi-model database written in Rust that runs document, key-value, columnar, timeseries, spatial, vector, and array engines in a single binary over shared storage, with graph and full-text search as cross-engine overlays on any collection. Its graph overlay uses a CSR adjacency index with 13 built-in algorithms and a Cypher-subset MATCH syntax, and fuses graph traversal with vector search in a single query for GraphRAG. Speaks SQL over a native MessagePack protocol and the PostgreSQL wire protocol, alongside HTTP/REST, WebSocket, RESP, and ILP. |
| Vendor | SurrealDB | TypeDB | HelixDB | Oxigraph Community | Fluree | NodeDB-Lab |
| Model | Multiple | Other | Other | RDF | RDF | Multiple |
| Kind | database | database | database | database | database | database |
| Category | Growing | Growing | Emerging | Emerging | Growing | Emerging |
| First released | 2022-07 | 2016 | 2025-02 | 2020-08 | 2018-08 | 2026-04 |
| Status | active | active | active | active | active | active |
| License | BUSL-1.1 | MPL-2.0 | Apache-2.0 | Apache-2.0 OR MIT | BUSL-1.1 | BUSL-1.1 |
| Written in | Rust | Rust | Rust | Rust | Rust | Rust |
| Query languages | SurrealQL, GraphQL, GQL | TypeQL | HelixQL, openCypher | SPARQL | SPARQL, JSON-LD Query, openCypher, GraphQL | SQL, openCypher |
| gdotv support | no | no | no | yes | no | no |
Feature scores 25 of 46 rows differ
| Feature | SurrealDB | TypeDB | HelixDB | Oxigraph | Fluree | NodeDB |
|---|---|---|---|---|---|---|
| Community & Business | ||||||
| Active development | ✓ | ✓ | — | — | ✓ | ✓ |
| Commercial support | ✓ | ✓ | — | — | ✓ | ✓ |
| Live community | 0.75 | ✓ | — | — | 0.75 | ✓ |
| Open Source | 0.5 | ✓ | — | — | ✓ | 0.5 |
| Pricing | ✓ | ✓ | — | — | ✓ | · |
| Trendiness | ✓ | ✓ | — | — | 0.5 | · |
| Deployment | ||||||
| Containerization | ✓ | ✓ | — | — | ✓ | ✓ |
| 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 | ✓ | · | — | — | · | ✓ |
| Data Distribution | ✓ | · | — | — | · | ✓ |
| High-Availability | ✓ | ✓ | — | — | ✓ | ✓ |
| Query Distribution | ✓ | ✓ | — | — | · | ✓ |
| Replication support | ✓ | ✓ | — | — | ✓ | ✓ |
| Developer Experience | ||||||
| Data types defined | 0.5 | 0.5 | — | — | ✓ | ✓ |
| Logging/Auditing | ✓ | ✓ | — | — | ✓ | ✓ |
| Object-Graph Mapper | ✓ | · | — | — | · | 0.5 |
| Reactive programming | ✓ | ✓ | — | — | · | ✓ |
| Documentation up-to-date | ✓ | ✓ | — | — | ✓ | ✓ |
| 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 | 0.5 | — | — | 0.5 | 0.5 |
| Read committed transaction | ✓ | ✓ | — | — | ✓ | ✓ |
| Transaction support | ✓ | ✓ | — | — | ✓ | ✓ |
| Schema & Security | ||||||
| Constraints | ✓ | ✓ | — | — | ✓ | ✓ |
| Schema support | ✓ | ✓ | — | — | ✓ | ✓ |
| Secondary indexes | ✓ | ✓ | — | — | ✓ | ✓ |
| Server side procedures | ✓ | · | — | — | · | ✓ |
| Triggers | ✓ | ✓ | — | — | · | ✓ |
| Authentication | ✓ | ✓ | — | — | ✓ | ✓ |
| Authorization | ✓ | ✓ | — | — | ✓ | ✓ |
| Data encryption | 0.5 | · | — | — | ✓ | ✓ |
All 32 engines
| Name | Vendor | Model | Category | GitHub stars | License | Written in | Query languages | Rank |
|---|---|---|---|---|---|---|---|---|
| Atomic Server | Ontola | Other | Emerging | 1.6k | MIT | Rust | Custom API | #17 |
| Raphtory | Pometry | Property Graph | Emerging | 651 | GPL-3.0 | Rust | GraphQL | #26 |
| OmniGraph | ModernRelay | Property Graph | Emerging | 1.9k | MIT | Rust | Custom API | #29 |
| Grafeo | GrafeoDB | Multiple | Emerging | 828 | Apache-2.0 | Rust | GQL, openCypher, SPARQL, Gremlin, GraphQL, SQL/PGQ | #34 |
| HydraDB | HydraDB | Property Graph | Emerging | 13.1k | AGPL-3.0 | Rust | openCypher | #51 |
| Lance Graph | LanceDB Inc | Property Graph | Emerging | 186 | Apache-2.0 | Rust | SQL, openCypher | #71 |
| Minigraf | — | Other | Emerging | 225 | MIT OR Apache-2.0 | Rust | Datalog | #73 |
| lance-csr | HDC Labs | Property Graph | Emerging | 22 | Apache-2.0 | Rust | openCypher | #97 |
| agdb | Agnesoft | Property Graph | Emerging | 144 | Apache-2.0 | Rust | Custom API | #98 |
| KGLite | Kristian dF Kollsgård | Property Graph | Emerging | 75 | MIT | Rust | openCypher, Custom API | #100 |
| froGQL | PLEIAD | Property Graph | Emerging | 14 | MIT | Rust | GQL | #104 |
| RushDB | RushDB | Property Graph | Emerging | 326 | Apache-2.0 | Rust | Custom API, SQL, Cypher, Gremlin | #106 |
| pgGraph | Evokoa | Property Graph | Emerging | 1.1k | Apache-2.0 | Rust | SQL | #108 |
| Data Graphs | Data Language | Multiple | Emerging | — | Proprietary | Rust | openCypher, GQL | #111 |
| GraphLite | DeepGraph AI | Property Graph | Emerging | 235 | Apache-2.0 | Rust | GQL | #112 |
| MemGQL | Memgraph | Multiple | Emerging | — | Proprietary | Rust | GQL | #114 |
| TribleSpace | — | Other | Emerging | 71 | MIT OR Apache-2.0 | Rust | Custom API | #116 |
| Grust | QueryGraph | Property Graph | Emerging | 27 | Apache-2.0 | Rust | Custom API | #125 |
| OxiRS | — | RDF | Emerging | 101 | Apache-2.0 | Rust | SPARQL | #136 |
| AstraeaDB | AstraeaDB | Property Graph | Emerging | 6 | MIT | Rust | GQL, Cypher | #140 |
| oxilite | Volodymyr Pavlyshyn | RDF | Emerging | 66 | MIT OR Apache-2.0 | Rust | SPARQL, openCypher | #141 |
| LoraDB | LoraDB | Property Graph | Emerging | 24 | BUSL-1.1 | Rust | Cypher | #143 |
| selene-db | Justin Scott | Property Graph | Emerging | 4 | MIT OR Apache-2.0 | Rust | GQL | #148 |
| pg_petgraph | alitrack | Other | Emerging | 2 | MIT | Rust | SQL | #153 |
| StromaDB | Katsuhide Tsuruta | Property Graph | Emerging | 3 | Elastic-2.0 | Rust | Custom API | #154 |
| Traverse | Truespar | Property Graph | Emerging | — | Proprietary | Rust | openCypher, GQL | — |
No longer active
- CozoDB — The main repository has had no commits since December 2024 and the latest release is v0.7.6 from December 2023.