Open Source • Built with Go • Experimental Database Project

ThermalKV

Persistent key-value storage with TTL, background snapshotting, automatic cooling, and a simple TCP client-server architecture.

$ thermalkv-client

> SET greet Welcome to ThermalKV
OK :)

> GET greet
Welcome to ThermalKV

> TTL greet 9999999
OK :)

What is ThermalKV?

ThermalKV is an in-memory database that extends beyond RAM. Hot data stays in memory for maximum performance, while cooling data is transparently moved to SSD storage, keeping memory usage low without sacrificing fast access.

Think of it as a cache that doesn't immediately forget. Instead of evicting data when memory gets tight, ThermalKV lets data cool down and return when needed.

Read the story behind ThermalKV...

Everything you need. Nothing you don't.

ThermalKV combines in-memory performance, persistent storage, automatic cooling, and a simple TCP client-server architecture.

TCP Server

Dedicated server process with lightweight client connectivity.

Automatic Cooling

Move inactive data to SSD-backed storage to reduce RAM usage.

TTL Expiration

Heap-based expiration scheduling for automatic key cleanup.

Snapshotting

Background snapshots provide persistence and recovery.

Persistent Storage

Keep data available across restarts and crashes.

Fast Lookup

Memory references allow efficient access to cooled data.

Interactive Commands

SET, GET, TTL, COOL, COUNT, KEYS, INFO and more.

Lightweight

Simple deployment with minimal operational overhead.

Built around a simple idea.

Keep frequently accessed data fast, cool inactive data efficiently, and persist everything in the background.

ThermalKV Architecture Diagram