Embedded Database
Encyclopedia
An embedded database system is a database management system
(DBMS) which is tightly integrated with an application software
that requires access to stored data, such that the database system is “hidden” from the application’s end-user and requires little or no ongoing maintenance. It is actually a broad technology category that includes database systems with differing application programming interfaces (SQL
as well as proprietary, native API
s); database architectures (client/server and in-process); storage modes (on-disk, in-memory and combined); database models (relational
, object-oriented, Entity-Attribute-Value model
and network/CODASYL
); and target markets. The term "embedded database" can be confusing because only a small subset of embedded database products is used in real-time
embedded systems such as telecommunications switches and consumer electronics
devices.
Advantage Database Server
from Sybase Inc., Berkeley DB
from Oracle Corporation, CSQL
from csqlcache.com, EffiPRoz from EffiProz Systems, ElevateDB
from Elevate Software, Inc., Empress Embedded Database from Empress Software, Extensible Storage Engine
from Microsoft, eXtremeDB from McObject, Firebird
Embedded, HSQLDB
from HSQLDB.ORG, Informix Dynamic Server
(IDS) from IBM, InnoDB
from Oracle Corporation, ITTIA DB from ITTIA, RDM Embedded
and RDM Server
from Raima Inc., SolidDB
from IBM, SQLite
, SQL Server Compact
from Microsoft Corporation, Valentina DB from Paradigma Software, and VistaDB from VistaDB Software, Inc.
/ Linux
cross-platform DBMS with SQL
database engine released as independent packages for different IDEs and ODBC API as a DLL
for Microsoft Windows. Accuracer Database System supports Embarcadero
Delphi, C++Builder, and Borland Kylix IDEs from the old versions to the newest ones. Accuracer Database System has Bold for Delphi
support, a number of modules for visual query building, Manager, SQLConsole, as well as other utilities with full source code, and Accuracer Database Server, a server application for Microsoft Windows. Accuracer Database System provides wide set of data compression
and encryption modes for network traffic in client/server mode as well as for a database file. Database file in Accuracer format can be compiled into EXE
and accessed in read-only mode. All Accuracer Database System products, commercial and free, are released under royalty-free licenses.
, Delphi, FoxPro
, PHP
, VB
, VO
, Vulcan, Clipper, Perl, Java
, xHarbour
, etc.
-compliant, compact, embedded database engine available for Delphi
(Win32), C++Builder (Win32), Lazarus (Win32/WinCE), Visual Studio (.NET
and .NET CF), and any ODBC-compliant application. Under Delphi
, Lazarus, and C++Builder, ElevateDB can be compiled directly into the application, whereas under .NET it is a single assembly and the ODBC driver is implemented as a single .DLL. ElevateDB operates in single-user, multi-user file-sharing, and client-server modes, and includes the ElevateDB Server for client-server operation.
(MVCC), row-level locking, deadlock detection, fault tolerance, automatic crash recovery, etc. However, because the embedded engine is completely independent from MySQL, it lacks server components such as networking, object-level permissions, etc. By eliminating the MySQL server overhead, InnoDB has a small footprint and is well-suited for embedding in applications which require high-performance and concurrency. As with most embedded database systems, Embedded InnoDB is designed to be accessed primarily with an ISAM-like C API rather than SQL (though an extremely rudimentary SQL variant is supported).
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 system
s.
ging 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 the 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.
with a BSD-like license that runs in the same Java Virtual Machine as the embedded application. HSQLDB supports a variety of in-memory and disk-based table modes, Unicode and SQL:2008.
, supporting runtime SQL
queries, isolation levels, write ahead logging
, and B+ tree
indexes. To support the wide variety of operating systems and hardware used in embedded development, ITTIA DB databases use a portable format that can be accessed with or without SQL through C
and C++
APIs
. Disk, memory, and hybrid databases are supported.
, it compares well to Oracle Berkeley DB, but on large datasets fails more gracefully, it is released under the GPL (with commercial licensing available) by Mikio Hirabayashi in 2009.
, which Oracle acquired from Sleepycat Software. It was originally developed at the University of California. Berkeley DB 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, Apache Web server, OpenLDAP directory, OpenOffice productivity suite.
was one of the first database management systems to be categorized as an "embedded database" when it made its debut in 1984 under the name db_Vista. According to Raima's definition, the product is "embedded" in two senses: first, it is embedded within an application, becoming an extension to the application, second, it is possible to use it in embedded computer/OS or real-time environments because of its small footprint and efficient operation. Its APIs (for C/C++ and SQL) have been designed to support the limited resources of embedded environments. Since its initial release, RDM Embedded has been continually evolving and is currently released as version 10.1. Today Raima produces two products under the product names RDM Embedded
and RDM Server
.
server, Full text search
. Clients can access database via .NET provider or C++ library.
. It has been in the market since 2004, and is used by many companies (Customer List).
VistaDB was acquired by Gibraltar Software as of September 15, 2010.
Database management system
A database management system is a software package with computer programs that control the creation, maintenance, and use of a database. It allows organizations to conveniently develop databases for various applications by database administrators and other specialists. A database is an integrated...
(DBMS) which is tightly integrated with an application software
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...
that requires access to stored data, such that the database system is “hidden” from the application’s end-user and requires little or no ongoing maintenance. It is actually a broad technology category that includes database systems with differing application programming interfaces (SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....
as well as proprietary, native API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
s); database architectures (client/server and in-process); storage modes (on-disk, in-memory and combined); database models (relational
Relational database
A relational database is a database that conforms to relational model theory. The software used in a relational database is called a relational database management system . Colloquial use of the term "relational database" may refer to the RDBMS software, or the relational database itself...
, object-oriented, Entity-Attribute-Value model
Entity-Attribute-Value model
Entity–attribute–value model is a data model to describe entities where the number of attributes that can be used to describe them is potentially vast, but the number that will actually apply to a given entity is relatively modest. In mathematics, this model is known as a sparse matrix...
and network/CODASYL
CODASYL
CODASYL is an acronym for "Conference on Data Systems Languages". This was a consortium formed in 1959 to guide the development of a standard programming language that could be used on many computers...
); and target markets. The term "embedded database" can be confusing because only a small subset of embedded database products is used in real-time
Real-time computing
In computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...
embedded systems such as telecommunications switches and consumer electronics
Consumer electronics
Consumer electronics are electronic equipment intended for everyday use, most often in entertainment, communications and office productivity. Radio broadcasting in the early 20th century brought the first major consumer product, the broadcast receiver...
devices.
Implementations
Major embedded database products include, in alphabetical order:Advantage Database Server
Advantage Database Server
Advantage Database Server is a relational database management system for small to medium sized businesses by Sybase iAnywhere. Database author Cary Jensen describes Advantage as follows: "Advantage has been around since 1993, when it was introduced to provide a stable solution for Clipper...
from Sybase Inc., Berkeley DB
Berkeley DB
Berkeley DB is a computer software library that provides a high-performance embedded database for key/value data. Berkeley DB is a programmatic software library written in C with API bindings for C++, PHP, Java, Perl, Python, Ruby, Tcl, Smalltalk, and most other programming languages...
from Oracle Corporation, CSQL
CSQL
CSQL is an open source main memory high-performance relational database management system developed @ sourceforge.net. It is designed to provide high performance for SQL queries and DML statements....
from csqlcache.com, EffiPRoz from EffiProz Systems, ElevateDB
ElevateDB
ElevateDB is an embedded database engine developed and marketed by ElevateDB supports most of the ANSI SQL:2003 standard with minimal deviations, and includes support for dynamic SQL/PSM in scripts, stored procedures/functions, triggers, and jobs...
from Elevate Software, Inc., Empress Embedded Database from Empress Software, Extensible Storage Engine
Extensible Storage Engine
Extensible Storage Engine , also known as JET Blue, is an Indexed Sequential Access Method data storage technology from Microsoft. ESE is notably a core of Microsoft Exchange Server and Active Directory. Its purpose is to allow applications to store and retrieve data via indexed and sequential...
from Microsoft, eXtremeDB from McObject, Firebird
Firebird (database server)
Firebird is an open source SQL relational database management system that runs on Linux, Windows, and a variety of Unix. The database forked from Borland's open source edition of InterBase in 2000, but since Firebird 1.5 the code has been largely rewritten ....
Embedded, HSQLDB
HSQLDB
HSQLDB is a relational database management system written in Java. It has a JDBC driver and supports a large subset of SQL-92 and SQL:2008 standards. It offers a fast, small database engine which offers both in-memory and disk-based tables...
from HSQLDB.ORG, Informix Dynamic Server
Informix Dynamic Server
Informix Dynamic Server, also known as IDS, is an extensible Relational Database Management System originally developed by Informix Software Inc....
(IDS) from IBM, InnoDB
InnoDB
InnoDB is the default storage engine for MySQL as of MySQL 5.5. It provides the standard ACID-compliant transaction features, along with foreign key support...
from Oracle Corporation, ITTIA DB from ITTIA, RDM Embedded
RDM Embedded
RDM Embedded is a high performance, ACID-compliant embedded database management system designed to be linked into C/C++ application programs. RDM Embedded has been designed to utilize multi-core computers, networking , and in-memory or on-disk storage. It provides a low-level C API and a higher...
and RDM Server
RDM Server
RDM Server is an embeddable, heterogeneous, client/server database management system supporting both C/C++ and SQL APIs for programming flexibility. The databases can be disk resident and/or memory resident. RDM Server implements multi-user locking, hot database backup, and a fully ACID compliant...
from Raima Inc., SolidDB
SolidDB
IBM solidDB is a product family, developed and sold by IBM. The product family includes two products built around an in-memory relational database management system. The first product is a stand-alone relational database management system entitled solidDB...
from IBM, SQLite
SQLite
SQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain and implements most of the SQL standard...
, SQL Server Compact
SQL Server Compact
Microsoft SQL Server Compact is a compact relational database produced by Microsoft for applications that run on mobile devices and desktops. Prior to the introduction of the desktop platform, it was known as SQL Server for Windows CE and SQL Server Mobile Edition...
from Microsoft Corporation, Valentina DB from Paradigma Software, and VistaDB from VistaDB Software, Inc.
Accuracer Database System
Accuracer Database System from AidAim Software is a compact, embedded, single-file, multi-user (file-server and client/server) x86 and x64 Microsoft WindowsMicrosoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
/ Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
cross-platform DBMS with SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....
database engine released as independent packages for different IDEs and ODBC API as a DLL
Dynamic-link library
Dynamic-link library , or DLL, is Microsoft's implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems...
for Microsoft Windows. Accuracer Database System supports Embarcadero
Embarcadero Technologies
Embarcadero Technologies is an American computer software company that develops, manufactures, licenses, and supports a wide range of products and services related to software through its various dynamic product divisions...
Delphi, C++Builder, and Borland Kylix IDEs from the old versions to the newest ones. Accuracer Database System has Bold for Delphi
Bold for Delphi
Bold for Delphi is an advanced Object Relational Mapper and application framework. It is designed to significantly increase developer's productivity providing them with the following facilities:* Object-relational mapping for persisting domain objects...
support, a number of modules for visual query building, Manager, SQLConsole, as well as other utilities with full source code, and Accuracer Database Server, a server application for Microsoft Windows. Accuracer Database System provides wide set of data compression
Data compression
In computer science and information theory, data compression, source coding or bit-rate reduction is the process of encoding information using fewer bits than the original representation would use....
and encryption modes for network traffic in client/server mode as well as for a database file. Database file in Accuracer format can be compiled into EXE
EXE
EXE is the common filename extension denoting an executable file in the DOS, OpenVMS, Microsoft Windows, Symbian, and OS/2 operating systems....
and accessed in read-only mode. All Accuracer Database System products, commercial and free, are released under royalty-free licenses.
Advantage Database Server
Sybase's Advantage Database Server (ADS) is a full-featured embedded database management system. It provides both 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 has been around for many years and is highly scalable, with no administration, and has support for a variety of IDEs including .NET.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
, Delphi, FoxPro
Visual FoxPro
Visual FoxPro is a data-centric object-oriented and procedural programming language produced by Microsoft. It is derived from FoxPro which was developed by Fox Software beginning in 1984. Fox Technologies merged with Microsoft in 1992, after which the software acquired further features and the...
, PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
, VB
Visual Basic
Visual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...
, VO
Visual Objects
Visual Objects is an object-oriented computer programming language that is used to create software programs that operate primarily under Windows...
, Vulcan, Clipper, Perl, Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
, xHarbour
XHarbour
xHarbour is a free multi-platform extended Clipper compiler, offering multiple graphic terminals , including console drivers, GUIs, and hybrid console/GUIs...
, etc.
CSQL
CSQL is a open source transactional, persistent in-memory SQL database engine.csql project pageEffiProz
Effiproz is a transactional, persistent in-memory SQL database engine written entirely in C#. SQL features include SQL Stored Procedures, Functions, Triggers,etc. Support .Net Framework 3.5, Silverlight 3 and .Net Compact Framework.EffiProz project pageElevateDB
ElevateDB is a royalty-free, SQL:2003SQL:2003
SQL:2003 is the fifth revision of the SQL database query language. The latest revision of the standard is SQL:2008.-Summary:The SQL:2003 standard makes minor modifications to all parts of SQL:1999 , and officially introduces a few new features such as:* XML-related features * Window functions* the...
-compliant, compact, embedded database engine available for Delphi
Delphi
Delphi is both an archaeological site and a modern town in Greece on the south-western spur of Mount Parnassus in the valley of Phocis.In Greek mythology, Delphi was the site of the Delphic oracle, the most important oracle in the classical Greek world, and a major site for the worship of the god...
(Win32), C++Builder (Win32), Lazarus (Win32/WinCE), Visual Studio (.NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
and .NET CF), and any ODBC-compliant application. Under Delphi
Delphi
Delphi is both an archaeological site and a modern town in Greece on the south-western spur of Mount Parnassus in the valley of Phocis.In Greek mythology, Delphi was the site of the Delphic oracle, the most important oracle in the classical Greek world, and a major site for the worship of the god...
, Lazarus, and C++Builder, ElevateDB can be compiled directly into the application, whereas under .NET it is a single assembly and the ODBC driver is implemented as a single .DLL. ElevateDB operates in single-user, multi-user file-sharing, and client-server modes, and includes the ElevateDB Server for client-server operation.
Embedded InnoDB
Embedded InnoDB is a standalone, embeddable form of the InnoDB Storage Engine. Given that Embedded InnoDB is based on the same code base as the InnoDB Storage Engine, it contains many of the same features: high-performance and scalability, Multi-Version Concurrency ControlMultiversion concurrency control
Multiversion concurrency control , in the database field of computer science, is a concurrency control method commonly used by database management systems to provide concurrent access to the database and in programming languages to implement transactional memory.For instance, a database will...
(MVCC), row-level locking, deadlock detection, fault tolerance, automatic crash recovery, etc. However, because the embedded engine is completely independent from MySQL, it lacks server components such as networking, object-level permissions, etc. By eliminating the MySQL server overhead, InnoDB has a small footprint and is well-suited for embedding in applications which require high-performance and concurrency. As with most embedded database systems, Embedded InnoDB is designed to be accessed primarily with an ISAM-like C API rather than SQL (though an extremely rudimentary SQL variant is supported).
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 ACIDACID
In computer science, ACID is a set of properties that guarantee database transactions are processed reliably. In the context of databases, a single logical operation on the data is called a transaction...
compliant, SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....
database engine with C, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
, Java, JDBC, ODBC, SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....
, ADO.NET
ADO.NET
ADO.NET is a set of computer software components that programmers can use to access data and data services. It is a part of the base class library that is included with the Microsoft .NET Framework. It is commonly used by programmers to access and modify data stored in relational database systems,...
and kernel level APIs. Applications developed using these APIs may be run in standalone and/or server modes. Empress Embedded Database runs on Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
, Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
and Real-time operating system
Real-time operating system
A real-time operating system is an operating system intended to serve real-time application requests.A key characteristic of a RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task; the variability is jitter...
s.
Extensible Storage Engine
ESE is an Indexed Sequential Access Method (ISAM) data storage technology from Microsoft. ESE is notably 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 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 logTransaction log
In the field of databases in computer science, a transaction log is a history of actions executed by a database management system to guarantee ACID properties over crashes or hardware failures...
ging 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 the operating system kernel. Today, eXtremeDB is used in millions of real-time and embedded systems worldwide. McObject also offers Perst
Perst
Perst is an open source, dual license, object-oriented embedded database management system , available in two implementations: one that is developed entirely in the Java programming language, and another developed in the C# language .Perst for .NET supports standard and compact .NET frameworks and...
, an open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
, object-oriented embedded database for Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
, Java ME, .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
, .NET Compact Framework
.NET Compact Framework
The Microsoft .NET Compact Framework is a version of the .NET Framework that is designed to run on resource constrained mobile/embedded devices such as personal digital assistants , mobile phones, factory controllers, set-top boxes, etc...
and Silverlight.
Firebird Embedded
Firebird Embedded is a relational database engine. It's on OpenSource fork of InterBase, is A.C.I.D compliant, supports triggers and stored procedures, and is available on Linux and Win32/Win64 systems. It has the same features as the classic and superserver version of Firebird, two or more threads (and applications) can access the same database at the same time starting with Firebird 2.5. So Firebird embedded acts as a local server for a single threaded client accessing its databases (that means it works properly for ASP.NET web applications, because there, each user has its own thread, which means two users could access the same database at the same time, but they would not be in the same thread, because ASP.NET opens a new thread for each user). It exports the standard Firebird API entrypoints. The main advantage of Firebird embedded databases is, that unlike SQlite or Access databases, they can be plugged-in to a full Firebird server without any modifications at all also is multiplatform (runs on Linux,OSX with full asp.net mono support)HSQLDB
HSQLDB is an opensource relational database management systemRelational database management system
A relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular databases currently in use are based on the relational database model....
with a BSD-like license that runs in the same Java Virtual Machine as the embedded application. HSQLDB supports a variety of in-memory and disk-based table modes, Unicode and SQL:2008.
InfinityDB
InfinityDB is an all Java B+Tree Database Engine that is embeddable in the smallest to the largest applications that run on hand held devices, workstations, servers, or in distributed systems. InfinityDB provides a data integrity guarantee through all non-media failures, provides a simple API with only a few basic methods, and requires no administrative support. Version 2 offers full ACID transactionality without a log and with fine-grained locks. Programmers can superimpose their own data model, or employ the Entity-Attribute-Value model, by direct low-level access. The basic engine provides multi-valued or set attributes, all primitive Java types, unlimited Large Objects, heterogenous values, composite keys (Entities) and values, and unlimited sparse attributes, all extensible in-place with no schema changes.Informix Dynamic Server
Informix Dynamic Server (IDS) is characterized as an "enterprise class embeddable database server", combining embeddable features such as low footprint, programmable and autonomic capabilities with enterprise class database features such as high availability and flexible replication features. IDS is used in deeply embedded scenarios such as IP telephony call-processing systems, point of sale applications and financial transaction processing systems.InterBase
InterBase is a cross-platform, Unicode enabled SQL database platform able to be embedded within turn-key applications. Out of the box SMP support (Server Edition), SQL 92 compliance and support for Windows, Linux, Solaris, and Macintosh platforms. Ideal for small-to-medium enterprises.ITTIA DB
ITTIA DB is a cross-platform embedded database for embedded system and intelligent mobile device software developers. ITTIA DB is a true relational database management systemRelational database management system
A relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular databases currently in use are based on the relational database model....
, supporting runtime SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....
queries, isolation levels, write ahead logging
Write ahead logging
In computer science, write-ahead logging is a family of techniques for providing atomicity and durability in database systems....
, and B+ tree
B+ tree
In computer science, a B+ tree or B plus tree is a type of tree which represents sorted data in a way that allows for efficient insertion, retrieval and removal of records, each of which is identified by a key. It is a dynamic, multilevel index, with maximum and minimum bounds on the number of...
indexes. To support the wide variety of operating systems and hardware used in embedded development, ITTIA DB databases use a portable format that can be accessed with or without SQL through C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
and C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
APIs
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
. Disk, memory, and hybrid databases are supported.
Kyoto Cabinet
Kyoto Cabinet is a straightforward implementation of a dbmDbm
dbm was the first of a family of simple database engines, originally written by Ken Thompson and released by AT&T in 1979. The name is a three letter acronym for database manager....
, it compares well to Oracle Berkeley DB, but on large datasets fails more gracefully, it is released under the GPL (with commercial licensing available) by Mikio Hirabayashi in 2009.
NexusDB
NexusDB is the commercial successor to the FlashFiler database which is now open source. They can both be embedded in Delphi applications to create stand-alone executables with full database functionality.Oracle Berkeley DB
As the name implies, Oracle’s embedded database is actually Berkeley DBBerkeley DB
Berkeley DB is a computer software library that provides a high-performance embedded database for key/value data. Berkeley DB is a programmatic software library written in C with API bindings for C++, PHP, Java, Perl, Python, Ruby, Tcl, Smalltalk, and most other programming languages...
, which Oracle acquired from Sleepycat Software. It was originally developed at the University of California. Berkeley DB 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, Apache Web server, OpenLDAP directory, OpenOffice productivity suite.
RDM Embedded
RDM Embedded, produced by RaimaRaima
Raima is a provider of high-performance, real time, always on database technology for both in-memory database usage and persistent storage devices. The company has offices in Seattle, USA and London, UK.- History :...
was one of the first database management systems to be categorized as an "embedded database" when it made its debut in 1984 under the name db_Vista. According to Raima's definition, the product is "embedded" in two senses: first, it is embedded within an application, becoming an extension to the application, second, it is possible to use it in embedded computer/OS or real-time environments because of its small footprint and efficient operation. Its APIs (for C/C++ and SQL) have been designed to support the limited resources of embedded environments. Since its initial release, RDM Embedded has been continually evolving and is currently released as version 10.1. Today Raima produces two products under the product names RDM Embedded
RDM Embedded
RDM Embedded is a high performance, ACID-compliant embedded database management system designed to be linked into C/C++ application programs. RDM Embedded has been designed to utilize multi-core computers, networking , and in-memory or on-disk storage. It provides a low-level C API and a higher...
and RDM Server
RDM Server
RDM Server is an embeddable, heterogeneous, client/server database management system supporting both C/C++ and SQL APIs for programming flexibility. The databases can be disk resident and/or memory resident. RDM Server implements multi-user locking, hot database backup, and a fully ACID compliant...
.
ScimoreDB
Scimore is an embedded database running on Windows. It performs fast and can easily handle millions of rows. This database provides full data reliability (ACID properties), manages heavy loads and includes features such as support for T-SQL, Read/Merge replication with ScimoreDBScimoreDB
ScimoreDB is a proprietary freeware relational database management system for Microsoft Windows, developed by Scimore UAB.It features advanced features: SQL, ACID transactions, Multiversion concurrency control, free text search, shared nothing clustering, functional procedural shipment for...
server, Full text search
Full text search
In text retrieval, full text search refers to techniques for searching a single computer-stored document or a collection in a full text database...
. Clients can access database via .NET provider or C++ library.
SolidDB
IBM's SolidDB is another embedded database bought by a large technology company. Originally owned by Solid Information Technology, SolidDB was acquired in January 2008 by IBM. SolidDB is a hybrid disk/in-memory, relational database and is historically used as an embedded system database in telecommunications equipment, network software, and similar systems.SQLite
SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The source code for SQLite is in the public domain. Includes both a native C library and a simple command line client for its database. It is embedded in the Google Android smart phone operating system, which itself is written in and supports Java, however, it appears to be native code.SQL Server Compact
Microsoft's SQL Server Compact is an embedded database with wide variety of features like multi-process connections, T-SQL, ADO.NET Sync Services to sync with any back end database, Merge Replication with SQL Server, Programming API: LINQ to SQL, LINQ to Entities, ADO.NET. The product runs on both Desktop and Mobile Windows platforms. It has been in the market for long time, used by many enterprises in production software (Case Studies). The product went through multiple re-brandings and was known with multiple names like: SQL CE, SQL Server CE, SQL Server Mobile, SQL Mobile.Valentina DB
Paradigma Software Valentina DB is an embedded SQL database with wide variety of features, including broad support for native implementations on Windows, Linux and Mac OS X. It is available as a local engine for over 18 platforms. Developers can also use VDN to deploy a royalty free Embedded Server on Windows, Linux and Mac OS X, which also natively supports PHP and Ruby-on-Rails server side scripting.VistaDB
VistaDB is an embedded SQL database written entirely in C# and supports a number of features to make it compatible with SQL Server like T-SQL datatypes and syntax. The product runs on .Net platforms, including MonoMono (software)
Mono, pronounced , is a free and open source project led by Xamarin to create an Ecma standard compliant .NET-compatible set of tools including, among others, a C# compiler and a Common Language Runtime....
. It has been in the market since 2004, and is used by many companies (Customer List).
VistaDB was acquired by Gibraltar Software as of September 15, 2010.
See also
- Main Memory Databases
- Embedded Databases