Acerca de Parallel Replicat

Parallel Replicat es otra variante de Replicat que aplica transacciones en paralelo para mejorar el rendimiento.

Tiene en cuenta las dependencias entre transacciones, de forma similar a Integrated Replicat. El cálculo de dependencias, el paralelismo de la asignación y la aplicación se realizan fuera de la base de datos para que se puedan descargar a otro servidor. La integridad de la transacción se mantiene en este proceso. Además, el Replicat paralelo soporta la aplicación paralela de transacciones grandes dividiendo una transacción grande en fragmentos y aplicándolas en paralelo.

Parallel Replicat soporta los dos modos siguientes: integrado y no integrado. Solo Oracle AI Database soporta la replicación paralela en modo integrado.

Para utilizar el Replicat paralelo, debe asegurarse de que tiene los siguientes valores, que también son los valores por defecto:

Con Replicat paralelo integrado, Replicat envía los LCR al servidor entrante, que aplica los datos a la base de datos de destino, y en Replicat paralelo normal, Oracle GoldenGate aplica el LCR como sentencia SQL directamente a la base de datos, de forma similar a cómo funcionan los otros Replicats no integrados. Nota: Para obtener el mejor rendimiento para una carga de trabajo OLTP, se recomienda el Replicat paralelo en modo no integrado.

Los componentes del Replicat paralelo son:

Ventajas de Parallel Replicat

A continuación se muestran las ventajas del uso de Replicat paralelo:

Arquitectura de replicación en paralelo

Los procesos de replicación en paralelo aprovechan la funcionalidad de procesamiento de aplicación que está disponible en Oracle AI Database en modo integrado. En una única configuración de Replicat, varios procesos secundarios de servidor denominados servidores de aplicación aplican transacciones en paralelo al tiempo que conservan la atomicidad de transacción original.

En el siguiente diagrama de arquitectura se muestra el flujo de registros de cambios a través de los distintos procesos de una replicación paralela de los archivos de pista a la base de datos de destino, para un Replicat paralelo no integrado.

Descripción de para_rep_arch.png a continuación

A continuación se muestra la descripción del diagrama de arquitectura indicado anteriormente:

Parámetros básicos para Parallel Replicat

En la siguiente tabla se muestran los parámetros básicos de Replicat en paralelo y su descripción.

Parámetro Descripción

MAP_PARALLELISM

Configura el número de asignadores. Controla el número de threads utilizados para leer el archivo de pista. El valor mínimo es 1, el valor máximo es 100 y el valor por defecto es 2.

APPLY_PARALLELISM

Permite configurar el número de aplicadores. Esto controla el número de conexiones en la base de datos de destino que se utilizan para aplicar los cambios. El valor por defecto es cuatro.

MIN_APPLY_PARALLELISM

MAX_APPLY_PARALLELISM

El paralelismo de aplicación se ajusta automáticamente. Puede definir un valor mínimo y máximo para definir los rangos en los que Replicat ajusta automáticamente su paralelismo. No hay valores por defecto. No utilizar con APPLY_PARALLELISM al mismo tiempo.

SPLIT_TRANS_RECS

Especifica que las transacciones grandes se deben dividir en partes de tamaño especificado y aplicar en paralelo. Las dependencias entre piezas siguen siendo respetadas. Está desactivado por defecto.

COMMIT_SERIALIZATION

Activa el modo de serialización FULL de confirmación, que fuerza la confirmación de transacciones en orden de pista.

Parámetros Avanzados

LOOK_AHEAD_TRANSACTIONS

Controla el adelanto que tiene el programador al realizar transacciones en batch. El valor por defecto es 10000.

CHUNK_SIZE

Controla el tamaño de una transacción para que el Replicat paralelo la considere grande. Cuando el Replicat paralelo encuentra una transacción de mayor tamaño que este, la serializa, lo que reduce el rendimiento. Sin embargo, el aumento de este valor también aumentará la cantidad de memoria consumida por el Replicat paralelo.

Archivo de parámetros de ejemplo

REPLICAT repe USERID ggadmin, password ***
MAP_PARALLELISM 3
MIN_APPLY_PARALLELISM 2
MAX_APPLY_PARALLELISM 10
SPLIT_TRANS_RECS 60000
MAP *.*, TARGET *.*;