Applications That Avoid Conflicts

Ideally, applications never have conflicts, certainly never any unresolved conflicts. Although it is highly unlikely that any significant application can avoid conflicts entirely, such conflicts can certainly be kept to a minimum by observing some common sense and by taking advantage of the techniques that are available with the advanced replication facilities. The time you spend during the design phase to make your application “replication ready” will save considerable frustration later.

Normalize

Yes, once again, somebody is telling you to normalize your schema. In addition to the benefits of normalization that are extolled elsewhere, a normalized schema is far easier to replicate. Why? Consider a schema that is in first normal form (1NF)—that is, its tables contain redundant data. For example, a CUSTOMER table might have a column company_name. If this table contains 1000 records for customers who work for Acme Tire and Rubber, then 1000 records will have to be updated when Acme Tire and Rubber changes its name to Acme Tire and Rubber and Lawn Furniture. Since every update is a potential conflict, updates should be kept to a minimum. In addition, if a field such as company_name appears in numerous tables, you will have to devote significant effort to devising methods to ensure that an update to the field in one table affects the appropriate updates in the other tables not only locally, but also globally.

A more practical concern with a denormalized ...

Get Oracle Distributed Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.