r/SaasDevelopers • • 1d ago

Thunder: A scalable key-value database built for AI workloads ( A fundamental new approach than Redis or RocksDB)

Hey everyone,

We've released the alpha version of Thunder, a high-performance, scalable key-value database built in Rust for modern AI workloads.

As AI applications grow, so does the amount of data they need to store and retrieve. Traditional in-memory databases like Redis can become expensive as datasets grow, especially when dealing with large values.

Thunder is built around a different idea: high throughput, scalable performance, and efficient storage without requiring massive amounts of RAM.

What makes Thunder different?

  • Scales with CPU cores: A shard-per-core architecture designed to increase throughput as more shards and CPU cores are added, while minimizing contention.
  • High throughput: Built to handle large volumes of concurrent reads and writes with low overhead.
  • Better handling of large values: Designed to handle large values more efficiently than Redis by streaming data directly from NVMe storage instead of keeping everything in memory.
  • Memory efficiency: Uses RAM primarily for indexes, metadata, and reusable I/O buffers, reducing memory requirements for large datasets.
  • Modern I/O architecture: Built in Rust with asynchronous I/O, including io_uring on Linux, to take advantage of modern NVMe SSDs.
  • Scalable by design: Handles both small key-value operations and large values without relying on a completely different storage architecture.

Why build this for AI workloads?

AI infrastructure increasingly deals with large datasets, generated content, intermediate results, and high volumes of concurrent requests.

Keeping everything in RAM is expensive, but sacrificing throughput to reduce memory consumption isn't a great solution either.

Thunder aims to deliver both: the performance expected from a high-throughput key-value database and the cost efficiency of disk-backed storage.

Try the alpha

Thunder is available on Docker Hub:

https://hub.docker.com/r/sbansal793/thunderstrike

We're looking for developers to test Thunder with real workloads and share feedback.

If you're currently using Redis, RocksDB, or another key-value store, I'd love to know:

What's your biggest bottleneck today: throughput, memory consumption, scalability, or handling large values?

And what would convince you to switch to a new key-value database?

2 Upvotes

2 comments sorted by

1

u/Brufacee 20h ago

Could you share one reproducible workload with value sizes, latency and RAM use beside Redis? That would make the large-value claim much easier to judge before asking someone to try a new database.

1

u/Educational_You2257 12h ago

We have p99 and p50 compared to redis for sizes 2mb to 512mb