Rust graph databases compared
Graph databases implemented in Rust.
23 active rust graph databases are in the catalogue. They are written mostly in Rust, 21 are open source, and 4 carry survey feature scores.
| Attribute | | | | | | |
|---|---|---|---|---|---|---|
| At a glance | ||||||
| Rank | #6 | #14 | #15 | #26 | #31 | #103 |
| Score | 63.5 | 60.1 | 60.0 | 55.7 | 55.0 | 35.3 |
| GitHub stars | 4.4k | 32.8k | 5.7k | 1.8k | 441 | 180 |
| Popularity | 71.5 | 65.3 | 65.8 | 66.5 | 53.8 | 38.2 |
| Activity | 75.7 | 71.8 | 74.0 | 65.1 | 81.9 | 50.9 |
| Community | 65.9 | 61.0 | 59.3 | 37.6 | 35.8 | 57.0 |
| Research | 50.4 | 50.4 | 50.4 | 63.9 | 52.0 | 50.4 |
| 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 | 2025-02 | 2020-08 | 2018 | 2026-03 |
| Status | active | active | active | active | active | active |
| License | MPL-2.0 | BSL-1.1 | AGPL-3.0 | Apache-2.0 OR MIT | EPL-2.0 | 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 23 engines
| Name | Vendor | Model | Category | GitHub stars | License | Written in | Query languages | Rank |
|---|---|---|---|---|---|---|---|---|
| Raphtory | Pometry | Property Graph | Emerging | 631 | GPL-3.0 | Rust | GraphQL | #30 |
| Atomic Server | Ontola | Other | Emerging | 1.6k | MIT | Rust | Custom API | #32 |
| Lance Graph | LanceDB Inc | Property Graph | Emerging | 166 | Apache-2.0 | Rust | SQL, openCypher | #56 |
| Grafeo | GrafeoDB | Multiple | Emerging | 722 | Apache-2.0 | Rust | GQL, openCypher, SPARQL, Gremlin, GraphQL, SQL/PGQ | #80 |
| Data Graphs | Data Language | Multiple | Emerging | — | Proprietary | Rust | openCypher, GQL | #98 |
| agdb | Agnesoft | Property Graph | Emerging | 137 | Apache-2.0 | Rust | Custom API | #112 |
| OmniGraph | ModernRelay | Property Graph | Emerging | 1k | MIT | Rust | Custom API | #113 |
| GraphLite | DeepGraph AI | Property Graph | Emerging | 228 | Apache-2.0 | Rust | GQL | #115 |
| froGQL | PLEIAD | Property Graph | Emerging | 7 | MIT | Rust | GQL | #118 |
| TribleSpace | — | Other | Emerging | 69 | MIT OR Apache-2.0 | Rust | Custom API | #121 |
| KGLite | Kristian dF Kollsgård | Property Graph | Emerging | 34 | MIT | Rust | openCypher, Custom API | #125 |
| pgGraph | Evokoa | Property Graph | Emerging | 777 | Apache-2.0 | Rust | SQL | #128 |
| Minigraf | — | Other | Emerging | 28 | MIT OR Apache-2.0 | Rust | Datalog | #129 |
| OxiRS | — | RDF | Emerging | 74 | Apache-2.0 | Rust | SPARQL | #134 |
| Grust | QueryGraph | Property Graph | Emerging | 19 | Apache-2.0 | Rust | Custom API | #141 |
| StromaDB | Katsuhide Tsuruta | Property Graph | Emerging | 3 | Elastic-2.0 | Rust | Custom API | #143 |
| Traverse | Truespar | Property Graph | Emerging | — | Proprietary | Rust | openCypher, GQL | — |