Skip to content
Sahithyan's S3
1
Sahithyan's S3 — Database Systems

Embedded DBMS

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.

  • 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).
  • 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.
  • 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.

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.

Database engine installed with the application. Resides on the same machine. Small footprint, nearly full features. Can be accessed by multiple apps.

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.

DatabaseLanguageKey TraitsNotes
HSQLDB (Hypersonic SQL)JavaIn-memory or on-diskLightweight, useful for demos
Apache DerbyJavaEmbedded or client-server modeIncluded in Java EE (Java DB)
SQLiteC~350 KB. Embedded in AndroidMost used embedded DB
Berkeley DBC, JavaLibrary-based, no SQL layerExtremely fast; used in LDAP, Sendmail
InterBaseC++Works in server or embedded modeSupports encryption, SQL, JDBC, ODBC