66+ In-Memory Databases Ranked & Compared

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

Last updated: May 29, 2026
59 databases
1Redis
Redis
74.6k+518 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.6k+153 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
26.0k+67 30d

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

Streaming·2011·Apache-2.0·Java, Scala
4Valkey
Valkey
25.9k+319 30d

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

Key-Value·2024·BSD-3-Clause·C
5Typesense
Typesense
25.9k+153 30d

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

Search·2016·GPL-3.0·C++
6SpacetimeDB
SpacetimeDB
24.7k+104 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+36 30d

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

Search·2019·MPL-2.0·Rust
8Turso
Turso
19.0k+585 30d

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

Embedded·2024·MIT·Rust
9MMKV
MMKV
18.6k+37 30d

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

Key-Value·2018·BSD-3-Clause·C++
10Memcached
Memcached
14.2k+17 30d

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

Key-Value·2003·BSD-3-Clause·C
11FlexSearch
FlexSearch
13.7k+34 30d

Next-generation full-text search library for browser and Node.js with blazing-fast performance

Search·2018·Apache-2.0·JavaScript
12KeyDB
KeyDB
12.5k+14 30d

Multithreaded Redis fork with higher throughput and active replication

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

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

Key-Value·1999·Apache-2.0·Erlang
14DiceDB
DiceDB
10.8k+11 30d

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

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

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

Key-Value·2012·MIT·Go
16AlaSQL
AlaSQL
7.3k+7 30d

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

Embedded·2014·MIT·JavaScript
17Vespa
Vespa
6.9k+30 30d

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

Search·2017·Apache-2.0·Java, C++
18LokiJS
LokiJS
6.8k−9 30d

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

Document·2013·MIT·JavaScript
19Hazelcast
Hazelcast
6.6k−4 30d

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

Key-Value·2008·Apache-2.0·Java
20Apache Ignite
Apache Ignite
5.1k+3 30d

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

Multi-Model·2015·Apache-2.0·Java, C++, C#
21BuntDB
BuntDB
4.9k+11 30d

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

Embedded·2016·MIT·Go
22FalkorDB
FalkorDB
4.5k+212 30d

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

Graph·2023·SSPL-1.0·C
23Memgraph
Memgraph
4.1k+123 30d

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

Graph·2018·BSL-1.1·C++
24Tarantool
Tarantool
3.6k+9 30d

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

Multi-Model·2010·BSD-2-Clause·C, Lua
25Netflix Atlas
Netflix Atlas
3.6k0 30d

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

Time-Series·2014·Apache-2.0·Scala, Java
26Olric
Olric
3.5k+16 30d

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

Key-Value·2018·Apache-2.0·Go
27AresDB
AresDB
3.1k−1 30d

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

Analytics·2019·Apache-2.0·Go, C++, CUDA
28HeavyDB
HeavyDB
3.1k−3 30d

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

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

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

Key-Value·2020·AGPL-3.0·Rust
30GridDB
GridDB
2.5k−3 30d

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

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

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

Key-Value·2015·Apache-2.0·Java
32Graph Engine
Graph Engine
2.3k0 30d

Distributed in-memory graph processing engine with strongly-typed key-value store, formerly Trinity

Graph·2015·MIT·C#, C++
33TinkerGraph
TinkerGraph
2.1k+14 30d

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

Graph·2009·Apache-2.0·Java
34Ehcache
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
35OpenMLDB
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
36Aerospike
Aerospike
1.3k+6 30d

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

Key-Value·2012·AGPL-3.0·C
37Infinispan
Infinispan
1.3k+7 30d

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

Key-Value·2009·Apache-2.0·Java
38NCache
NCache
660+1 30d

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

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

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

Key-Value·2001·UPL-1.0·Java
40Actian Vector

Vectorized columnar analytics database with SIMD-optimized query execution

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

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

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

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

Graph·2018·proprietary·C++
43Brytlyt

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

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

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

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

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

Analytics·2014·proprietary·C#
46DolphinDB

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

Time-Series·2018·Proprietary·C++
47Exasol

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

Analytics·2000·Commercial·C++
48eXtremeDB

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

Embedded·2001·proprietary·C, C++
49GigaSpaces XAP

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

Key-Value·2000·Proprietary·Java
50GridGain

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

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

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

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

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
53Kinetica

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

Analytics·2016·proprietary·C++
54Oracle TimesTen

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

Relational·1996·proprietary·C, C++
55RDFox

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

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

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

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

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

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

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

Relational·2013·SingleStore Commercial License·C++
59VMware Tanzu GemFire

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

Key-Value·2002·proprietary·Java

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