Designing conflicts out of an application

One way to handle conflicting updates from different sites is to construct the application and the environment so that conflicts cannot happen. 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.