# eXtremeDB as a Client/Server Development Tool

> As defined by wikipedia (https://en.wikipedia.org/wiki/Client%E2%80%93server_model), "the client–server model is as a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. " With eXtremeDB a database can be accessed directly by an application acting as server that processes requests sent to it from client applications via Remote Procedure Call (RPC).

> A more common way to implement client-server database applications is through the mechanism of Remote SQL, where one application acts as SQL server, receiving SQL statements from client applications on the same or different network nodes. The server processes the SQL statement(s) and returns the result set to the requesting client. This approach has the advantage of built-in error checking within the eXtremeSQL RemoteSqlClient and RemoteSqlServer engines and internal optimizations that can render SQL more scalable and efficient for some applications.

> Further, eXtremeSQL databases can be partitioned horizontally and accessed by multiple servers. eXtremeSQL provides xSQL which is can be configured either as a client or server to provide SQL access to eXtremeDB databases.