# Embedded database

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Embedded_database
> Markdown URL: https://mediated.wiki/source/Embedded_database.md
> Source: https://en.wikipedia.org/wiki/Embedded_database
> Source revision: 1349075979
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Database management system

An **embedded database** system is a [database management system](/source/Database_management_system) (DBMS) that is tightly integrated with [application software](/source/Application_software), and is embedded within the application rather than provided as a standalone system.[1] It is a broad technology category that includes:

- database systems with differing [application programming interfaces](/source/Application_programming_interface) ([SQL](/source/SQL) as well as proprietary, native APIs)

- database architectures ([client-server](/source/Client-server) and in-process)

- storage modes (on-disk, [in-memory](/source/In-memory_database), and combined)

- [database models](/source/Database_model) ([relational](/source/Relational_database), [object-oriented](/source/Object_database), [entity–attribute–value model](/source/Entity%E2%80%93attribute%E2%80%93value_model), network/[CODASYL](/source/CODASYL))

- target markets

The term “embedded” is sometimes used to refer to use on embedded devices (as opposed to the definition given above). However, only a small subset of embedded database systems are used in [real-time](/source/Real-time_computing) [embedded systems](/source/Embedded_system) such as [telecommunications switches](/source/Telephone_switch#Digital_switches) and [consumer electronics](/source/Consumer_electronics).[2] (See [mobile database](/source/Mobile_database) for small-footprint databases that can be used on embedded devices.)

## Implementations

Major embedded database products include, in alphabetical order:

- [Actian Zen](/source/Actian_Zen) (Actian)

- [Advantage Database Server](/source/Advantage_Database_Server) (SAP)

- ArcticDB (Man Group)

- Badger

- [Berkeley DB](/source/Berkeley_DB) (Oracle)

- [DuckDB](/source/DuckDB) (DuckDB Labs)

- CSQL

- [Extensible Storage Engine](/source/Extensible_Storage_Engine) (Microsoft)

- [eXtremeDB](/source/EXtremeDB) (McObject)

- [Firebird](/source/Firebird_(database_server)) Embedded (Fairbird Foundation)

- H2

- [HSQLDB](/source/HSQLDB)

- [Informix Dynamic Server (IDS)](/source/Informix_Dynamic_Server) (IBM)

- [InfinityDB](/source/InfinityDB) (Boiler Bay)

- [InnoDB](/source/InnoDB) (Oracle)

- [InterBase](/source/InterBase) [(Embarcadero Technologies](/source/Embarcadero_Technologies))

- Kùzu

- LanceDB

- [Lightning Memory-Mapped Database (LMDB)](/source/Lightning_Memory-Mapped_Database) (Symas)

- [Mimer SQL](/source/Mimer_SQL)

- [MonetDB](/source/MonetDB) (Embedded version)

- ObjectBox

- ObjectDB

- RocksDB

- [solidDB](/source/SolidDB)

- [SQLite](/source/SQLite)

- [SQL Server Express LocalDB](/source/SQL_Server_Express#LocalDB) (Microsoft)

- [TursoDB](https://github.com/tursodatabase/turso)

- [Sophia](https://github.com/pmwkaa/sophia) – an embeddable key-value storage engine

## Storage engine comparison

### Advantage Database Server

Main article: [Advantage Database Server](/source/Advantage_Database_Server)

Advantage Database Server (ADS) is an embedded database management system developed by Sybase. It provides both Indexed Sequential Access Method (ISAM) and relational data access and is compatible with multiple platforms, including Windows, Linux, and Netware. It is available as a royalty-free local file-server database or as a full client-server system. ADS is highly scalable, with no administration, and supports a variety of integrated development environments (IDEs), such as [.NET Framework](/source/.NET_Framework) (.NET), [Object Pascal](/source/Object_Pascal) ([Delphi](/source/Delphi_(programming_language))), [Visual FoxPro](/source/Visual_FoxPro) (FoxPro), as well as supported programming languages, like [PHP](/source/PHP), [Visual Basic](/source/Visual_Basic) (VB), [Visual Objects](/source/Visual_Objects) (VO), [Vulcan](/source/Vulcan_(programming_language)), [Clipper](/source/Clipper_(programming_language)), [Perl](/source/Perl), [Java](/source/Java_(programming_language)), and xHarbour.

### Apache Derby

Main article: [Apache Derby](/source/Apache_Derby)

Apache Derby is an embeddable SQL database engine written entirely in Java. It is fully transactional and supports multi-user access, and is available under the Apache license. Derby is actively maintained. It is also distributed as part of Oracle's Java SE Development Kit (JDK) under the name of Java DB.

### Empress Embedded Database

Main article: [Empress Embedded Database](/source/Empress_Embedded_Database)

Empress Embedded Database was developed by Empress Software, Inc., a privately held company founded in 1979. It is a relational database management system that has been embedded in a range of applications, including medical systems, network routers, nuclear power plant monitors, and satellite management systems. Empress is an [ACID](/source/ACID)-compliant, [SQL](/source/SQL) database engine with APIs for C, [C++](/source/C%2B%2B), Java, [JDBC](/source/JDBC), ODBC, [SQL](/source/SQL), [ADO.NET](/source/ADO.NET), and kernel-level [APIs](/source/API). Applications developed using these APIs can be run in standalone or client-server modes. Empress Embedded Database runs on Linux, [Unix](/source/Unix), Microsoft Windows, and [real-time operating systems](/source/Real-time_operating_system).

### Extensible Storage Engine

Main article: [Extensible Storage Engine](/source/Extensible_Storage_Engine)

Extensible Storage Engine (ESE) is an ISAM data storage technology developed by Microsoft. It serves as a core component of Microsoft Exchange Server and Active Directory, allowing applications to store and retrieve data using indexed and sequential access. ESE is also used by Windows Mail and Desktop Search in Windows Vista to store indexes and property information, respectively.

### eXtremeDB

Main article: [eXtremeDB](/source/EXtremeDB)

[eXtremeDB](/source/EXtremeDB), launched by McObject LLC as an in-memory embedded database, was designed specifically for real-time embedded systems. The initial product was later joined by eXtremeDB High Availability (HA) for [fault-tolerant](/source/Fault_tolerant) applications. The eXtremeDB family now includes 64-bit and [transaction logging](/source/Transaction_log) editions, as well as the hybrid eXtremeDB Fusion, which combines in-memory and on-disk data storage. In 2008, McObject introduced eXtremeDB Kernel Mode, an embedded DBMS designed to run in an operating system [kernel](/source/Kernel_(operating_system)).[3]

eXtremeDB is used in real-time and embedded systems worldwide. McObject also offers [Perst](/source/Perst), an [open source](/source/Open-source_software), object-oriented embedded database for Java, [Java ME](/source/Java_ME), .NET, [.NET Compact Framework](/source/.NET_Compact_Framework), and [Silverlight](/source/Silverlight).

### Firebird Embedded

Main article: [Firebird (database server)](/source/Firebird_(database_server))

Firebird Embedded is a relational database engine and an open-source fork of InterBase. It is [ACID](/source/ACID)-compliant, supports triggers and stored procedures, and is available on Linux, macOS, and Windows. It has the same features as the [Classic and SuperServer versions of Firebird](https://firebirdsql.org/manual/qsg25-classic-or-super.html). Starting with Firebird 2.5, two or more threads or applications can access the same database simultaneously. Firebird Embedded acts as a local server for one-threaded client accessing its databases. For example, this allows ASP.NET web applications to work properly, because each user runs in a separate thread, so two users can access the same database at the same time without a conflict. Firebird Embedded exports the standard Firebird API entry points. Unlike SQLite or Access databases, Firebird Embedded databases can be moved to a full Firebird server without modification and are multi-platform, running on Linux and macOS with full ASP.NET Mono support.

Although it can operate within an application process, Firebird is not truly embedded because it cannot be statically linked.

### H2

Main article: [H2 (DBMS)](/source/H2_(DBMS))

H2 is an open-source database engine written in Java. It supports both embedded and server modes, as well as clustering, and can run within the [Google App Engine](/source/Google_App_Engine) environment. It supports encrypted database files using AES or XTEA.

Development of H2 began in May 2004, and it was first published on December 14, 2005. H2 is dual-licensed and is available under a modified version of the Mozilla Public License (MPL) or the unmodified Eclipse Public License (EPL) 1.0.

### HailDB, formerly Embedded InnoDB

Main article: [InnoDB](/source/InnoDB)

HailDB is a standalone, embeddable form of the InnoDB Storage Engine. Because it is based on the same codebase as InnoDB, it includes many of the same features, such as high performance and scalability, [multiversion concurrency control](/source/Multiversion_concurrency_control) (MVCC), row-level locking, deadlock detection, fault tolerance, and automatic crash recovery.

As an embedded engine independent of MySQL, HailDB does not include server components such as networking or object-level permissions. By eliminating MySQL server overhead, it has a relatively small footprint and is well suited for embedding in applications that require high performance and concurrency.

As with many embedded database systems, HailDB is designed to be accessed primarily through an [ISAM](/source/ISAM)-like C API rather than SQL, although a limited SQL variant is supported.

The project is no longer maintained as of 2015.

### HSQLDB

Main article: [HSQLDB](/source/HSQLDB)

HSQLDB is an open-source [relational database management system](/source/Relational_database_management_system) with a [BSD](/source/BSD_licenses)-like license that runs within the same Java Virtual Machine as the embedded application. It supports a variety of in-memory and disk-based table modes, Unicode, and SQL:2016.

### InfinityDB

Main article: [InfinityDB](/source/InfinityDB)

InfinityDB is a sorted, hierarchical key-value store. It is available in encrypted and client-server editions. The database provides transactional support, data compression, and operates within a single file, enabling simplified deployment and minimal administration.

APIs include the ItemSpace interface, a ConcurrentNavigableMap view, and support for JSON. The RemoteItemSpace component can redirect embedded API calls to other database instances. The client-server edition includes a lightweight servlet server, web-based administration and database browsing tools, and REST support for Python.

### Informix Dynamic Server

Main article: [Informix Dynamic Server](/source/Informix_Dynamic_Server)

Informix Dynamic Server (IDS) is an enterprise-class, embeddable database server that combines features such as low footprint, programmability, and autonomic capabilities with enterprise database features including high availability and flexible replication.[4] IDS is used in embedded scenarios such as IP telephony call-processing systems, point-of-sale applications, and financial transaction processing systems.

### InterBase

Main article: [InterBase](/source/InterBase)

InterBase is a cross-platform, Unicode-enabled SQL database that can be embedded within turn-key applications. It supports symmetric multiprocessing (SMP), on-disk AES-256 encryption, SQL-92 compliance, and ACID properties, and is available on Windows, macOS, Linux, Solaris, iOS, and Android platforms.

InterBase is used in both small- to medium-sized and large enterprise environments, supporting multi-user and mobile application development. *InterBase Light* is a free version designed for mobile devices and is suitable for mobile applications. Organizations can upgrade to a paid version as requirements for features such as change management and security increase. InterBase has been adopted in industries including defense, airspace, oil and gas, and manufacturing.

### Kùzu

Kùzu is an embeddable graph database management system that supports the [Cypher query language](/source/Cypher_(query_language)). It implements a range of existing and novel state-of-art storage, indexing, and query processing techniques[5] to support the management and querying of large graphs.

Kùzu achieves its performance through a combination of join algorithms, including binary and [worst-case optimal joins](/source/Worst-case_optimal_join_algorithm),[6] as well as factorization[7] and vectorized query execution on a columnar storage layer,[7] along with compression and parallelization techniques common in modern database systems. Kùzu is developed and maintained by Kùzu Inc., a startup based in Waterloo, Ontario, Canada, and is available as open-source software under the [MIT license](/source/MIT_License).

### LevelDB

Main article: [LevelDB](/source/LevelDB)

LevelDB is an ordered [key-value store](/source/NoSQL#Key–value_store) created by [Google](/source/Google) as a compact implementation of the [Bigtable](/source/Bigtable) storage design. It is provided as a library, with a native API in C++. It also includes official C wrappers for most functionality, and third-party wrappers are available for languages such as [Python](https://code.google.com/p/py-leveldb/), [PHP](http://pecl.php.net/package/leveldb), [Go](https://github.com/jmhodges/levigo), [Node.js](https://github.com/rvagg/node-leveldown/), and Objective C.

Google distributes LevelDB under the [New BSD License](/source/BSD_licenses#3-clause_license_.28.22New_BSD_License.22_or_.22Modified_BSD_License.22.29).

### LMDB

Main article: [Lightning Memory-Mapped Database](/source/Lightning_Memory-Mapped_Database)

[Lightning Memory-Mapped Database](/source/Lightning_Memory-Mapped_Database) (LMDB) is a [memory-mapped](/source/Memory-mapped_file) [key-value database](/source/Key-value_database) developed for the [OpenLDAP](/source/OpenLDAP) Project. It is written in C, and its API is modeled after the [Berkeley DB](/source/Berkeley_DB) API, but simplified. The library is compact, typically compiling to under 40 KB of x86 object code.

LMDB implements B+ trees with [multiversion concurrency control](/source/Multiversion_concurrency_control) (MVCC), a [single-level store](/source/Single-level_store), [copy-on-write](/source/Copy_on_write), and provides full [ACID](/source/ACID) transactions without deadlocks. It is optimized for high read concurrency: readers require no locks, readers do not block writers, and writers do not block readers, allowing read performance to scale linearly across multiple threads and CPUs. Third-party wrappers are available for [C++](https://code.google.com/p/libglim/source/browse/trunk/mdb.hpp), [Erlang](https://github.com/alepharchives/emdb) and [Python](https://github.com/dw/py-lmdb). LMDB is distributed under the OpenLDAP Public License. As of 2013, the OpenLDAP Project has deprecated the use of Berkeley DB in favor of LMDB.

### Mimer SQL

Main article: [Mimer SQL](/source/Mimer_SQL)

Mimer SQL is a proprietary relational database server. An embedded, zero-maintenance version is available, featuring a small footprint due to its modular design, full support for the SQL standard, and ports to [Windows](/source/Windows), [Linux](/source/Linux), [Automotive Grade Linux](/source/Automotive_Grade_Linux), [Android](/source/Android_(operating_system)), [QNX](/source/QNX), [INTEGRITY](/source/Integrity_(operating_system)), and other platforms.

### MonetDB/e

Main article: [MonetDB](/source/MonetDB)

MonetDB/e is the embedded version of the open-source MonetDB SQL column store engine. It is available for C, C++, Java (JDBC), and Python, and is distributed under the MonetDB License, based on [MPL](/source/Mozilla_Public_License) 2.0. Its predecessor, MonetDBLite (for R, Python, and Java), is no longer maintained and has been replaced by MonetDB/e.

### MySQL Embedded Server Library

Main article: [MySQL](/source/MySQL)

The Embedded MySQL Server Library provides most of the features of the standard MySQL server as a linkable library that runs within the context of a client process.[8] After initialization, clients can use the same C API calls as when communicating with a separate MySQL server, but with lower communication overhead and without the need for a separate database process.

### NexusDB

Main article: [NexusDB](/source/NexusDB)

NexusDB is the commercial successor to the FlashFiler database, which is now open source. Both databases can be embedded in Delphi applications to create stand-alone executables with full database functionality.

### ObjectDB

Main article: [ObjectDB](/source/ObjectDB)

ObjectDB is an object database for Java that can be used in either client-server mode or embedded (in process) mode.

### Oracle Berkeley DB

Main article: [Berkeley DB](/source/Berkeley_DB)

Oracle's embedded database is [Berkeley DB](/source/Berkeley_DB), which Oracle acquired from Sleepycat Software. Berkeley DB was originally developed at the University of California. It is a fast, open-source embedded database and is used in several well-known open-source products, including the Linux and BSD Unix operating systems, the Apache Web server, and the OpenOffice productivity suite. In recent years, some projects have switched to using [Lightning Memory-Mapped Database (LMDB)](/source/LMDB), citing better performance in key scenarios and a simpler "[less is more](/source/Minimalism_(computing))" design, as well as changes to Berkeley DB's licensing.

### RocksDB

Main article: [RocksDB](/source/RocksDB)

RocksDB was created by [Facebook](/source/Facebook) as a fork of [LevelDB](/source/LevelDB). It focuses on performance, particularly on [solid-state drives (SSDs)](/source/Solid-state_drive), and adds a range of features, including [transactions](/source/Database_transaction), [backups](/source/Backup), [snapshots](/source/Snapshot_(computer_storage)), [bloom filters](/source/Bloom_filter), [column families](/source/Column_family), expiry, custom merge operators, more tunable compaction, statistics collection,[9] and geospatial indexing. It is used as a storage engine inside of several other databases, including [ArangoDB](/source/ArangoDB), [Ceph](/source/Ceph_(software)), [CockroachDB](/source/CockroachDB), [MyRocks](/source/MyRocks), Rocksandra, TiKV, and [YugabyteDB](/source/YugabyteDB).

### solidDB

Main article: [solidDB](/source/SolidDB)

solid DB is a hybrid on-disk/in-memory, relational database often used as an embedded system database in telecommunications equipment, network software, and similar applications. Its in-memory technology enables throughput of tens of thousands of transactions per second with response times measured in microseconds. A high-availability option maintains two synchronized copies of the data. In the event of a system failure, applications can recover access to solidDB in less than a second without data loss.

### SQLite

Main article: [SQLite](/source/SQLite)

SQLite is a software library that provides a self-contained, serverless, zero-configuration, transactional SQL database engine. It is the most widely deployed SQL database engine in the world. The source code, written primarily in C, is in the public domain. SQLite includes both a native C library and a simple command-line client for managing its database. It is included in several operating systems, including [Android](/source/Android_(operating_system)), [FreeBSD](/source/FreeBSD), [iOS](/source/IOS), macOS, and [Windows 10](/source/Windows_10), and is also used by the [Chromium](/source/Chromium_(web_browser)) web browser and its derivatives.[10]

### SQL Server Compact

Main article: [SQL Server Compact](/source/SQL_Server_Compact)

See also: [SQL Server Express § LocalDB](/source/SQL_Server_Express#LocalDB)

SQL Server Compact is an embedded database by Microsoft with features including multi-process connections, T-SQL, ADO.NET Sync Services for synchronizing with back-end databases, Merge Replication with SQL Server, and programming APIs such as [LINQ to SQL](/source/LINQ_to_SQL), LINQ to Entities, and ADO.NET. The product runs on both desktop and mobile Windows platforms. It has been in production software over a long period.[note 1] SQL Server Compact has undergone multiple rebrandings and has been known by various names, including SQL CE, SQL Server CE, SQL Server Mobile, and SQL Mobile.

## See also

- [In-memory database](/source/In-memory_database), main memory database

- [Mobile database](/source/Mobile_database)

## Notes

1. **[^](#cite_ref-note1_11-0)** ([Case Studies](http://www.microsoft.com/sql/prodinfo/casestudies/cs-mobile.mspx)).

## References

1. **[^](#cite_ref-1)** Staff, Editorial. ["Embedded Database"](https://www.devx.com/terms/embedded-database/). *DevX*. Retrieved 2026-04-02.

1. **[^](#cite_ref-2)** Graves, Steve. ["COTS Databases For Embedded Systems"](http://www.embedded-computing.com/articles/id/?2020) [Archived](https://web.archive.org/web/20071114050734/http://www.embedded-computing.com/articles/id/?2020) 2007-11-14 at the [Wayback Machine](/source/Wayback_Machine), *Embedded Computing Design* magazine, January, 2007. Retrieved on August 13, 2008.

1. **[^](#cite_ref-3)** ["Kernel-Mode Databases"](https://jacobfilipp.com/DrDobbs/articles/DDJ/2008/0805/080401ag01/080401ag01.html). *jacobfilipp.com*. Retrieved 2026-04-02.

1. **[^](#cite_ref-4)** ["Embedding Informix Dynamic Server"](http://www-01.ibm.com/software/data/informix/embed/benefits.html), Retrieved on August 30, 2009.

1. **[^](#cite_ref-5)** Feng, Xiyang; Jin, Guodong; Chen, Ziyi; Liu, Chang; Salihoğlu, Semih. ["KÙZU∗ GraphDatabase Management System"](https://www.cidrdb.org/cidr2023/papers/p48-jin.pdf) (PDF). *cidrdb.org*. Retrieved 16 Nov 2025.

1. **[^](#cite_ref-6)** Mhedhbi, Amine; Salihoglu, Semih (July 1, 2019). ["Optimizing subgraph queries by combining binary and worst-case optimal joins"](https://dl.acm.org/action/cookieAbsent). *ACM Digital Library*. [doi](/source/Doi_(identifier)):[10.14778/3342263.3342643](https://doi.org/10.14778%2F3342263.3342643). Retrieved 2026-04-02.

1. ^ [***a***](#cite_ref-:0_7-0) [***b***](#cite_ref-:0_7-1) Gupta, Pranjal; Mhedhbi, Amine; Salihoglu, Semih (2021-07-01). ["Columnar storage and list-based processing for graph database management systems"](https://dl.acm.org/doi/10.14778/3476249.3476297). *Proc. VLDB Endow*. **14** (11): 2491–2504. [arXiv](/source/ArXiv_(identifier)):[2103.02284](https://arxiv.org/abs/2103.02284). [doi](/source/Doi_(identifier)):[10.14778/3476249.3476297](https://doi.org/10.14778%2F3476249.3476297). [ISSN](/source/ISSN_(identifier)) [2150-8097](https://search.worldcat.org/issn/2150-8097).

1. **[^](#cite_ref-8)** ["MySQL :: MySQL 5.7 Reference Manual :: 27.6.2 Restrictions When Using the Embedded MySQL Server"](https://dev.mysql.com/doc/refman/5.7/en/libmysqld-restrictions.html). *dev.mysql.com*. Retrieved 2026-04-02.

1. **[^](#cite_ref-9)** ["RocksDB perf context and IO stats context"](https://github.com/facebook/rocksdb/wiki/Perf-Context-and-IO-Stats-Context). *GitHub*. Retrieved 2016-04-04.

1. **[^](#cite_ref-10)** ["SQLite abstraction layer"](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/sql/README.md). *chromium.googlesource.com*. Retrieved 2023-09-27.

v t e Embedded systems General terms ASIC Board support package Bootloader Consumer electronics Cross compiler Embedded database Embedded hypervisor Embedded OS Embedded software FPGA IoT Memory footprint Microcontroller Single-board computer Raspberry Pi SoC Firmware, controls Firmware Custom firmware Proprietary firmware Closed platform Crippleware Defective by Design Hacking of consumer electronics Homebrew (video games) iOS jailbreaking PlayStation 3 Jailbreak Rooting (Android) UEFI Vendor lock-in Boot loaders U-Boot Barebox Software libraries uClibc dietlibc Embedded GLIBC lwIP musl Programming tools Almquist shell BitBake Buildroot BusyBox OpenEmbedded Stand-alone shell Toybox Yocto Project Operating systems Linux on embedded systems Linux for mobile devices Light-weight Linux distribution Real-time operating system Windows IoT Win CE Programming languages Ada Assembly language CAPL Embedded C Embedded C++ Embedded Java MISRA C MicroPython Lightweight browsers List of open-source hardware Open-source robotics

---
Adapted from the Wikipedia article [Embedded database](https://en.wikipedia.org/wiki/Embedded_database) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Embedded_database?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
