kynetradb

One Rust binary: BM25 search + vector + KV + document + auth + files + realtime + agentic admin.

vs
Weaviate

Open-source vector database with hybrid search (BM25 + HNSW), modules, and GraphQL API.

Dimension kynetradb Weaviate
Full-text search BM25 (parallel, 1.07 ms @ 100k) BM25
Vector search Brute-force cosine (2.21 ms @ 100k, no HNSW yet) Weaviate uses HNSW which scales better past ~100k vectors HNSW
Auth Built-in — email+password, refresh tokens, OTP/magic-link, OAuth (Google/GitHub), anonymous, /auth/v1 Built-in
Row-Level Security Built-in — auth.uid() DSL, per-row enforcement, SELECT/INSERT/UPDATE/DELETE No
File storage Built-in — buckets, public/private, signed URLs, object RLS, local + S3-compatible None
Realtime WebSocket — postgres_changes (INSERT/UPDATE/DELETE), presence, broadcast; RLS-filtered None
Edge Functions Built-in — WASM /functions/v1, sandboxed, 10s timeout, SDK .invoke() No
TypeScript SDK @kynetra/client — supabase-js-compatible, from().select().eq() No official client SDK
KV lookups Yes (point lookup by ID) No
Document filter Yes (JSON predicates) Yes
LLM runtime Yes (Anthropic + OpenAI + Ollama) No
Outbound DB sync Yes (12 sinks: Postgres, DynamoDB, BQ, Firestore, CF, Mongo, Redis, Pinecone) No
Self-host Yes (single binary) Yes
Single binary Yes No
License Apache-2.0 BSD-3-Clause
Deploy targets 18 (1-click) 1 (1-click)
Free tier Yes — Apache-2.0, self-host free yes — Weaviate Cloud sandbox

When to pick Weaviate

The most feature-rich open-source vector DB: hybrid BM25+HNSW, multi-tenancy, generative modules. Operationally heavier than kynetra.

  • You need HNSW at scale past ~100k vectors — kynetradb uses brute-force today.
  • Your team is already invested in Weaviate's SDK and ecosystem.

When to pick kynetradb

  • You want Supabase's developer experience — the @kynetra/client TypeScript SDK, PostgREST REST API, GoTrue-shaped auth, RLS, realtime channels — running as a single binary on infra you own.
  • You need BM25 full-text + vector similarity search built in with no separate service and no CDC pipeline.
  • You want to deploy to 18 targets (including 5 Indian providers) from one Dockerfile.
  • You need outbound sync to 12 databases (Postgres, DynamoDB, BigQuery, Firestore, Cloudflare, MongoDB, Redis, Pinecone) with zero extra code.
  • You want an agentic admin with 10 typed LLM-driven actions and a persisted audit trail.
  • You want Apache-2.0 with a self-host path that doesn't require an ops team.
  • You want a single binary with no runtime dependencies — no container fleet to operate.

Upsert an embedding and query nearest neighbours. These are documentation-accurate shapes, not runnable end-to-end examples.

kynetradb
# kynetradb — upsert entity with embedding
curl -X POST https://your.host/v1/entities \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "kind": "product",
    "attrs": { "title": "Aurora Espresso" },
    "embedding": [0.1, 0.2, 0.3, 0.4]
  }'

# kynetradb — vector similarity query
curl -X POST https://your.host/v1/vector \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "vector": [0.1, 0.2, 0.3, 0.4],
    "top_k": 10
  }'
Weaviate
# Weaviate — REST API
# Upsert
curl -X POST http://localhost:8080/v1/objects \
  -H "Content-Type: application/json" \
  -d '{
    "class": "Product",
    "properties": { "title": "Aurora Espresso" },
    "vector": [0.1, 0.2, 0.3, 0.4]
  }'

# Query via GraphQL
curl -X POST http://localhost:8080/v1/graphql \
  -d '{"query": "{ Get { Product(nearVector: {vector: [0.1,0.2,0.3,0.4]}, limit: 10) { title } } }"}'