Practical overview
When it fits
Consider Skeg when SSD-backed vector storage and lower RAM use are important for a self-hosted retrieval backend, especially where vector and key-value workloads can share one process.
Who it is for
- Teams building retrieval-augmented generation systems that need a vector index beside an answering model.
- Developers who want vector search and Redis-protocol key-value operations in one server process.
- Operators managing separate tenant indexes or vector collections larger than available RAM.
Documented uses
- Store and retrieve vectors for similarity search without keeping the full corpus in RAM.
- Serve key-value commands and vector operations through one Redis-protocol service.
- Create tenant-specific vector indexes and search within the selected index.
- Apply payload filters using ranges, sets and boolean composition.
Requirements & limits
The public repository identifies Skeg as open source under the Apache-2.0 license. The README documents a Docker deployment path and Redis-protocol access.
- Full vectors remain on SSD; the RAM-resident working set is quantized, with shortlisted candidates reranked from disk at full precision.
- The Redis protocol supports existing Redis clients for key-value commands, while vector search uses Skeg-specific SKEG.* commands.
- The documented index tiers range from exact f32 to lower-bit representations, allowing different choices per index.
- The project reports single-process throughput near 780 QPS at 1024 dimensions and notes that initial bulk loading is more costly than subsequent writes.
- The Docker example requires an explicit bind address of 0.0.0.0:6379 to make the service reachable outside its container.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Start Skeg in Docker and connect with a Redis client
Launch the documented container configuration and issue a key-value command.
Before you start
- Docker
- A Redis client supporting RESP3, such as redis-cli
Steps
Run the README's Docker command with port 6379 published, a persistent skeg-data volume mounted at /var/lib/skeg, the skeg-resp3 entrypoint, and --addr 0.0.0.0:6379.
Connect with a Redis client using RESP3 and issue a documented key-value command such as SET greeting "hello".
Expected outcome
A running Skeg container reachable through the published Redis port, with the documented key-value command returning a response.
Guide limitations
- The guide covers container startup and a key-value operation, not a production deployment or a complete application setup.
- The server address flag is required in this container example because the binary's default loopback address is reachable only inside the container.
Create a disk-backed vector index and search it
Use the README's Python example to create a vector index, add sample vectors and request nearest-neighbor results.
Before you start
- A running Skeg server
- Python and the redis package
- A RESP3 Redis client connection
Steps
Connect with redis.Redis(protocol=3) and encode vector values as raw little-endian f32 using Python's struct module.
Issue SKEG.VINDEX.CREATE for an index with the documented dimension, tq2 quantization tier and disk graph.
Add vectors with SKEG.VSET, then request results with SKEG.VSEARCH.
Expected outcome
The documented example returns identifiers and similarity scores for the requested vector search.
Guide limitations
- The example uses four-dimensional sample vectors and demonstrates a specific tq2/disk configuration; it does not establish performance for other workloads.
- The guide reflects the README example and is not a compatibility guarantee or an independently executed test.
Compare options for Vector search
These projects document a common task and share a project role. This is a source-based comparison, not an execution benchmark or a guarantee of interchangeability.
| Project | Documented purpose | Platform | Access and requirements |
|---|---|---|---|
| Skeg | Store and retrieve vectors for similarity search without keeping the full corpus in RAM. | Docker, Self-hosted, Server | The public repository identifies Skeg as open source under the Apache-2.0 license. The README documents a Docker deployment path and Redis-protocol access. |
| Mettis | Index text documents through an HTTP endpoint. | Linux, Self-hosted, Server |
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 15 October 2026
- Original website title
- skegdb/skeg · Official homepage title · retained in its source language

