Chapter 8. Engineering Considerations

Any application that runs in a distributed environment must take its distributed nature into account if it is to be successful. Considerations such as data consistency, transactional integrity, conflict avoidance, and error handling are only a few of the issues to contend with. This chapter visits some of these issues and suggests best practices for addressing them.

Schema Design and Integration

As with most systems, you are fortunate if you are able to design a distributed database system from the ground up. In these cases, you have the flexibility to locate data optimally and to avoid anomalies in naming and constraint enforcement. But whether your system is prenatal or legacy, you face the challenges of data placement and schema integration for systems. Since I’m assuming in this book that all participating databases in the system are Oracle based, I won’t address the additional complications associated with a heterogeneous distributed system.

The process for designing a distributed database schema is not much different from that for designing a local schema in the initial stages; entities are identified, relationships are defined, processes are mapped, and so on. The step that is unique to distributed systems is data placement, otherwise known asdata partitioning or data fragmenting. Chapter 5, discussed methodologies for determining how to partition data; this chapter discusses additional considerations the application developer must take ...

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.