An embedded database system is a database management system (DBMS) which is tightly integrated with an application software; it is embedded in the application. It is a broad technology category that includes:
database systems with differing application programming interfaces (SQL as well as proprietary, native APIs) database architectures (client-server and in-process) storage modes (on-disk, in-memory, and combined) database models (relational, object-oriented, entity–attribute–value model, network/CODASYL) target markets
The term embedded database can be confusing because only a small subset of embedded database products are used in real-time embedded systems such as telecommunications switches and consumer electronics. (See mobile database for small-footprint databases that could be used on embedded devices.)
Implementations
Major embedded database products include, in alphabetical order: Advantage Database Server from Sybase Inc. ArcticDB from Man Group Berkeley DB from Oracle Corporation DuckDB from DuckDB Labs CSQL from csqlcache.com Extensible Storage Engine from Microsoft eXtremeDB from McObject Firebird Embedded H2 HSQLDB from HSQLDB.ORG, Informix Dynamic Server (IDS) from IBM InfinityDB from Boiler Bay Inc. InnoDB from Oracle Corporation InterBase (Both server and mobile friendly deeply embedded version) from Embarcadero Technologies KùzuDB LanceDB Lightning Memory-Mapped Database (LMDB) from Symas Corp. Mimer SQL solidDB SQLite SQL Server Compact from Microsoft Corporation Sophia Embeddable key-value storage
Storage engine comparison
Advantage Database Server
Sybase's Advantage Database Server (ADS) is an embedded database management system. 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 a full client-server version. ADS is highly scalable, with no administration, and has support for a variety of IDEs including .NET Framework (.NET), Object Pascal (Delphi), Visual FoxPro (FoxPro), PHP, Visual Basic (VB), Visual Objects (VO), Vulcan, Clipper, Perl, Java, xHarbour, etc.
Apache Derby
Derby is an embeddable SQL engine written entirely in Java. Fully transactional, multi-user with a decent SQL subset, Derby is a mature engine and freely available under the Apache license and is actively maintained. Derby project page. It is also distributed as part of Oracle's Java SE Development Kit (JDK) under the name of Java DB.
Empress Embedded Database
Empress Software, Inc., developer of the Empress Embedded Database, is a privately held company founded in 1979. Empress Embedded Database is a full-function, relational database that has been embedded into applications by organizations small to large, with deployment environments including medical systems, network routers, nuclear power plant monitors, satellite management systems, and other embedded system applications that require reliability and power. Empress is an ACID compliant, SQL database engine with C, C++, Java, JDBC, ODBC, SQL, ADO.NET and kernel level APIs. Applications developed using these APIs may be run in standalone and/or server modes. Empress Embedded Database runs on Linux, Unix, Microsoft Windows and real-time operating systems.
Extensible Storage Engine
ESE is an ISAM data storage technology from Microsoft, a core of Microsoft Exchange Server and Active Directory. Its purpose is to allow applications to store and retrieve data via indexed and sequential access. Windows Mail and Desktop Search in the Windows Vista operating system also make use of ESE to store indexes and property information respectively.
eXtremeDB
McObject LLC launched eXtremeDB as the first in-memory embedded database designed from scratch for real-time embedded systems. The initial product was soon joined by eXtremeDB High Availability (HA) for fault tolerant applications. The product family now includes 64-bit and transaction logging editions, and the hybrid eXtremeDB Fusion, which combines in-memory and on-disk data storage. In 2008, McObject introduced eXtremeDB Kernel Mode, the first embedded DBMS designed to run in an operating system kernel. Today, eXtremeDB is used in millions of real-time and embedded systems worldwide. McObject also offers Perst, an open source, object-oriented embedded database for Java, Java ME, .NET, .NET Compact Framework and Silverlight.