kynetradb
One Rust binary: BM25 search + vector + KV + document + auth + files + realtime + agentic admin.
vs
Cloudflare D1
SQLite at the edge via Cloudflare Workers — read replicas globally, zero server management.
Feature comparison
| Dimension | kynetradb | Cloudflare D1 |
|---|---|---|
| Full-text search | BM25 — reference catalogue | trigram |
| Vector search | Brute-force cosine evaluation | None |
| Auth | Preview scope | External |
| Row-Level Security | Preview scope | No |
| File storage | Preview scope | External (S3/GCS/etc.) |
| Realtime | Preview scope | None |
| Edge Functions | Preview scope | No |
| TypeScript SDK | Preview scope | No official client SDK |
| KV lookups | Preview scope | Yes |
| Document filter | Preview scope | Yes |
| LLM runtime | Preview scope | No |
| Outbound DB sync | Preview scope | No |
| Self-host | Preview scope | No (managed only) |
| Single binary | Preview scope | No |
| License | Preview terms — request a scoped evaluation | SaaS-only |
| Deploy targets | 19 target profiles | 0 listed target profiles |
| Free tier | Preview access by request | yes — 5 GB, 25M rows read/day |
When to pick Cloudflare D1
Genuinely global SQLite with zero cold starts for Workers. Write-path still routes through a single primary; kynetra ships an outbound D1 sink for mirroring.
- You need globally distributed SQLite reads with per-tenant database isolation.
- Your team is already invested in Cloudflare D1's SDK and ecosystem.
When to pick kynetradb
- You want a comparison-led conversation about BM25 full-text, vector evaluation, and data-plane trade-offs.
- You need a product-specific implementation scope rather than a generic migration claim.
- You want to assess 19 hosting target profiles, including 5 Indian providers.
- You want a scoped preview conversation about the data, deployment, and operating boundary.
- You need to run on your own infra — Cloudflare D1 is managed-only.
- You want a single binary with no runtime dependencies — no container fleet to operate.
Create a record — both APIs side by side
Insert a product record. These are documentation-accurate shapes, not runnable end-to-end examples.
kynetradb
// kynetradb — @kynetra/client TypeScript SDK
import { createClient } from '@kynetra/client'
const kdb = createClient('https://your.host', PUBLISHABLE_KEY)
const { data, error } = await kdb
.from('products')
.insert({ title: 'Aurora Espresso', vendor: 'Aurora', price: 2200 })
.select()Cloudflare D1
// Cloudflare D1 — Workers binding
const result = await env.DB.prepare(
'INSERT INTO products (title, vendor, price) VALUES (?, ?, ?)'
).bind('Aurora Espresso', 'Aurora', 2200).run();