LAVIK / OPEN SOURCE DATABASE

NVMe SSD-basedRedis-compatibledatabase.

Beyond in-memory throughput. Capacity at SSD prices.

Lavik delivers higher peak throughput than in-memory Redis and Valkey in published tests. Our capacity cost is just 1/20 of Redis.

Redis clients · RESP2 / RESP3 · Apache 2.0

01 / PERFORMANCE

Faster

than in-memory
Redis / Valkey

Published peak throughput
Peak throughput · requests / second
Lavik 0.2.0 SPDK1,156,956
p99.9 7.103 ms
Redis 8.10.2976,087
p99.9 7.039 ms
Valkey 9.1.2913,756
p99.9 7.743 ms

10M keys · 1 KiB values · 1,280 connections. Raw measured results; QPS rounded to whole operations.

Complete peak-throughput comparison
SystemGET QPSGET p99.9SET QPSSET p99.9
Lavik 0.2.0 SPDK1,156,9567.103 ms945,38410.175 ms
Redis 8.10.2976,0877.039 ms863,8607.391 ms
Valkey 9.1.2913,7567.743 ms793,8097.743 ms
LavikRedisValkey
Benchmark & cost assumptions SPDK · 2026-10-21

Lavik 0.2.0 SPDK vs Redis 8.10.2 and Valkey 9.1.2: 16 vCPUs / 8 physical cores, AMD EPYC 9V74, 128 GiB nominal RAM, six NVMe SSDs, 10 million 1 KiB values, pipeline 1, 30-second windows. Selected peaks use 1,280 connections; Redis uses 16 I/O threads, Valkey GET 16 / SET 8. Latency is p99.9 at the same point. All values come from the archived memtier JSON results. QPS is displayed to the nearest whole operation; p99.9 retains the recorded millisecond precision. Redis/Valkey disable AOF and automatic snapshots. Single-run results do not establish equivalent durability or an application SLA.

View raw measured results (CSV) ↗

For equal value capacity, a 20:1 DRAM/NVMe SSD price per GiB puts Lavik’s value-storage media cost at 5% of DRAM. Redis and Valkey use the same DRAM unit price. The model excludes index and runtime memory, replication, servers and operations. Enter your actual prices in the calculator. Cost methodology ↗

01 / THE STORAGE MODEL

Keep the Redis interface.
Grow beyond DRAM.

When your dataset grows, keeping every value in memory gets expensive. Lavik keeps a compact key index in DRAM and places values on NVMe SSD, so more data does not mean buying DRAM for every byte.

01

Familiar commands and clients

Use Redis data structures, RESP2/RESP3 clients, and familiar application patterns. Check the commands, client versions, and behaviors your application depends on.

Check compatibility ↗
02

20× lower value-capacity cost

At a 20:1 DRAM-to-NVMe SSD price per GiB, the same value capacity costs 5% as much. Index memory, replication, and shared server costs are additional. Use your prices in the calculator.

Calculate your capacity cost ↗
03

An engine built for NVMe

Workers process independent requests in parallel. Coroutines overlap I/O with other work. The Standard package includes SPDK storage support—the backend used in the headline benchmark.

Inside the request path ↗

CAPACITY, WITH MEASURED PERFORMANCE

A billion keys.
Values on NVMe SSD.

The published storage-tier experiment goes beyond the small in-memory comparison: one billion keys with 1 KiB values, on a host with 128 GiB nominal RAM.

Read the full storage-tier experiment ↗
1Bkeys × 1 KiB values
1,129,597peak GET requests / second
1.024 TBraw value payload

Lavik 0.2.0 SPDK · October 21, 2026 · peak GET at 1,280 connections · pipeline=1 · 60-second measurement. One server, six NVMe SSDs.

02 / A SIZING ILLUSTRATION

Imagine 300 nodes becoming 3.

For a cluster expanded to hold more data, higher capacity per node makes a smaller fleet worth evaluating. Start with your capacity needs—and keep your latency target in the acceptance criteria.

300Redis data nodes
3Lavik data nodes
Capacity illustration: 300 gray cubes and 3 green cubesAssumes usable value capacity rises from 32 GiB to 3,200 GiB per data node. This is not a measured migration result or a latency SLA.
Capacity illustration · not a measured migrationEach cube represents one hypothetical data node.
Illustrative Redis capacity300 × 32 GiB
Illustrative Lavik capacity3 × 3,200 GiB
Same aggregate value capacity9.38 TiB

Assumes 100× more usable value capacity per Lavik data node. This is capacity arithmetic, not a tested 300-to-3 migration or a recommended topology. The 100× node-count ratio is separate from the 20× capacity-price ratio. Size the DRAM index, CPU, network, replicas, control plane, recovery headroom, and failure domains for the actual deployment.

THE ACCEPTANCE TEST

Set the P99.99 SLA first.

Replay your key sizes, command mix, concurrency, expiration, and persistence settings. Measure tail latency under sustained load, replication, and failover before choosing the final node count.

Plan a Redis Cluster evaluation ↗

A practical path to a smaller fleet

Start with one capacity-heavy dataset. Load a representative copy with RedisShake, replay application traffic, and compare node count at the same retention and response-time targets. Keep headroom for replicas and recovery before cutting over.

Follow the RedisShake migration guide →

03 / THE AGENTIC WORKLOAD

Your next users
may be agents.

One account can drive many agents, each with its own profile, session context, and feature state. Keeping that expanding state addressable should not force every value into expensive memory.

Lavik gives these applications Redis-compatible key-value building blocks with NVMe SSD value capacity. Your application controls retention, access boundaries, and how agent state is represented.

A CAPACITY PLANNING EXAMPLE

1Maccounts×100agents / account=100Magent state records
1200
5.96 TiB

100× the baseline value capacity, at the same record size.

Assumes 1 million accounts and 64 KiB per state record. One record per account is 61.04 GiB. This is an adjustable planning scenario, not a forecast for every agent application. Index, replication, and runtime overhead are additional.

PROFILE / CONTEXT

Profiles that multiply

Store agent preferences, task context, and per-session state as application-defined keys and hashes.

Sessions & profiles ↗
ONLINE FEATURES

More entities. More features.

Serve feature records for people, agents, and application entities using familiar key-based reads and updates.

Online feature serving ↗
TOOLS / CACHE

Room for reusable results

Cache tool responses and intermediate results with application-chosen keys and TTLs. Evaluate hit rates, expiry load, and tail latency together.

Large application caches ↗

04 / OUR COMMITMENT

Open source.
Built in the open.

We are committed to building Lavik as an open-source project under Apache 2.0. Read the code, use it in your projects, and help shape what comes next.

Lavik 0.2.0 is available now. The code, benchmark procedures and architecture documents are public. Build with it, inspect how it works, and help us make it better.

EloqData-authored code: Apache 2.0. Third-party components retain their own licenses and notices.

05 / YOUR NEXT STEP

Put your workload
on Lavik.

Start small, verify compatibility, then measure the capacity and latency that matter to your application.

01 / INSTALL

Run your first node

Choose a binary, an APT package, Docker, or Docker Compose. Start with the versioned installation guide.

Download Lavik ↗
02 / VALIDATE

Bring your Redis client

Check tested client versions and command coverage, then exercise your application’s actual reads, writes, scripts, and expiry behavior.

Client compatibility ↗
03 / EVALUATE

Plan your migration

Rehearse the data transfer, replication, failure handling, and rollback path. Accept the new deployment against your workload and SLA.

Migrate from Redis ↗
Redis-compatible. NVMe SSD capacity. Apache 2.0.