Oracle GoldenGate architecture
So what makes GoldenGate different from other data replication products? The quick answer is the architecture. GoldenGate can achieve heterogeneous and homogeneous-real-time transactional Change Data Capture and integration by decoupling itself from the database architecture. This in itself provides a performance boost as well as flexibility through its modular components.
A number of system architecture solutions are offered for data replication and synchronization:
One-to-one (source to target)
One-to-many (one source to many targets)
Many to one (hub and spoke)
Cascading
Bi-directional (active active)
Bi-directional (active passive)
No one configuration is better than another. The one you choose is largely dependent on your business requirements.
One-to-One
By far the simplest and most common configuration is the "source to target". Here we are performing real-time or batch change data replication between two sites in a unidirectional fashion. This could be, for example, between a primary and standby site for Disaster Recovery (DR) or an OLTP to data warehouse for Business Intelligence (BI) and OLAP.
One-to-One architecture provides a data replication solution that offers the following key benefits:
Live reporting
Fastest possible recovery and switchover (when the target is synchronized with the source)
Backup site that can be used for reporting
Supports DDL replication
Due to its simplicity, the One-to-One architecture is referred to many times in this book to effectively demonstrate:
Process configuration
Data transformation
Troubleshooting techniques
Performance tuning tips and tricks
One-to-Many
Another popular GoldenGate configuration is the One-to-Many architecture. This architecture lends itself perfectly to provide two solutions. One data replication feed for reporting and one for backup and DR. The following example helps to illustrate the method.
One-to-Many architecture provides a data replication solution that offers the following key benefits:
Dedicated site for Live reporting.
Dedicated site for backup data from source database.
Fastest possible recovery and switchover, when using a dedicated backup site. It minimizes logical data corruption as the backup database is separate from the read-write OLAP database.
The One-to-Many architecture is very flexible, given that it provides two solutions in one—a reporting and a standby database, both of which can have different table structures.
Many-to-One
The Many-to-One configuration comes into play for peripheral sites updating a central computer system representing a hub and spokes on a wheel. This scenario is common in all industries, from retail outlets taking customer orders to high street bank branches processing customer transactions. Ultimately, the data needs to make it to the central database ASAP and cannot become lost or corrupted. GoldenGate's architecture lends itself perfectly to this scenario, as seen in the next example. Here we have three spoke sites sending data to the central hub site.
One important point to mention here is Conflict Handling. In a "hub and spoke" configuration, with concurrent updates taking place, data conflicts are highly likely to occur. Should the same database table row or field be updated by more than one source, on the target the conflict must be handled by GoldenGate to allow either one of the transactions to succeed or to fail all.
Another "hub and spoke" solution includes the One-to-Many configuration. A typical example being the company head office sending data to its branches. Here, conflict handling is less of an issue.
Cascading
The cascading architecture offers data replication at n sites, originating from a single source. As the data flows from the originating source database, parts or all of it are "dropped off" at each site in a cascading fashion until the final target is populated. In the following example, we have one source (Site A) and three targets (Sites B, C and D). Intermediate Sites B and C have both source and target trails, whereas Site A has only a source and Site D only a target trail.
What data to replicate is configured by using Filters in the GoldenGate parameter files at each target site, making the Cascade architecture one of the most powerful, yet complex configurations. Users at each site input data that can also be replicated to the next site.
Bi-directional (Active-Active)
The following is an example of an active-active configuration, where Site A sends changed data to Site B and vice versa. Again, Conflict Handling is an important consideration. A conflict is likely to occur in a bi-directional environment, where the same row or field is being updated at both sites. When the change is replicated, a conflict occurs. This needs to be resolved by GoldenGate based on the business rules, that is, should data from Site B overwrite Site A, or should both transactions fail?
Bi-directional (active-active) architecture provides a data replication solution that offers the following key benefits:
High availability
Transaction load distribution
Performance scalability
Another key element to include in your configuration is Loop Detection. We do not want data changes going round in a loop, where Site A updates Site B, then Site B updates Site A, and so on.
Do not be put off by the Bi-directional architecture. When configured correctly, this architecture offers the most appropriate solution for global companies and organizations, allowing users in two centers, both sides of the globe to share the same system and data.
The active-active configuration is very different from the active-passive, which we discuss in the following section.
Bi-directional (Active-Passive)
The following is an example of an active-passive configuration, sometimes called "Live Standby", where Site A sends changed data to Site B only. You'll notice that the path from Site B to Site A is "grayed-out", suggesting that the data replication path can be re-enabled at short notice. This means that the GoldenGate processes exist and are configured, but have not been started.
Bi-directional (active-passive) architecture provides a data replication solution that offers the following key benefits:
Both sites have database open read-write
Fastest possible recovery and switchover
Reverse direction data replication ready
The active-passive configuration lends itself to being a DR solution, supporting a backup site should processes fail on the production site.