
HelixDB: an open-source graph-vector database written in Rust built for RAG and AI applications.
HelixDB is a high-performance graph-vector database designed with a focus on developer experience and performance. Built in Rust and powered by LMDB as its storage engine, it combines the reliability of a proven storage layer with modern features tailored for AI and vector-based applications.
We are currently using LMDB via Heed3, a rust wrapper built by the amazing team over at Meilisearch.
- Fast & Efficient: Built for performance we're currently 1000x faster than Neo4j, 100x faster than TigerGraph and on par with Qdrant for vectors.
- RAG-First: Native support for graph and vector data types, making it ideal for RAG (Retrieval Augmented Generation) and AI applications
- Graph-Vector: Easiest database for storing relationships between nodes, vectors, or nodes AND vectors.
- Reliable Storage: Powered by LMDB (Lightning Memory-Mapped Database) for robust and efficient data persistence
- ACID Compliant: Ensures data integrity and consistency
The Helix CLI tool can be used to check, compile and deploy Helix locally.
-
Install CLI
curl -sSL "https://install.helix-db.com" | bash
-
Install Helix
helix install
-
Setup
helix init --path <path-to-project>
-
Write queries
Open your newly created
.hx
files and start writing your schema and queries. Head over to our docs for more information about writing queriesQUERY addUser(name: String, age: Integer) => user <- AddN<User({name: name, age: age}) RETURN user QUERY getUser(user_name: String) => user <- N<User::WHERE(_::{name}::EQ(user_name)) RETURN user
-
Check your queries compile before building them into API endpoints (optional)
# in ./<path-to-project> helix check
-
Deploy your queries
# in ./<path-to-project> helix deploy --local
-
Start calling them using our TypeScript SDK or Python SDK. For example:
import HelixDB from "helix-ts"; // Create a new HelixDB client // The default port is 6969 const client = new HelixDB(); // Query the database await client.query("addUser", { name: "John", age: 20 }); // Get the created user const user = await client.query("getUser", { user_name: "John" }); console.log(user);
Other commands:
helix instances
to see all your local instances.helix stop <instance-id>
to stop your local instance with specified id.helix stop --all
to stop all your local instances.
Our current focus areas include:
- Expanding vector data type capabilities for RAG applications
- Enhancing the query language with more robust type checking
- Implementing a test suite to enable end-to-end testing of queries before deployment
- Building a Deterministic Simulation Testing engine enabling us to robustly iterate faster
- Binary quantisation for even better performance
Long term projects:
- In-house graph-vector storage engine (to replace LMDB)
- In-house network protocol & serdes libraries (similar to protobufs/gRPC)
HelixDB is licensed under the The AGPL (Affero General Public License).
HelixDB is available as a managed service for selected users, if you're interested in using Helix's managed service or want enterprise support, contact us for more information and deployment options.