Refers to a DBMS tightly integrated with an application. Operates inside the application and is usually invisible to the user.
Used in: mobile apps, IoT systems, industrial devices, and embedded controllers.
Characteristics
Section titled “Characteristics”- Hidden from end-user.
- Minimal or no maintenance.
- No dedicated Database Administrator (DBA).
- Supports in-memory or on-disk modes.
- Fast access: Local access within the application.
- Low total cost of ownership (TCO).
Design Concerns
Section titled “Design Concerns”- APIs: SQL, native, or proprietary interfaces.
- Architectures: Lightly or deeply embedded.
- Storage modes: In-memory, on-disk, or hybrid.
- Database types: Relational, object-oriented, key-value, or EAV models.
- Target markets: mobile, real-time, or resource-limited devices.
Characteristics
Section titled “Characteristics”- Integrated into host applications.
- Often embedded through scripting (e.g., Python, Java).
- Lightweight and low-cost.
- May not scale well for large systems.
- Transaction control is supported.
- Limited text search or SQL support.
Architectures
Section titled “Architectures”Client–Server Architecture
Section titled “Client–Server Architecture”The traditional one. Database server is a separate process. Clients connect via network (JDBC, ODBC, etc.). Multiple clients can access simultaneously. Requires installation, setup, and maintenance.
Lightly Embedded Architecture
Section titled “Lightly Embedded Architecture”Database engine installed with the application. Resides on the same machine. Small footprint, nearly full features. Can be accessed by multiple apps.
Deeply Embedded Architecture
Section titled “Deeply Embedded Architecture”Database runs inside the application process. No external database engine. Distributed easily as a library file. Popular in mobile apps. Ideal for offline and single-user environments.
Examples
Section titled “Examples”| Database | Language | Key Traits | Notes |
|---|---|---|---|
| HSQLDB (Hypersonic SQL) | Java | In-memory or on-disk | Lightweight, useful for demos |
| Apache Derby | Java | Embedded or client-server mode | Included in Java EE (Java DB) |
| SQLite | C | ~350 KB. Embedded in Android | Most used embedded DB |
| Berkeley DB | C, Java | Library-based, no SQL layer | Extremely fast; used in LDAP, Sendmail |
| InterBase | C++ | Works in server or embedded mode | Supports encryption, SQL, JDBC, ODBC |