Additional Architectures

In-memory databases

An in-memory database is a database that stores data in main memory, instead of or in addition to storage media. Main memory is much faster than storage media, such as flash memory and disk drives. Consequently, in-memory databases are appropriate for analytic applications, which require fast execution of lengthy queries. In-memory databases are also appropriate for applications that rapidly insert high volumes of data, such as data collection from internet devices.

Embedded Databases

An embedded database, sometimes called an in-process database, is a database that is packaged with a programming language. An embedded database and application program execute together in a single software process. Embedded databases are used in single-user applications that require no database administration, such as applications designed for mobile devices.

Federated Databases

A federated database is a collection of two or more participating databases underneath a coordinating software layer. The participating databases are autonomous and heterogeneous:

  • An autonomous database operates independently of other participating databases. An autonomous database is administered and can be queried as if the database were not part of a federated database.

  • Heterogeneous databases either run under different database systems or have incompatible schema. Databases with incompatible schema might have inconsistent primary and foreign keys, similar tables with different designs, or similar columns with different names and data types