Rust graph databases compared
Graph databases implemented in Rust.
27 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 | TypeDB | HelixDB | SurrealDB | Atomic Server | Fluree | NodeDB |
|---|---|---|---|---|---|---|
| At a glance | ||||||
| Rank | #9 | #12 | #14 | #20 | #29 | #102 |
| Score | 63.6 | 62.4 | 61.4 | 58.8 | 56.0 | 36.3 |
| GitHub stars | 4.4k | 5.9k | 33k | 1.6k | 450 | 196 |
| Popularity | 68.7 | 66.5 | 62.7 | 57.9 | 59.0 | 41.9 |
| Activity | 77.7 | 78.0 | 71.8 | 75.7 | 81.2 | 53.7 |
| Community | 66.4 | 65.6 | 68.8 | 44.5 | 35.4 | 56.2 |
| Research | 49.6 | 49.6 | 51.6 | 75.0 | 51.3 | 49.6 |
| Fundamentals | ||||||
| Description | 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. | 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 lightweight Rust graph database built around the Atomic Data specification. Provides event-sourced versioning, hierarchical authorization, and real-time sync via WebSockets. | An immutable, append-only RDF graph database using JSON-LD as its data format. Features a blockchain-inspired ledger for data provenance and fine-grained access control policies. | 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 | Vaticle | HelixDB | SurrealDB | Ontola | Fluree | NodeDB-Lab |
| Model | Other | Other | Multiple | Other | RDF | Multiple |
| Kind | database | database | database | database | database | database |
| Category | Growing | Emerging | Growing | Emerging | Growing | Emerging |
| First released | 2016 | 2025-02 | 2022-07 | 2020-08 | 2018-08 | 2026-04 |
| Status | active | active | active | active | active | active |
| License | MPL-2.0 | Apache-2.0 | BUSL-1.1 | MIT | BUSL-1.1 | BUSL-1.1 |
| Written in | Rust | Rust | Rust | Rust | Rust | Rust |
| Query languages | TypeQL | HelixQL | SurrealQL, GraphQL, GQL | Custom API | FlureeQL, SPARQL, GraphQL | SQL, openCypher |
| gdotv support | no | no | no | no | no | no |
Feature scores 32 of 46 rows differ
| Feature | TypeDB | HelixDB | SurrealDB | Atomic Server | Fluree | NodeDB |
|---|---|---|---|---|---|---|
| Community & Business | ||||||
| Active development | ✓ | — | ✓ | — | ✓ | ✓ |
| Commercial support | ✓ | — | ✓ | — | ✓ | ✓ |
| Live community | ✓ | — | 0.75 | — | 0.5 | ✓ |
| 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 |
| Read committed transaction | ✓ | — | ✓ | — | ✓ | ✓ |
| Transaction support | ✓ | — | ✓ | — | ✓ | ✓ |
| Schema & Security | ||||||
| Constraints | ✓ | — | ✓ | — | 0.75 | ✓ |
| Schema support | ✓ | — | ✓ | — | 0.5 | ✓ |
| Secondary indexes | ✓ | — | ✓ | — | ✓ | ✓ |
| Server side procedures | · | — | ✓ | — | · | ✓ |
| Triggers | ✓ | — | ✓ | — | · | ✓ |
| Authentication | ✓ | — | ✓ | — | ✓ | ✓ |
| Authorization | ✓ | — | ✓ | — | ✓ | ✓ |
| Data encryption | · | — | 0.5 | — | ✓ | ✓ |
All 27 engines
| Name | Vendor | Model | Category | GitHub stars | License | Written in | Query languages | Rank |
|---|---|---|---|---|---|---|---|---|
| Oxigraph | Oxigraph Community | RDF | Emerging | 1.9k | Apache-2.0 OR MIT | Rust | SPARQL | #24 |
| Raphtory | Pometry | Property Graph | Emerging | 641 | GPL-3.0 | Rust | GraphQL | #32 |
| OmniGraph | ModernRelay | Property Graph | Emerging | 1.1k | MIT | Rust | Custom API | #49 |
| Lance Graph | LanceDB Inc | Property Graph | Emerging | 176 | Apache-2.0 | Rust | SQL, openCypher | #58 |
| Grafeo | GrafeoDB | Multiple | Emerging | 766 | Apache-2.0 | Rust | GQL, openCypher, SPARQL, Gremlin, GraphQL, SQL/PGQ | #85 |
| Data Graphs | Data Language | Multiple | Emerging | — | Proprietary | Rust | openCypher, GQL | #105 |
| MemGQL | Memgraph | Multiple | Emerging | — | Proprietary | Rust | GQL | #106 |
| agdb | Agnesoft | Property Graph | Emerging | 139 | Apache-2.0 | Rust | Custom API | #117 |
| froGQL | PLEIAD | Property Graph | Emerging | 7 | MIT | Rust | GQL | #120 |
| GraphLite | DeepGraph AI | Property Graph | Emerging | 230 | Apache-2.0 | Rust | GQL | #121 |
| TribleSpace | — | Other | Emerging | 69 | MIT OR Apache-2.0 | Rust | Custom API | #127 |
| Minigraf | — | Other | Emerging | 31 | MIT OR Apache-2.0 | Rust | Datalog | #129 |
| pgGraph | Evokoa | Property Graph | Emerging | 1k | Apache-2.0 | Rust | SQL | #130 |
| KGLite | Kristian dF Kollsgård | Property Graph | Emerging | 37 | MIT | Rust | openCypher, Custom API | #133 |
| AstraeaDB | AstraeaDB | Property Graph | Emerging | 4 | MIT | Rust | GQL, Cypher | #138 |
| OxiRS | — | RDF | Emerging | 88 | Apache-2.0 | Rust | SPARQL | #141 |
| Grust | QueryGraph | Property Graph | Emerging | 22 | Apache-2.0 | Rust | Custom API | #148 |
| selene-db | Justin Scott | Property Graph | Emerging | 5 | MIT OR Apache-2.0 | Rust | GQL | #149 |
| LoraDB | LoraDB | Property Graph | Emerging | 20 | BUSL-1.1 | Rust | Cypher | #151 |
| StromaDB | Katsuhide Tsuruta | Property Graph | Emerging | 2 | Elastic-2.0 | Rust | Custom API | #152 |
| 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.