Servers, Peer Clients, and Server Groups

A SQLFire server is a process that hosts data and is a member of a peer-to-peer distributed system. SQLFire servers run in Java Virtual Machines (JVMs).

You start a SQLFire server using the sqlf tool from a command prompt or terminal window. sqlf launches servers as standalone processes that are akin to database servers. The servers can accept TCP connections from thin clients, authenticate credentials, manage sessions, delegate work to a thread pool for SQL processing, and so forth.

A peer client, also known as an embedded client, is a SQLFire-aware JDBC client that connects to the distributed system using the JDBC peer driver. Peer clients are always connected to the distributed system, and they have single-hop access to data. A peer client can be configured as a pure client (referred to as an accessor member) or as a client that also hosts data (a data store).

Both JDBC peer client processes and server processes are peer members of the distributed system. The members discover each other dynamically through a built-in multicast based discovery mechanism or by using a locator service when TCP discovery is more desirable.

Note: In addition to peer client members that participate in a cluster, SQLFire servers support thin client connections from JDBC and ADO.NET thin client drivers. See Developing Java Clients and Peers and Developing ADO.NET Client Applications.

SQLFire servers and peer clients that host data (when the host-data property is set to true) are automatically part of the default server group. A server group is a logical grouping of SQLFire server and peer client members that defines the data stores that should host data for table. When any SQLFire object is created, such as a table, in the CREATE TABLE statement you can specify the server group name where the table will be hosted. If no group is specified, the table is hosted in the default server group. Using Server Groups to Manage Data provides additional information.