Multiple Server Resilience

In these configurations each application program can access a local database and also multiple servers. Each database table is either processed locally or stored on one or more servers (possibly including the local machine); fetches on a table stored on multiple servers can be processed by any one of the servers and updates to such a table are broadcast to all the servers holding the table.

The network router AUXDISTR, is responsible for routing requests from applications to the appropriate locations, passing requests to either the the local database manager, or one or more remote servers (via the network requester) as appropriate.

Each table on a database is marked on the database as either local or remote. (This is done in the same way as for Local Database Resilience Clients, i.e. by using makedb -expert to set or clear the "local table only" flag for the table.) Operations on local tables are directed to the local database, and operations on remote databases are broadcast to a set of servers. The default set of servers to use for a 'remote' operation is determined by command tails, but can be over-ridden on a per-table basis by posting records to a network layout table.

Multiple Reslience Configurations divide into two main types, according to whether or not the machine also acts as a server for other machines on the network. For configurations without server capabilities there may or may not be a local database. Instructions for loading the different configurations can be found in How to Load Multiple Resilience Clients and How to Load Multiple Resilience Combined Client/Servers.

Limitations