FerresDB

High-performance Vector Search Engine built in Rust

Visit Website
February 9, 2026 News update

I’ve just released a series of fundamental improvements to FerresDB, focused on low-level performance and native integration with AI ecosystems.

What’s new:

🔌 Embedded MCP (Model Context Protocol): Native support via STDIO. It’s now possible to connect the database directly to Claude Desktop or Cursor IDE.

SIMD-Accelerated Kernels: Implementation of distance kernels (Euclidean/Dot Product) in Rust using AVX2 and SSE4.1 instructions, with runtime detection.

🔍 Native HNSW Pre-filtering: Metadata filtering integrated directly into graph traversal, ensuring precision and returning the exact requested limit.

🏢 Logical Namespaces: Native multitenancy support, allowing data from multiple clients to be isolated within the same physical collection efficiently.

📊 Real-time Analytics: Updated dashboard with time-series charts for P95 latency and ingestion throughput, plus a hardware acceleration indicator.

📦 Storage Optimization: Added Zstd compression for the WAL and support for binary snapshots via bincode for ultra-fast loading.

🔄 Auto-Reindex & TTL: New background worker for automatic index compaction and support for Time-to-Live data expiration.

The project continues to evolve as a lightweight and resilient solution for vector search infrastructure.

Comment

February 8, 2026 Building a high-performance Vector Database in Rust: My journey with FerresDB

For the past few months, I’ve been heads-down building FerresDB, a vector search engine designed for performance, reliability, and—most importantly—developer experience.

Why another vector database? Most options out there felt like "black boxes." You send a vector, you get a result, but you don't really see what's happening under the hood. I wanted to build something that combined the raw speed of Rust with a native visual experience.

The Tech Stack:

  • Core: Written in Rust for sub-millisecond search performance.

  • Algorithm: Using HNSW for efficient ANN (Approximate Nearest Neighbor) search.

  • Persistence: I implemented a Write-Ahead Log (WAL) and periodic snapshots to ensure data integrity and crash recovery.

  • Communication: REST APIs for simplicity, gRPC for low-latency production needs, and WebSockets for real-time monitoring.

  • The UI: A built-in Dashboard made with React/Tailwind to manage collections and test queries visually.

The "Indie" Challenge: Building a database from scratch is a massive undertaking. Ensuring thread-safety, atomic writes, and efficient memory management in Rust has been a steep but rewarding learning curve.

Current Status: The project is evolving daily. It’s already functional for development and testing (you can spin it up via Docker), and I’m preparing to make it fully open-source very soon.

3 Comments

  1. 1

    Really cool to see someone tackling the developer experience gap in vector databases. Most existing options feel like you're just throwing vectors into a void and hoping the results make sense. The built-in dashboard for visual query testing is a smart differentiator — when I'm evaluating infrastructure tools, being able to actually see what's happening under the hood saves hours of debugging. The Rust + HNSW combination should give you serious performance headroom too. Are you planning to offer a hosted/managed version eventually, or keeping it strictly self-hosted?

  2. 1

    Building a vector DB from scratch in Rust is no joke — the concurrency and memory safety challenges alone make this a serious technical undertaking. The HNSW + native pre-filtering combo is smart since most vector DBs treat filtering as an afterthought and just post-filter results, which kills precision at low k values.

    The MCP integration for Claude Desktop is a really interesting distribution angle too. That's where a lot of devs are spending time right now and having native vector search there could drive organic adoption.

    What's your target use case — more RAG/embedding search or real-time recommendation systems? The WAL + snapshot approach suggests you're optimizing for durability which leans more production/enterprise. Curious how it benchmarks against something like Qdrant on the HNSW search side.

  3. 1

    Congratulations on your launch. It looks impressive! What channels are you exploring to attract early users?

About

I started working on FerresDB because I noticed a significant gap in the vector database ecosystem. While there are powerful engines available, developers often have to choose between extreme performance.