Skip to main content

Kora

A multi-threaded, embeddable, memory-safe cache engine built on a shared-nothing, shard-affinity architecture. Kora speaks RESP2 on the wire, making it compatible with all Redis clients, while offering advanced features like JSON document databases, HNSW vector search, and change data capture.

Key Features

Multi-threaded Architecture

Shard-affinity I/O with each worker owning both data and connections. Scales linearly with CPU cores.

RESP2 Protocol

Wire-compatible with Redis. Use redis-cli, Jedis, ioredis, or any Redis client out of the box.

Document Database

JSON-native storage with secondary indexes, WHERE queries, and SQL-like operators.

Vector Search

HNSW approximate nearest neighbor search with cosine, L2, and inner product metrics.

Change Data Capture

Per-shard ring buffers with cursor-based subscriptions and gap detection.

Persistence Layer

WAL and RDB snapshots with CRC verification and LZ4-compressed cold-tier storage.

Pub/Sub Messaging

SUBSCRIBE, PSUBSCRIBE, and PUBLISH with glob pattern matching.

Embeddable Library

Same multi-threaded engine runs in-process with zero network overhead.

Quick Start

1

Build from Source

Clone the repository and build with Cargo:
git clone https://github.com/Augani/Kora.git
cd kora
cargo build --release
2

Start the Server

Launch Kora with your desired configuration:
./target/release/kora-cli --port 6379 --workers 4
3

Connect with Redis CLI

Use any Redis client to connect:
redis-cli -p 6379
127.0.0.1:6379> SET greeting "hello world"
OK
127.0.0.1:6379> GET greeting
"hello world"

Performance

Benchmarked on AWS m5.xlarge (4 vCPU, 16GB RAM) with memtier_benchmark and 200 clients:
  • +66% throughput vs Redis on SET/GET workloads
  • +51% throughput vs Redis on pipelined operations
  • Sub-millisecond p50 latency across all workloads
See Performance for detailed benchmarks.

Use Cases

High-Performance Cache

Drop-in Redis replacement with multi-threaded performance and linear scaling.

Semantic Search

HNSW vector index for embedding-based similarity search and RAG applications.

Real-time Analytics

Document database with secondary indexes for fast filtering and aggregation.

Event Streaming

Change data capture for building event-driven architectures and data pipelines.

Learn More

Architecture

Understand the shard-affinity design

Configuration

Configure Kora for your workload

API Reference

Explore all available commands

Build docs developers (and LLMs) love