72+ In-Memory Databases Ranked & Compared

Compare in-memory databases ranked by GitHub stars, latency, and real-time performance.

Last updated: April 14, 2026
60 databases
1Redis
Redis
73.8k+474 30d

In-memory data store used as a database, cache, message broker, and streaming engine

Key-Value·2009·RSALv2 / SSPLv1 / AGPLv3 (triple-licensed)·C
2Dragonfly
Dragonfly
30.3k+200 30d

Modern in-memory data store fully compatible with Redis and Memcached, delivering 25x more throughput

Key-Value·2022·BSL-1.1·C++
3Apache Flink
Apache Flink
25.9k+109 30d

Stateful stream processing framework for real-time and batch data at any scale

Streaming·2011·Apache-2.0·Java, Scala
4Typesense
Typesense
25.6k+207 30d

Fast, typo-tolerant open-source search engine with built-in vector and semantic search

Search·2016·GPL-3.0·C++
5Valkey
Valkey
25.4k+359 30d

Open-source high-performance key-value database forked from Redis, backed by the Linux Foundation

Key-Value·2024·BSD-3-Clause·C
6SpacetimeDB
SpacetimeDB
24.5k+1.3k 30d

Relational database that is also a server, running application logic inside the database with real-time client sync

Relational·2023·BSL-1.1·Rust
7Sonic
Sonic
21.2k+35 30d

Fast, lightweight, and schema-less search backend that runs on a few MBs of RAM

Search·2019·MPL-2.0·Rust
8MMKV
MMKV
18.5k+43 30d

Ultra-fast mobile key-value storage powered by mmap and protobuf, built by WeChat

Key-Value·2018·BSD-3-Clause·C++
9Turso
Turso
18.2k+498 30d

In-process SQL database compatible with SQLite, written in Rust with vector search and CDC support

Embedded·2024·MIT·Rust
10Memcached
Memcached
14.2k+32 30d

High-performance distributed memory caching system for speeding up dynamic web applications

Key-Value·2003·BSD-3-Clause·C
11KeyDB
KeyDB
12.5k+21 30d

Multithreaded Redis fork with higher throughput and active replication

Key-Value·2019·BSD-3-Clause·C++, C
12Mnesia
Mnesia
12.1k+44 30d

Distributed real-time database management system built into Erlang/OTP for telecom-grade fault tolerance

Key-Value·1999·Apache-2.0·Erlang
13DiceDB
DiceDB
10.7k+33 30d

Redis-compatible key-value engine with query subscriptions and hierarchical storage tiers

Key-Value·2023·BSD-3-Clause·C
14go-cache
go-cache
8.8k+15 30d

Lightweight in-memory key-value cache for Go with expiration and cleanup

Key-Value·2012·MIT·Go
15AlaSQL
AlaSQL
7.3k+9 30d

Lightweight JavaScript SQL database for browser and Node.js with Excel and JSON support

Embedded·2014·MIT·JavaScript
16Vespa
Vespa
6.9k+49 30d

Open-source big data serving engine combining search, recommendation, and real-time AI at scale

Search·2017·Apache-2.0·Java, C++
17LokiJS
LokiJS
6.8k+2 30d

Super fast in-memory JavaScript document-oriented database for browser and Node.js

Document·2013·MIT·JavaScript
18Hazelcast
Hazelcast
6.6k−11 30d

Unified real-time data platform combining in-memory data grid with stream processing

Key-Value·2008·Apache-2.0·Java
19Apache Ignite
Apache Ignite
5.1k+12 30d

Distributed in-memory database with ACID transactions, SQL, and compute capabilities

Multi-Model·2015·Apache-2.0·Java, C++, C#
20BuntDB
BuntDB
4.8k+1 30d

Embeddable in-memory key-value database for Go with custom indexing and geospatial support

Embedded·2016·MIT·Go
21FalkorDB
FalkorDB
3.9k+214 30d

Ultra-fast in-memory graph database using GraphBLAS, optimized for GraphRAG and knowledge graphs

Graph·2023·SSPL-1.0·C
22Memgraph
Memgraph
3.9k+107 30d

In-memory graph database tuned for dynamic analytics environments with real-time performance

Graph·2018·BSL-1.1·C++
23Tarantool
Tarantool
3.6k+1 30d

In-memory computing platform combining a database and Lua application server for extreme performance

Multi-Model·2010·BSD-2-Clause·C, Lua
24Netflix Atlas
Netflix Atlas
3.5k+8 30d

In-memory dimensional time-series database built for operational metrics at Netflix scale

Time-Series·2014·Apache-2.0·Scala, Java
25Olric
Olric
3.4k+9 30d

Distributed, in-memory key/value store and cache with Redis-compatible protocol support

Key-Value·2018·Apache-2.0·Go
26AresDB
AresDB
3.1k0 30d

GPU-powered real-time analytics storage and query engine by Uber

Analytics·2019·Apache-2.0·Go, C++, CUDA
27HeavyDB
HeavyDB
3.1k+1 30d

GPU-accelerated SQL analytics engine for interactive exploration of massive datasets

Analytics·2017·Apache-2.0·C++, CUDA, Java
28Skytable
Skytable
2.7k+4 30d

Modern scalable NoSQL database written in Rust with BlueQL query language for performance and flexibility

Key-Value·2020·AGPL-3.0·Rust
29GridDB
GridDB
2.5k+7 30d

IoT-optimized time-series database with hybrid in-memory and disk storage from Toshiba

Time-Series·2013·AGPL-3.0·C++, Java
30Apache Geode
Apache Geode
2.4k+3 30d

In-memory data grid providing real-time, consistent access to data-intensive applications at massive scale

Key-Value·2015·Apache-2.0·Java
31TinkerGraph
TinkerGraph
2.1k+9 30d

Lightweight in-memory reference graph database from Apache TinkerPop with Gremlin support

Graph·2009·Apache-2.0·Java
32Ehcache
Ehcache
2.1k+1 30d

Widely-used open-source Java caching library with JCache compliance and distributed clustering via Terracotta

Key-Value·2003·Apache-2.0·Java
33OpenMLDB
OpenMLDB
1.7k−1 30d

Open-source machine learning database providing consistent feature engineering for training and inference

Time-Series·2021·Apache-2.0·C++, Java, Python
34Aerospike
Aerospike
1.3k+10 30d

Flash-optimized distributed NoSQL database for real-time applications at massive scale

Key-Value·2012·AGPL-3.0·C
35Infinispan
Infinispan
1.3k+2 30d

Open-source distributed in-memory data grid with multi-protocol access and cross-site replication

Key-Value·2009·Apache-2.0·Java
36NCache
NCache
6580 30d

Open-source distributed in-memory cache for .NET and Java with pub/sub messaging

Key-Value·2005·Apache-2.0·C#, .NET
37Oracle Coherence

In-memory data grid with fault-tolerant caching, transactions, and event processing for enterprise Java applications

Key-Value·2001·UPL-1.0·Java
38Cachelot
Cachelot
3750 30d

Memory-efficient Memcached-compatible caching server and C++ cache library

Key-Value·2015·BSD-2-Clause·C++
39DolphinDB
DolphinDB
570 30d

High-performance time-series database with built-in analytics for finance and IoT

Time-Series·2018·Proprietary·C++
40Altibase
Altibase
280 30d

Hybrid in-memory/on-disk relational database with Oracle compatibility and enterprise-grade ACID support

Relational·2000·Server Side Public License (SSPL) / Commercial·C, C++
41VoltDB
VoltDB
18+1 30d

In-memory NewSQL database for sub-millisecond ACID transactions at massive scale

Relational·2010·AGPL-3.0·Java, C++
42Exasol
Exasol
60 30d

High-performance in-memory MPP analytics database delivering up to 1000x faster analytical queries

Analytics·2000·Commercial·C++
43Actian Vector

Vectorized columnar analytics database with SIMD-optimized query execution

Analytics·2010·proprietary·C, C++
44Algolia

AI-powered search and discovery API delivering sub-millisecond results with typo tolerance and real-time indexing

Search·2012·proprietary·C++
45AnzoGraph DB

Massively parallel graph OLAP database for W3C standards-based analytics at scale

Graph·2018·proprietary·C++
46Brytlyt

GPU-accelerated analytics database built on PostgreSQL for millisecond queries on billions of rows

Analytics·2016·proprietary·C++, C
47Couchbase

Multi-model NoSQL database for enterprise applications with SQL++ support

Multi-Model·2011·BSL 1.1 / Apache-2.0 (Community)·C++, Go, Erlang, C
48DaggerDB

Real-time OLAP analytics engine with hybrid column store and .NET query API

Analytics·2014·proprietary·C#
49eXtremeDB

Ultra-small-footprint in-memory embedded database for real-time and mission-critical applications

Embedded·2001·proprietary·C, C++
50VMware Tanzu GemFire

Enterprise-grade distributed in-memory data grid for sub-millisecond, low-latency applications

Key-Value·2002·proprietary·Java
51GigaSpaces XAP

In-memory computing platform for real-time analytics and extreme transaction processing

Key-Value·2000·Proprietary·Java
52GridGain

In-memory computing platform built on Apache Ignite for real-time transactions and analytics

Multi-Model·2007·proprietary·Java, C++, C#
53IBM Db2 Warehouse

Cloud-native analytics data warehouse with in-memory columnar processing and AI integration

Analytics·2006·proprietary·C, C++, Java
54kdb+

Ultra-high-performance columnar time-series database with the vector language q, built for capital markets and real-time analytics

Time-Series·2003·proprietary·C
55Kinetica

GPU-accelerated real-time analytics database for spatial, temporal, graph, and AI workloads at scale

Analytics·2016·proprietary·C++
56RDFox

High-performance in-memory RDF knowledge graph and semantic reasoning engine

Graph·2014·proprietary·C++
57SAP HANA

In-memory relational database for real-time analytics and transactional processing in enterprise environments

Relational·2010·proprietary·C++
58ScaleOut StateServer

In-memory data grid with distributed caching, parallel query, and high availability for .NET and Java

Key-Value·2005·Commercial·C++, C#
59SingleStore

Distributed SQL database for data-intensive applications combining transactions, analytics, and AI workloads

Relational·2013·SingleStore Commercial License·C++
60Oracle TimesTen

In-memory relational database delivering microsecond response times for mission-critical OLTP

Relational·1996·proprietary·C, C++

What is an In-Memory Database?

An in-memory database (IMDB) stores data primarily in RAM rather than on disk, delivering microsecond to sub-millisecond read and write latencies. By eliminating disk I/O — the primary bottleneck in traditional databases — in-memory databases achieve orders-of-magnitude better performance for latency-sensitive workloads. Some in-memory databases like Redis also persist data to disk for durability, while others like Memcached are purely volatile. The category spans multiple data models: Redis (key-value), SAP HANA (relational), Aerospike (key-value with hybrid storage), VoltDB (relational), and Apache Ignite (distributed computing).

When to Use an In-Memory Database

In-memory databases are the right choice when latency is your primary constraint — caching layers, session stores, real-time leaderboards, rate limiters, and feature flags. They also power real-time analytics where query speed matters more than storage cost. Common patterns include using Redis as a caching layer in front of PostgreSQL, Memcached for simple object caching, and Apache Ignite for distributed computing on in-memory data. Consider disk-based databases when your dataset exceeds available RAM, when durability is non-negotiable, or when cost-per-GB matters more than query speed.

Frequently Asked Questions

What is the difference between an in-memory database and a regular database?
Regular databases (PostgreSQL, MySQL) store data on disk and cache frequently accessed data in memory. In-memory databases (Redis, Memcached) store all data in RAM by default, reading and writing directly to memory. The result is dramatically lower latency — microseconds vs milliseconds. The tradeoff is cost (RAM is more expensive than disk) and capacity (limited by available memory). Many in-memory databases offer optional persistence to disk for durability.
Is Redis an in-memory database?
Yes, Redis is the most popular in-memory database. It stores all data in RAM for sub-millisecond access and optionally persists data to disk via RDB snapshots or AOF (Append Only File) logs. This hybrid approach gives you in-memory speed with configurable durability. Valkey and DragonflyDB are Redis-compatible alternatives that also operate in-memory.
Do in-memory databases lose data when they crash?
It depends on the implementation. Redis supports persistence to disk via RDB snapshots and AOF logs — data survives restarts with minimal loss. DragonflyDB and Valkey also support persistence. Memcached is purely in-memory with no persistence — all data is lost on restart. For use cases like caching, data loss on restart is acceptable since the cache rebuilds from the primary database. For primary data storage, always enable persistence or use a disk-backed database.
What is the difference between an in-memory database and a cache?
A cache (like a CDN or application-level LRU cache) is a temporary, ephemeral layer that stores copies of data for faster access — it's disposable by design. An in-memory database (like Redis) is a full database engine that happens to store data in RAM — it supports data structures, queries, persistence, replication, and pub/sub. Redis blurs the line because it's used as both, but architecturally they serve different purposes: a cache accelerates reads from another source, while an in-memory database can be the source.
Can an in-memory database replace a traditional database?
For most applications, no. In-memory databases excel as caching layers and real-time data stores alongside a primary disk-based database. The cost of storing everything in RAM is prohibitive for large datasets, and many in-memory databases lack the query capabilities of relational databases (joins, complex transactions, secondary indexes). The typical architecture is PostgreSQL or MySQL as the source of truth, with Redis for caching, sessions, and real-time features.

Manage In-Memory Databases Visually

1bench is a modern GUI client that supports all major in-memory databases and many more.

Get Started