Scylla Vector Store

April 29, 2026 ยท View on GitHub

This is an indexing service for ScyllaDB for vector searching functionality.

Configuration

All configuration of the Vector Store is done using environment variables. The service supports also .env files.

VariableDescriptionDefault
VECTOR_STORE_URIThe bind address and a listening port of HTTP(S) API127.0.0.1:6080
VECTOR_STORE_TLS_CERT_PATHPath to the TLS certificate file to enable HTTPS. Both certificate and key paths must be set.
VECTOR_STORE_TLS_KEY_PATHPath to the TLS private key file to enable HTTPS. Both certificate and key paths must be set.
VECTOR_STORE_SCYLLADB_URIThe connection endpoint to ScyllaDB server.127.0.0.1:9042
VECTOR_STORE_SCYLLADB_USERNAMEThe username for authenticating with ScyllaDB. If not set, authentication is disabled.
VECTOR_STORE_SCYLLADB_PASSWORD_FILEThe path to a file containing the password for ScyllaDB authentication.
VECTOR_STORE_SCYLLADB_CERTIFICATE_FILEThe path to a TLS certificate file for ScyllaDB authentication. Can be used alone or with username/password.
VECTOR_STORE_DISABLE_COLORSDisable ANSI colors in log output (true/false). Colors are also disabled when stdout is not a terminal.false
VECTOR_STORE_OPENSEARCH_URIA connection endpoint to an OpenSearch instance HTTP API. If not set, the service uses the USearch library for indexing.
VECTOR_STORE_THREADSHow many threads should be used for Vector Store indexing.(number of cores)
VECTOR_STORE_MEMORY_LIMITHow much available memory (in bytes) could be in use to allow allocation more memory for the index.avail mem - safety buffer
VECTOR_STORE_MEMORY_USAGE_CHECK_INTERVALHow frequently available memory should be checked. The value is in human readable value (ie. 100ms)1s
VECTOR_STORE_CQL_KEEPALIVE_INTERVALCQL Driver's keepalive interval. The value is in human readable value (ie. 30s)(driver default)
VECTOR_STORE_CQL_KEEPALIVE_TIMEOUTCQL Driver's keepalive timeout. The value is in human readable value (ie. 30s)(driver default)
VECTOR_STORE_CQL_TCP_KEEPALIVE_INTERVALCQL Driver's TCP keepalive interval. The value is in human readable value (ie. 20s)(driver default)
VECTOR_STORE_CQL_URI_TRANSLATION_MAPFor testing. Use specific translation map for cql cluster addresses. ({"ip_src:port": "ip_dst:port"}).
VECTOR_STORE_CDC_SAFETY_INTERVALWide-framed CDC reader's safety interval. The value is in human readable value (ie. 30s)30s
VECTOR_STORE_CDC_SLEEP_INTERVALWide-framed CDC reader's sleep interval. The value is in human readable value (ie. 10s)10s
VECTOR_STORE_CDC_FINE_SAFETY_INTERVALFine-grained CDC reader's safety interval for low-latency updates (ie. 100ms)100ms
VECTOR_STORE_CDC_FINE_SLEEP_INTERVALFine-grained CDC reader's sleep interval for low-latency updates (ie. 500ms)500ms
VECTOR_STORE_USEARCH_SIMULATOREnable simulator for USearch. Provides human readable delays for simulated operations (search:add-remove:reserve).
VECTOR_STORE_ALTER_INDEX_SIMULATOREnable simulator for missing ALTER INDEX. When enable indexes aren't deleted and their version is not checked.false

Development builds

You need to install Rust environment. To install all components run rustup install in the main directory of the repository.

Development workflow is similar to the typical Cargo development in Rust.

$ cargo b [-r]
$ cargo r [-r]

To install all cargo tools used in the CI:

$ scripts/install-cargo-tools

Subdirectories

  • scripts - helper scripts for development, release, deployment, and testing