- Parallel Replicat applies transactions in parallel to improve performance.
- It takes into account dependencies between transactions, similar to Integrated Replicat.
- The dependency computation, parallelism of the mapping, and apply are performed outside the database so it can be offloaded to another server.
- Transaction integrity is maintained in this process.
- Parallel Replicat supports the parallel apply of the large transactions by splitting a large transaction into chucks and applying them in parallel.
- Parallel Replicat is only for Oracle Database as of Oracle GoldenGate 19.1.
- It supports only replicating data from trails with full metadata.
GoldenGate 12.3 and higher supports the parallel Replicat feature. The parallel Replicat applies transactions in parallel to improve performance. It takes into account dependencies between transactions, similar to integrated Replicat. The dependency computation, parallelism of the mapping and apply is performed outside the database so can be off-loaded to another server. The transaction integrity is maintained in this process. In addition, parallel Replicat supports the parallel apply of large transaction by splitting a large transaction into chunks and applying them in parallel. Parallel Replicat supports all databases using the nonintegrated option.
Parallel Replicat only support replicating data from trails with full metadata, which requires the classic trail format. Parallel Replicat is only for Oracle Database as of Oracle GoldenGate 19.1. The group name of a parallel Replicat can only contain up to five character.
Components of Parallel Replicat
- Mapper: Operates in parallel to read the trail, maps trail records, converts the mapped records to the Integrated Replicat LCR format, and send the LCRs to Merger for further processing.
- Master Processes: Have two threads i.e. Collater and Scheduler
- Collater: Receives mapped transactions from the Mappers and puts them back into trail order for dependency calculation.
- Scheduler: Calculates dependencies between transactions, groups transactions into independent batches, and sends the batches to the Appliers to be applied to the target database.
- Appliers: Reorder records within a batch for array execution.
Parallel Replicat Performance Improvement
* Improved performance and scalability for Parallel Replicat
* Better auto-scaling algorithm and auto-tuning
* Remote Parallel Replicat supports cloud databases i.e. ATP (Use NonIntegrated mode), ADW (Use NonIntegrated mode), ExaCC (Use Integrated – 12.2 or higher- and NonIntegrated mode) and ExaCS (Use Integrated – 12.2 or higher – and NonIntegrated mode).
* Oracle recommends all customers with to Parallel Replicat in OGG 19.1
The parallel Replicat can be up to 5X faster than Integrated Replicat, although you results may vary based on workload, parameters and memory etc. It provides the option to apply a single large transaction in parallel and supports Oracle Database 220.127.116.11 and later.
Parallel Replicat Control Parameters
- MAP_PARALLELISM: Configures the number of mappers. This controls the number of threads used to read the trail file. The minimum value is 1, maximum value is 100, and the default value is 2.
- APPLY_PARALLELISM: Configures the number of appliers. This controls the number of connections in the target database used to apply the changes. The default value is 4.
- MIN_APPLY_PARALLELISM & MAX_APPLY_PARALLELISM: The Apply parallelism is auto-tuned. You can set a minimum and maximum value to define the ranges in which the Replicat automatically adjusts its parallelism. There are no defaults. Do not use with APPLY_PARALLELISM at the same time.
- SPLIT_TRANS_REC: Specifies that large transactions should be broken into pieces of a specified size and applied in parallel. Dependencies between pieces are still honored. This is disabled by default.
- CHUNK_SIZE: Controls how large a transaction must be for parallel Replicat to consider it as large. When parallel Replicat encounters a transaction larger than this size, it will serialize it, resulting in decreased performance.
MA: Change Delivery Tasks
- Create a checkpoint table in the target database – Best Practice. (OGG> Add CheckpointTable c##oggadmin.myckpt)
- Create a parameter file for Replicat. (OGG> Edit Params <group>
- Create a Replicat group. (OGG> Add Replicat <params>
- Start the Replicat process. (OGG> Start Replicat <group>)