Design Conflicts Out of an Application

Handle conflicting updates from different sites.

Construct the application and the environment so that conflicts are impossible. For example, an application with customer account information distributed to each of several branch offices could require that an account be updated only at the customer’s home branch. This prevents two clients from updating the same account at the same time in different databases.

Another technique is to include a location key, such as a branch ID, in the primary key for replicated tables. If each site uses a unique location key for all of its transactions, inter-site conflicts cannot occur.