asopi tech
asopi techIndie Developer

Asopitech VS

sqlite-vec vs Alopex DB

sqlite-vec, the SQLite vector search extension: vec0 virtual tables, metadata columns, and partition keys. Also explains how it differs from Alopex DB.

Updated: Oct 12, 2026

What sqlite-vec is

sqlite-vec is an extension that adds vector search to SQLite. It is written in pure C with no dependencies and runs anywhere SQLite runs. It is the successor to sqlite-vss.

How it works

  • vec0 virtual tables: float, int8, and binary vectors are stored and queried in vec0 virtual tables.
  • KNN search: match and k conditions on a vector column find the nearest vectors.
  • Non-vector columns: tables can have metadata, auxiliary, and partition key columns. Metadata column conditions filter inside a KNN query.
  • Partition keys: the vector index is sharded internally by key, and an = condition limits the search to one shard.

Main features

Packages exist for Python, Node.js, Ruby, Go, and Rust, and it also runs in the browser with WASM.

Limits

  • sqlite-vec is pre-v1 and has breaking changes.
  • A vec0 table can have at most 16 metadata columns. UNIQUE and NOT NULL constraints are not supported.
  • Metadata conditions in a KNN query support only comparison operators. IS NULL, LIKE, GLOB, REGEXP, or functions give an error or incorrect results.
  • Auxiliary columns cannot appear in the WHERE clause of a KNN query.
  • Careless use of partition keys causes oversharding and slow KNN queries.

How it differs from Alopex DB

Both give SQL and vector search inside a database embedded in the application.

Alopex DB has a vector type and HNSW indexes in the core. Table rows and vectors are updated in the same transaction, and data lives in a single .alopex file.

Alopex DB ships with a vector type and HNSW indexes, so vector search starts without an extension. Compare for yourself in the quickstart.

References