41+ Embedded Databases Ranked & Compared

Compare embedded databases ranked by GitHub stars, footprint, and in-process performance.

Last updated: May 20, 2026
38 databases
1LevelDB
LevelDB
39.1k+113 30d

Fast key-value storage library by Google providing ordered mappings with LSM-tree architecture

Key-Value·2011·BSD-3-Clause·C++
2DuckDB
DuckDB
38.3k+740 30d

Fast in-process analytical database with rich SQL support and zero dependencies

Analytics·2019·MIT·C++
3RocksDB
RocksDB
31.7k+47 30d

High-performance embeddable key-value store optimized for fast storage on SSDs

Key-Value·2012·GPL-2.0·C++
4lowdb
lowdb
22.5k+10 30d

Simple and fast JSON database for small projects and prototyping

Document·2014·MIT·JavaScript
5Turso
Turso
18.9k+575 30d

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

Embedded·2024·MIT·Rust
6MMKV
MMKV
18.6k+29 30d

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

Key-Value·2018·BSD-3-Clause·C++
7PouchDB
PouchDB
17.6k−8 30d

The database that syncs -- an open-source JavaScript database inspired by CouchDB for offline-first apps

Document·2012·Apache-2.0·JavaScript
8Badger
Badger
15.6k+42 30d

Fast, embeddable key-value database written in pure Go with LSM tree and value log separation

Key-Value·2017·Apache-2.0·Go
9PGlite
PGlite
15.2k+147 30d

Embeddable WASM Postgres under 3MB with reactivity and live sync

Embedded·2024·Apache-2.0·TypeScript, C
10Dexie.js
Dexie.js
14.3k+70 30d

Minimalistic IndexedDB wrapper for offline-first web apps with real-time sync

Embedded·2014·Apache-2.0·TypeScript
11SQL.js
SQL.js
13.6k+10 30d

SQLite compiled to JavaScript and WebAssembly via Emscripten for in-browser SQL databases

Embedded·2014·MIT·C, JavaScript
12WatermelonDB
WatermelonDB
11.7k+72 30d

Reactive and asynchronous database for high-performance React and React Native apps

Embedded·2018·MIT·JavaScript, C++
13WCDB
WCDB
11.5k−66 30d

Cross-platform database framework by WeChat with ORM, encryption, corruption recovery, and full-text search

Embedded·2017·BSD-3-Clause·C, C++, Java, Swift, Objective-C
14LanceDB
LanceDB
10.3k+341 30d

Open-source multimodal vector database built on the Lance columnar format with local-first deployment

Vector·2022·Apache-2.0·Rust, Python
15SQLite
SQLite
9.7k+241 30d

The most widely deployed embedded SQL database engine

Relational·2000·Public Domain·C
16LiteDB
LiteDB
9.4k+9 30d

Lightweight embedded .NET NoSQL document database stored in a single file

Document·2015·MIT·C#
17go-cache
go-cache
8.8k+10 30d

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

Key-Value·2012·MIT·Go
18AlaSQL
AlaSQL
7.3k+11 30d

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

Embedded·2014·MIT·JavaScript
19LokiJS
LokiJS
6.8k−8 30d

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

Document·2013·MIT·JavaScript
20goleveldb
goleveldb
6.3k−2 30d

Pure Go implementation of LevelDB key-value store with LSM-tree storage

Key-Value·2013·BSD-2-Clause·Go
21Pebble
Pebble
5.9k+39 30d

High-performance LSM key-value store in Go, powering CockroachDB as its storage engine

Key-Value·2018·BSD-3-Clause·Go
22MapDB
MapDB
5.0k+3 30d

Embedded Java database engine providing concurrent Maps, Sets, and Queues backed by disk or off-heap memory

Key-Value·2012·Apache-2.0·Kotlin, Java
23RoseDB
RoseDB
4.9k−2 30d

Lightweight, fast, and reliable embedded key-value storage engine based on the Bitcask model

Embedded·2020·Apache-2.0·Go
24BuntDB
BuntDB
4.8k+8 30d

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

Embedded·2016·MIT·Go
25H2 Database
H2 Database
4.6k−1 30d

Fast, embeddable Java RDBMS with browser-based console and PostgreSQL compatibility mode

Embedded·2005·MPL-2.0·Java
26Isar
Isar
4.0k+3 30d

Extremely fast, fully async NoSQL database for Flutter with powerful queries and full-text search

Embedded·2021·Apache-2.0·Dart, Rust
27GlueSQL
GlueSQL
3.1k+11 30d

Embeddable multi-backend SQL engine that runs anywhere from browsers to servers

Embedded·2020·Apache-2.0·Rust
28LMDB
LMDB
3.0k+19 30d

Ultra-fast memory-mapped embedded key-value store with full ACID transactions and zero-copy reads

Embedded·2011·OLDAP-2.8·C
29chDB
chDB
2.7k+10 30d

Embedded in-process OLAP SQL engine powered by ClickHouse for Python analytics

Embedded·2023·Apache-2.0·C++, Python
30FrostDB
FrostDB
1.5k+7 30d

Embeddable columnar database in Go using Apache Arrow and Parquet for observability workloads

Analytics·2022·Apache-2.0·Go
31eXtremeDB

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

Embedded·2001·proprietary·C, C++
32ITTIA DB

Real-time embedded database with time-series and streaming for IoT and edge AI devices

Embedded·2003·proprietary·C, C++
33NexusDB

High-performance SQL:2003 database engine for Delphi with embedded and client-server modes

Embedded·2004·proprietary·Delphi
34ObjectBox

Edge-optimized on-device database with vector search for mobile, IoT, and embedded AI applications

Embedded·2017·Commercial (Apache-2.0 bindings)·Java, C++, Kotlin
35ObjectDB

Fast and compact Java object database with built-in JPA and JDO support

Embedded·2004·proprietary·Java
36Raima Database Manager

Ultra-small-footprint embedded relational database for IoT and mission-critical edge applications

Embedded·1984·proprietary·C
37Realm

Fast, reactive mobile database designed as a modern replacement for Core Data and SQLite

Document·2014·Commercial (now MongoDB Atlas Device SDKs)·C++, Objective-C, Swift
38VistaDB

Fully managed embedded .NET database engine with T-SQL compatibility in a single assembly

Embedded·2004·proprietary·C#

What is an Embedded Database?

An embedded database runs inside your application process — no separate server, no network calls, no configuration. Your application links directly to the database library and reads/writes data through function calls rather than network protocols. This eliminates connection overhead and simplifies deployment: your application is a single binary or package with its database built in. SQLite is the most widely deployed embedded database (and arguably the most deployed software in the world), followed by DuckDB (embedded analytics), RocksDB (embedded key-value), LevelDB, and Berkeley DB.

When to Use an Embedded Database

Embedded databases are ideal when you need local data storage without the complexity of running a separate database server. Common use cases include: mobile applications (SQLite on iOS/Android), desktop applications, CLI tools, edge computing, IoT devices, browser-based apps (via WASM), unit testing, and data science scripts (DuckDB). They're also used as storage engines inside larger systems — RocksDB powers the storage layer of CockroachDB, TiDB, and many others. Consider a client-server database when you need concurrent access from multiple applications, network-accessible data, or multi-user write workloads.

Frequently Asked Questions

What is the difference between an embedded database and a server database?
A server database (PostgreSQL, MySQL) runs as a separate process that applications connect to over a network or socket. An embedded database (SQLite, DuckDB) runs inside your application process — no network, no separate installation, no configuration. Server databases support multiple concurrent clients and network access. Embedded databases are simpler to deploy and faster for local operations but typically serve a single application at a time.
Is SQLite an embedded database?
Yes, SQLite is the most widely used embedded database in the world. It's embedded in every smartphone (iOS and Android), every major web browser, most operating systems, and countless applications. It stores the entire database in a single file, requires zero configuration, and supports full SQL. Despite being 'embedded,' SQLite handles databases up to 281 terabytes and performs well for read-heavy workloads with moderate write concurrency.
What is the difference between SQLite and DuckDB?
Both are embedded databases, but optimized for opposite workloads. SQLite is row-oriented and optimized for transactional operations (OLTP) — inserting, updating, and reading individual records. DuckDB is column-oriented and optimized for analytical queries (OLAP) — aggregations, scans, and joins across large datasets. Use SQLite for application data storage. Use DuckDB for data analysis, ETL scripts, and analytical queries on CSV/Parquet files.
Can embedded databases handle large datasets?
Yes, within limits. SQLite supports databases up to 281 TB theoretically, though practical performance is best under 1 TB. DuckDB can query datasets larger than RAM using out-of-core processing and handles multi-GB analytical workloads efficiently on a single machine. RocksDB is used as the storage engine for databases handling petabytes of data (like CockroachDB and TiDB). The limitation isn't usually size but concurrency — embedded databases are designed for single-process access.
What is RocksDB used for?
RocksDB is a high-performance embedded key-value store created by Facebook (Meta), optimized for fast storage (SSDs). It's rarely used directly by application developers — instead, it serves as the storage engine inside other databases. CockroachDB, TiDB, YugabyteDB, and Apache Flink all use RocksDB internally. It's designed for high write throughput with configurable compression and compaction strategies. LevelDB (created by Google) is its predecessor and simpler alternative.

Manage Embedded Databases Visually

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

Get Started