OpenViSTAI · Agents · Blockchain · Crypto
Menu
RAG & Knowledge Systems

Skeg

Skeg is a self-hosted vector database and key-value store that speaks the Redis protocol. It keeps full vectors on SSD and a quantized working set in RAM, supports tenant-specific indexes, and exposes vector operations through SKEG.* commands.

Independent OpenViST project profile, based on linked sources.

Skeg — OpenViST project profile in RAG & Knowledge Systems.
OpenViST project illustration. See the linked sources for product details.
Understand the project

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.
Before you choose

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.

Source-based practical guide

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

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

  2. 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.
Source-based practical guide

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

  1. Connect with redis.Redis(protocol=3) and encode vector values as raw little-endian f32 using Python's struct module.

  2. Issue SKEG.VINDEX.CREATE for an index with the documented dimension, tq2 quantization tier and disk graph.

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

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.

ProjectDocumented purposePlatformAccess and requirements
SkegStore and retrieve vectors for similarity search without keeping the full corpus in RAM.Docker, Self-hosted, ServerThe public repository identifies Skeg as open source under the Apache-2.0 license. The README documents a Docker deployment path and Redis-protocol access.
MettisIndex text documents through an HTTP endpoint.Linux, Self-hosted, Server
Evidence and transparency

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