Show HN: Helixdb – Open-source vector-graph database for AI applications (Rust)

4 hours ago 1

HelixDB Logo

HelixDB is a Rust written, open-source, graph-vector database 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.

  1. Install CLI

    curl -sSL "https://install.helix-db.com" | bash
  2. Install Helix

  3. Setup

    helix init --path <path-to-project>
  4. 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 queries

    QUERY 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
  5. Check your queries compile before building them into API endpoints (optional)

    # in ./<path-to-project> helix check
  6. Deploy your queries

    # in ./<path-to-project> helix deploy --local
  7. 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.
  • helix start <instance-id> to start your local instance with specific id.

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.

Read Entire Article