About
embedded databases are database that run in an embedded mode:
It means that it:
- runs along the code of the application in the same thread
- does not run as a service (ie client server mode)
Pros/Cons
Pros:
- No need to install them
- Performance as they run in the same thread (For instance, the Java Derby Database will run in the same JVM as the application)
- Portable
Cons:
- No client/server mode (ie no external connection by default). By default, they are not bound to a socket. Some databases allow it but it needs extra effort.
- Without any service socket:
- No sync without any extra software layer
- Available only for the application, not for client.
- only a single application can access a database at one time
- no network access occurs.