Rust graph databases compared
Graph databases implemented in Rust.
28 active rust graph databases are in the catalogue. They are written mostly in Rust, 20 are open source, and 4 carry survey feature scores. CozoDB is no longer active and listed separately below.
| Attribute | TypeDB | SurrealDB | HelixDB | Oxigraph | Fluree | NodeDB |
|---|---|---|---|---|---|---|
| At a glance | ||||||
| Rank | #7 | #8 | #10 | #13 | #25 | #96 |
| Score | 68.4 | 65.8 | 63.7 | 61.3 | 55.4 | 37.9 |
| GitHub stars | 4.5k | 33.1k | 6.1k | 2k | 471 | 201 |
| Popularity | 75.0 | 74.2 | 58.9 | 63.7 | 50.3 | 41.7 |
| Activity | 75.2 | 63.3 | 76.0 | 64.7 | 74.6 | 51.5 |
| Community | 63.3 | 66.7 | 62.9 | 53.3 | 40.5 | 54.0 |
| Research | 50.0 | 52.2 | 50.0 | 62.8 | 52.0 | 50.0 |
| 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. | 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. | 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. | 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 | SurrealDB | HelixDB | Oxigraph Community | Fluree | NodeDB-Lab |
| Model | Other | Multiple | Other | RDF | RDF | Multiple |
| Kind | database | database | database | database | database | database |
| Category | Growing | Growing | Emerging | Emerging | Growing | Emerging |
| First released | 2016 | 2022-07 | 2025-02 | 2020-08 | 2018-08 | 2026-04 |
| Status | active | active | active | active | active | active |
| License | MPL-2.0 | BUSL-1.1 | Apache-2.0 | Apache-2.0 OR MIT | BUSL-1.1 | BUSL-1.1 |
| Written in | Rust | Rust | Rust | Rust | Rust | Rust |
| Query languages | TypeQL | SurrealQL, GraphQL, GQL | HelixQL | SPARQL | FlureeQL, SPARQL, GraphQL | SQL, openCypher |
| gdotv support | no | no | no | yes | no | no |
Feature scores 32 of 46 rows differ
| Feature | TypeDB | SurrealDB | HelixDB | Oxigraph | 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 28 engines
| Name | Vendor | Model | Category | GitHub stars | License | Written in | Query languages | Rank |
|---|---|---|---|---|---|---|---|---|
| Atomic Server | Ontola | Other | Emerging | 1.6k | MIT | Rust | Custom API | #16 |
| Raphtory | Pometry | Property Graph | Emerging | 647 | GPL-3.0 | Rust | GraphQL | #24 |
| Grafeo | GrafeoDB | Multiple | Emerging | 798 | Apache-2.0 | Rust | GQL, openCypher, SPARQL, Gremlin, GraphQL, SQL/PGQ | #52 |
| Lance Graph | LanceDB Inc | Property Graph | Emerging | 181 | Apache-2.0 | Rust | SQL, openCypher | #56 |
| OmniGraph | ModernRelay | Property Graph | Emerging | 1.3k | MIT | Rust | Custom API | #59 |
| MemGQL | Memgraph | Multiple | Emerging | — | Proprietary | Rust | GQL | #100 |
| agdb | Agnesoft | Property Graph | Emerging | 143 | Apache-2.0 | Rust | Custom API | #107 |
| Data Graphs | Data Language | Multiple | Emerging | — | Proprietary | Rust | openCypher, GQL | #111 |
| froGQL | PLEIAD | Property Graph | Emerging | 11 | MIT | Rust | GQL | #118 |
| GraphLite | DeepGraph AI | Property Graph | Emerging | 233 | Apache-2.0 | Rust | GQL | #121 |
| KGLite | Kristian dF Kollsgård | Property Graph | Emerging | 50 | MIT | Rust | openCypher, Custom API | #126 |
| Minigraf | — | Other | Emerging | 118 | MIT OR Apache-2.0 | Rust | Datalog | #127 |
| TribleSpace | — | Other | Emerging | 71 | MIT OR Apache-2.0 | Rust | Custom API | #131 |
| pgGraph | Evokoa | Property Graph | Emerging | 1.1k | Apache-2.0 | Rust | SQL | #136 |
| Grust | QueryGraph | Property Graph | Emerging | 26 | Apache-2.0 | Rust | Custom API | #139 |
| AstraeaDB | AstraeaDB | Property Graph | Emerging | 6 | MIT | Rust | GQL, Cypher | #141 |
| OxiRS | — | RDF | Emerging | 96 | Apache-2.0 | Rust | SPARQL | #144 |
| oxilite | Volodymyr Pavlyshyn | RDF | Emerging | 52 | MIT OR Apache-2.0 | Rust | SPARQL, openCypher | #151 |
| LoraDB | LoraDB | Property Graph | Emerging | 20 | BUSL-1.1 | Rust | Cypher | #152 |
| selene-db | Justin Scott | Property Graph | Emerging | 4 | MIT OR Apache-2.0 | Rust | GQL | #153 |
| StromaDB | Katsuhide Tsuruta | Property Graph | Emerging | 2 | Elastic-2.0 | Rust | Custom API | #155 |
| 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.