Community edition · v0.2.0-beta.5

Vector search, folded into one binary.

HouyiDB is a single-node, memory-first vector database written in Rust: one binary serves pgwire, HTTP, and an OpenAI-compatible embedding gateway.

Single node Memory-first Rust Apache-2.0

The first two figures are local engineering measurements from a single machine and a single run; machine, version, and parameters are on the performance page. They are not a lab benchmark and must not be combined into a total score.

Why / 01

Three things we refuse to trade away.

Vector database work is a tug of war between writes, reads, and operations. HouyiDB keeps all three inside a single-node boundary and solves them with as few components as possible.

01

Writes never stall reads.

HotBuffer absorbs live writes while Async-Builder merges the graph in the background. plan/apply does planning under a read lock and commits under a short write lock, so queries can keep reading the graph while it is being built.

  • Streaming self-test50% stage serial queries 104s → 3.9s; p99 1.72s → 21ms
  • Write pathHotBuffer + Async-Builder
  • Rollback switchHOUYI_HNSW_PLAN_APPLY=0
02

One dataset, three front doors.

HTTP JSON for service integration, pgwire for psql and PostgreSQL clients, and an OpenAI-compatible gateway that streams embedding upstreams into the same collection.

  • HTTP/v1/collections · OpenAPI
  • pgwiretext / binary · SQL hybrid search
  • Embedding/v1/embeddings · bring your upstream
03

Keep the complexity on one machine.

Written in Rust and shipped as one binary. PAX row-column storage pairs with bitset pruning; WAL and graph snapshots cover cold-start recovery. Failover is a manual promote: no auto-election, no shard layer.

  • StoragePAX · 64B alignment · WAL + snapshots
  • DeployBinary / Docker / Helm
  • BoundarySingle node · manual HA · no sharding

Quickstart / 02

Sixty seconds to your first search.

Docker required; alternatively Rust 1.87+ or the macOS prebuilt package. The first image build takes about 5–15 minutes; once it is ready, the three steps below run in under a minute.

Terminal / quickstart bash
# 1 · Start: HTTP :7000 / pgwire :5432
git clone https://github.com/houyidb-community/houyidb.git
cd houyidb
docker compose up -d
curl -sS --noproxy '*' http://127.0.0.1:7000/v1/health
# {"status":"ok"}

# 2 · Upsert (the collection is created on first write; dimensions follow the batch)
curl -sS --noproxy '*' -X POST \
  http://127.0.0.1:7000/v1/collections/goods/upsert \
  -H 'Content-Type: application/json' -d '{
  "vectors": [
    {"id":1,"values":[0.92,0.88,0.06,0.05,0.05,0.04,0.05,0.05],"label":"fruit","payload":{"name":"apple"}},
    {"id":2,"values":[0.05,0.04,0.92,0.90,0.06,0.05,0.05,0.04],"label":"electronics","payload":{"name":"laptop"}},
    {"id":3,"values":[0.04,0.05,0.05,0.06,0.90,0.92,0.05,0.04],"label":"book","payload":{"name":"rust-book"}}
  ]}'
# {"inserted":3}

# 3 · Search
curl -sS --noproxy '*' -X POST \
  http://127.0.0.1:7000/v1/collections/goods/search \
  -H 'Content-Type: application/json' \
  -d '{"vector":[0.90,0.85,0.05,0.05,0.05,0.05,0.05,0.05],"k":3}'
# {"ids":[...],"scores":[...]}

Capabilities / 03

A capability list with honest status.

Matched to the v0.2.0-beta.5 source tree. Beta means beta: the roadmap is not presented as shipped, and single-node features are not sold as a cluster.

HouyiDB v0.2.0-beta.5 capabilities and status
DomainCapabilityStatus
Search & writes
SearchHNSW graph index + SIMD distance kernels (NEON; AVX behind a feature flag)Beta
SearchScalar filtering and hybrid search (label inverted index + bitset pruning)Beta
SearchMultiple index backends: Clustered / PQ / HII-L0Beta
WritesHotBuffer + Async-Builder dual-speed writesBeta
Durability / interfaces / ecosystem
DurabilityWAL + graph snapshots + cold-start recoveryBeta
InterfacesHTTP JSON API and OpenAPIBeta
Interfacespgwire (text / binary) and SQL hybrid searchBeta
EmbeddingOpenAI-compatible /v1/embeddings gateway (bring your upstream)Beta
EcosystemSix-language SDKs + LangChain / LlamaIndex adaptersBeta
Operations & deployment
OperationsPrometheus metrics; RBAC, audit, encryption at rest, tenant quotasBeta
DeploymentSingle binary / Docker Compose / HelmBeta
DeploymentLeader / follower replication with manual promoteBeta
Roadmap
RoadmapHII L1 (GPU CAGRA) and L2 (NVMe DiskANN)Preview
RoadmapMCP serverPlanned

Status describes the v0.2.0-beta.5 source tree. APIs and storage formats may still change during beta; the community edition does not shard and does not offer automatic leader election. See the server manual and deployment guide.

SDK / 04

Six languages, one stable_id.

Clients cover common backends and data stacks. String ids map to u64 through BLAKE2b-8, so the same string produces the same value in every SDK; deletes and replays work across languages.

stable_id: BLAKE2b-8 big-endian & 2^63−1, aligned with the server gateway; the same string id maps to the same u64 in any language.

Status / 05

Beta, with its edges spelled out.

v0.2.0-beta.5 is a developer preview: suitable for feature validation, performance trials, and integration proofs. APIs, storage formats, and performance knobs may still change; validate, size, and rehearse recovery before putting critical production data on it.

  • Single nodeReplication is manual leader / follower promote. No automatic election, no sharding.
  • API stabilityDuring beta, the published docs define the interface; breaking changes land in the CHANGELOG.
  • ProductionSet --wal-path explicitly, include it in backups, and rehearse cold-start recovery.

GitHub / 06

Code, protocol, and docs live on GitHub.

Community edition under Apache-2.0 · external contributions require a CLA · report vulnerabilities privately
LICENSE · SECURITY · TRADEMARK