Skip to main content

Module storage

Module storage 

Source
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§

MemoryBackend
In-memory backend. Satisfies Backend without writing to disk; useful for tests and for embedders that want a fully-volatile vector cache.
TableSchema
Per-table schema.
TableStats
Snapshot statistics for a table.
VectorRow
A persisted vector row.
VectorStore
Per-table store front.

Enums§

StoreError
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.