There is no best embedded vector database without a workload
A benchmark winner at one dimension, corpus size, recall target, and update rate can lose on another. More importantly, ANN speed says nothing about transactional consistency, metadata filters, recovery, packaging, or whether the source row and embedding can drift apart.
Write down the required embedding dimensions, corpus size, update frequency, filter selectivity, recall target, memory ceiling, platforms, and backup model before comparing engines.
What an embedded vector database like SQLite should provide
SQLite-like deployment usually means an in-process library, local files, no separately operated service, and an application-owned lifecycle. It does not guarantee SQL, SQLite syntax, a single file, cross-process concurrency, or SQLite extension compatibility.
| Option family | Best fit | Boundary to verify |
|---|---|---|
| SQLite plus a vector extension | Applications already centered on SQLite tables and tooling | Extension loading, supported platforms, index algorithm, transaction behavior, and backup compatibility |
| Arrow or columnar vector store | Local analytical datasets and batch-oriented retrieval | Write semantics, concurrent ownership, metadata updates, and recovery |
| ANN library | Applications that only need an index and will own persistence and metadata elsewhere | Synchronization between index, source rows, deletes, and backups |
| Hybrid operational database | Applications combining row writes, SQL, lexical retrieval, metadata filters, and vectors | Broader package surface and whether one-node ownership fits deployment |
Representative open-source options
sqlite-vec
sqlite-vec adds vector storage and search to SQLite through an extension. It is a natural evaluation baseline when the application already depends on SQLite and preserving that ecosystem is more important than adding a separate engine.
LanceDB and DuckDB VSS
LanceDB provides an embedded, Arrow-oriented vector database. DuckDB's VSS extension adds vector similarity search to an analytical SQL engine. Both deserve evaluation for local analytical or batch-heavy workloads; verify current persistence and extension constraints against the exact release you will ship.
USearch
USearch is an in-process similarity-search library rather than a complete operational database. That smaller contract is useful when the application already owns rows, transactions, filters, and durable synchronization.
MongrelDB
MongrelDB combines typed rows, JSON, DataFusion SQL, HNSW/DiskANN/IVF paths, sparse retrieval, exact substring constraints, and transactional metadata under one RowId model. It is not SQLite-compatible and should not replace SQLite when compatibility is the primary requirement.
Choose by failure mode, not feature count
| If this fails... | Prefer evaluating... |
|---|---|
| SQLite integration or migration compatibility | A maintained SQLite vector extension |
| Analytical scan and Arrow workflow | An Arrow/columnar vector store or analytical SQL extension |
| Index-only ANN latency | A focused ANN library |
| Atomic source-row and embedding updates | A database that owns both under one transaction model |
| Hybrid dense, sparse, literal, equality, and range retrieval | An engine with documented fusion and filter behavior |
| Independent scaling or many remote writers | A vector service rather than an embedded database |
Run a comparison that can disqualify a candidate
- Load representative vectors and metadata, including deletes and updates.
- Measure recall against brute-force ground truth at the required latency.
- Apply real metadata filters and record work before and after filtering.
- Restart during writes, reopen, and verify index/source consistency.
- Back up, restore, and compare returned RowIds and scores.
- Measure package size, memory, build failures, and startup time on every platform.
When MongrelDB belongs on the shortlist
Evaluate MongrelDB when a local application needs durable operational writes and vector retrieval in one engine, especially when queries also use sparse relevance, exact substring search, equality, ranges, or analytical SQL. Its ANN path is approximate and must be measured against your ground truth.
Do not choose it for SQLite API compatibility, browser-only deployment, managed global distribution, or a vector-only service that must scale independently. Those are different product boundaries.
MongrelDB Viewer
Inspect embeddings and ANN indexes, run searches, and test index maintenance against a disposable evaluation database.
Mongrel by VisorCraft
Use Mongrel when evaluation spans MongrelDB, SQLite, other database engines, terminals, containers, and APIs.