For Embedded or Client/Server

eXtremeDB can be deployed as either an embedded database system, or as a client/server database system.

An embedded database system is one that is linked directly to the application and executes in the same address space as the application. In other words, it is embedded within the application such that end-users of the application are unaware of the database system’s existence. An embedded database system is inherently zero- or low-administration because the ‘care-and-feeding’ of the DBMS is carried out by the application itself. An embedded database system can also exhibit better performance because there is no inter process communication or remote procedure call (IPC/RPC) needed to send requests to and receive responses from a database server.

A client/server database system is one for which a dedicated process, the database server, processes requests for database operations on behalf of multiple client applications. The client applications might all reside on the same physical system as the database server, or might all reside on different systems, or be a mixture of local and remote clients.  Client/server database systems have the potential to scale better than embedded database systems, but need to have some number of concurrent clients operating in order to overcome the inherent latency associated with the IPC/RPC.  Client/server database systems have more administrative requirements. The server needs to be instantiated before client applications. Typically, client’s need to be credentialed (which need to be set up, removed, etc). The database needs to be backed up. And miscellaneous other tasks that vary from one database system to another.