Does the term 'embedded database' carry different meaning from 'database'?
4 Answers
There are two definitions of embedded databases I've seen:
- Embedded database as in a database system particularly designed for the "embedded" space (mobile devices and so on.) This means they perform reasonably in tight environments (memory/CPU wise.)
- Embedded database as in databases that do not need a server, and are embedded in an application (like SQLite.) This means everything is managed by the application.
I've personally never seen the term used exactly as Wikipedia defines it, but that's probably my fault, although it resembles quite a bit my number 2 above.

- 330,807
- 53
- 334
- 373
-
Thanks for the reply. I have a question. WRT to #2, do you say that the server actually resides within the application server so start/stopping the app server takes care of the database process start/stop? – ihavprobs Jul 04 '11 at 14:21
-
Depends on the exact technology used on both the database and application, but yes, the application manages the data store. In SQLite's case, it's just a library that you link against so there's no actual server. – Vinko Vrsalovic Jul 04 '11 at 14:25
-
Thanks again. To be specific, am trying to use apache derby database for a apache wicket web app inside apache geronimo server. So, its the start/stop of geronimo server that takes care of the entire database server management so the admin user need not worry about a separate database server. Am i correct? – ihavprobs Jul 04 '11 at 14:31
-
Good answer - but beware that "embedded SQL" means something altogether different. – symcbean Jul 04 '11 at 14:35
-
-
If you use the "embedded JDBC driver" then everything runs in the same VM as your app, so killing the app container would indeed kill the DB (as it kills your app) and starting it up would start it up (although more precisely it's your app that would bring up the DB via the JDBC calls.) http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html – Vinko Vrsalovic Jul 04 '11 at 14:50
The word 'embedded' does add meaning, basically that the database is dedicated to a specific application rather than shared among multiple applications, to a degree hidden from the user of the application, and completely controlled by the application.
An embedded database is conceptually just a part of the application rather than a separate thing.

- 40,677
- 6
- 91
- 113
Just see the usage of ... for example a H2-embedded database. You don't need a server running on your machine, your whole database ist stored in one (these are originally two) local file. It is opened and locked when you connect to your DB, and it is unlocked when you disconnect.

- 924
- 2
- 12
- 29
When a developer embeds a database library inside an application and there is no need for administrator, it is called embedded database. Database is hidden, but data management via SQL (e.g. ITTIA DB SQL) or no SQL (e.g. Berkeley DB) is accessible through APIs. Embedded databases are common for web development or device applications.

- 11
- 1