Expand description
Vector row storage.
VectorStore persists VectorRow records keyed by
(table, row_key) and maintains a per-table HNSW index for
ANN search. The MVP ships a [MemoryStore] backend that
satisfies the Backend trait without external dependencies;
a Noxu-backed implementation lives behind the optional noxu
feature in [crate::storage::noxu_backend].
Layout:
- Per [
VectorTable] there is one HNSW index, one map of live rows, and one tombstone counter. - Inserts update both the row map and the index in lockstep.
- Deletes soft-delete the index node and remove the row.
Concurrency: every public method takes the table’s Mutex so
the index and row map stay in sync without a more elaborate
transaction shape.
Structs§
- Memory
Backend - In-memory backend. Satisfies
Backendwithout writing to disk; useful for tests and for embedders that want a fully-volatile vector cache. - Table
Schema - Per-table schema.
- Table
Stats - Snapshot statistics for a table.
- Vector
Row - A persisted vector row.
- Vector
Store - Per-table store front.
Enums§
- Index
Algorithm - ANN index algorithm selector.
- Store
Error - Errors returned by
VectorStore.
Traits§
- Backend
- Storage backend trait.
Type Aliases§
- RowKey
- Bucket key: an opaque byte string supplied by the client.
- RowVisitor
- Callback type used by
Backend::for_each_row.