Replique bases de datos de mainframe AWS mediante Precisely Connect - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Replique bases de datos de mainframe AWS mediante Precisely Connect

Creada por Lucio Pereira (AWS), Balaji Mohan () y Sayantan Giri () AWS AWS

Entorno: producción

Origen: unidad central en las instalaciones

AWSObjetivo: bases de datos

Tipo R: renovar arquitectura

Carga de trabajo: todas las demás cargas de trabajo

Tecnologías: bases de datos CloudNative; mainframe; modernización

AWSservicios: Amazon DynamoDB; Amazon Keyspaces; Amazon; MSK Amazon; Amazon RDS ElastiCache

Resumen

Este patrón describe los pasos para replicar datos de bases de datos de unidades centrales a los almacenes de datos de Amazon casi en tiempo real mediante Precisely Connect. Implementa una arquitectura basada en eventos con Amazon Managed Streaming for Apache Kafka (MSKAmazon) y conectores de bases de datos personalizados en la nube para mejorar la escalabilidad, la resiliencia y el rendimiento.

Precisely Connect es una herramienta de replicación que captura datos de sistemas de unidades centrales heredados y los integra en entornos en la nube. Los datos se replican desde los mainframes a AWS través de la captura de datos de cambios (CDC) mediante flujos de mensajes prácticamente en tiempo real con canalizaciones de datos heterogéneas de baja latencia y alto rendimiento. 

Este patrón también abarca una estrategia de recuperación de desastres para canalizaciones de datos resilientes con replicación de datos multirregional y enrutamiento de conmutación por error.

Requisitos previos y limitaciones

Requisitos previos 

  • Una base de datos de mainframe existente, por ejemplo IBMDB2, un sistema de administración de la IBM información () o un método de acceso al almacenamiento virtual (IMS), que desee replicar en la nube VSAM AWS

  • AWSUna cuenta activa

  • AWSDirect Connect o red privada AWS virtual (AWSVPN) desde su entorno corporativo a AWS

  • Una nube privada virtual con una subred a la que pueda acceder su plataforma antigua

Arquitectura

Pila de tecnología de origen

Un entorno de unidad central que incluya al menos una de las siguientes bases de datos:

  • IBMIMSbase de datos

  • IBMDB2base de datos

  • VSAMarchivos

Pila de tecnología de destino

  • Amazon MSK

  • Amazon Elastic Kubernetes Service (Amazon) y Amazon Anywhere EKS EKS

  • Docker

  • Una base de datos AWS relacional o sin SQL base de datos, como la siguiente:

    • Amazon DynamoDB

    • Amazon Relational Database Service (RDSAmazon) para Oracle, RDS Amazon para SQL Postgre o Amazon Aurora

    • Amazon ElastiCache para Redis

    • Amazon Keyspaces (para Apache Cassandra)

Arquitectura de destino

Replicación de datos de mainframe en bases de datos AWS

El siguiente diagrama ilustra la replicación de datos de mainframe en una AWS base de datos como DynamoDB, Amazon, Amazon o RDS ElastiCache Amazon Keyspaces. La replicación se produce casi en tiempo real mediante el uso de Precily Capture y Publisher en su entorno de mainframe local, Precily Dispatcher en Amazon EKS Anywhere en su entorno distribuido local y los conectores de base de datos y Prefactely Apply Engine en la nube. AWS 

Replicación de datos del mainframe en bases de datos AWS

En el diagrama, se muestra el siguiente flujo de trabajo:

  1. Precisamente Capture obtiene los datos del mainframe de CDC los registros y los mantiene en un almacenamiento transitorio interno.

  2. Precily Publisher escucha los cambios en el almacenamiento interno de datos y envía los CDC registros a Precily Dispatcher a través de una conexión /IP. TCP

  3. Precisamente Dispatcher recibe los CDC registros de Publisher y los envía a AmazonMSK. Dispatcher crea claves de Kafka en función de la configuración del usuario y de varias tareas de trabajo para enviar los datos en paralelo. El despachador envía un acuse de recibo a Publisher cuando los registros se hayan almacenado en Amazon. MSK

  4. Amazon MSK tiene los CDC récords en el entorno de nube. El tamaño de la partición de los temas depende de los requisitos de rendimiento del sistema de procesamiento de transacciones (TPS). La clave de Kafka es obligatoria para seguir ordenando transformaciones y transacciones.

  5. El motor de aplicación precisa escucha los CDC registros de Amazon MSK y transforma los datos (por ejemplo, filtrándolos o mapeándolos) en función de los requisitos de la base de datos de destino. Puede añadir una lógica personalizada a los SQD scripts de Precily. (SQDes el lenguaje propietario de Precisely). El motor de aplicación precisa transforma cada CDC registro al formato Apache Avro o al JSON formato Apache y lo distribuye a diferentes temas según sus necesidades.

  6. Los temas de Kafka de destino contienen CDC registros de varios temas en función de la base de datos de destino, y Kafka facilita la ordenación de las transacciones en función de la clave de Kafka definida. Las claves de partición se alinean con las particiones correspondientes para permitir un proceso secuencial. 

  7. Los conectores de bases de datos (aplicaciones Java personalizadas) escuchan los CDC registros de Amazon MSK y los almacenan en la base de datos de destino.

  8. Puede seleccionar una base de datos de destino en función de sus requisitos. Este patrón es compatible con bases de datos no SQL y relacionales.

Recuperación de desastres

La continuidad empresarial es clave para el éxito de su organización. La AWS nube proporciona capacidades de alta disponibilidad (HA) y recuperación ante desastres (DR), y respalda los planes de recuperación y recuperación ante fallos de su organización. Este patrón sigue una estrategia de recuperación ante desastres activa o pasiva y proporciona una guía de alto nivel para implementar una estrategia de recuperación ante desastres que se adapte a sus necesidades y a sus necesidades. RTO RPO

En el siguiente diagrama, se ilustra el flujo de trabajo de DR.

Flujo de trabajo de recuperación ante desastres para replicar datos de mainframe en AWS

En el diagrama se muestra lo siguiente:

  1. Se requiere una conmutación por error semiautomática si se produce alguna falla en la Región 1. AWS En caso de que se produzca un error en la Región 1, el sistema debe iniciar los cambios de enrutamiento para conectar a Precisely Dispatcher con la Región 2. 

  2. Amazon MSK replica los datos mediante la duplicación entre regiones. Por este motivo, durante la conmutación por error, el MSK clúster de Amazon de la Región 2 debe promocionarse como el líder principal. 

  3. Precisely Apply Engine y los conectores de bases de datos son aplicaciones sin estado que pueden funcionar en cualquier región. 

  4. La sincronización de la base de datos depende de la base de datos de destino. Por ejemplo, DynamoDB puede usar tablas globales ElastiCache y almacenes de datos globales.

Procesamiento de baja latencia y alto rendimiento mediante conectores de bases de datos

Los conectores de bases de datos son componentes fundamentales en este patrón. Los conectores siguen un enfoque basado en los oyentes para recopilar datos de Amazon MSK y enviar las transacciones a la base de datos mediante un procesamiento de alto rendimiento y baja latencia para aplicaciones de misión crítica (niveles 0 y 1). En el siguiente diagrama se ilustra este proceso.

Uso de conectores de bases de datos para replicar los datos del mainframe en AWS

Este patrón permite desarrollar una aplicación personalizada con un consumo de un solo subproceso mediante un motor de procesamiento de subprocesos múltiples.

  1. El hilo principal del conector consume CDC los registros de Amazon MSK y los envía al grupo de subprocesos para su procesamiento.

  2. Los subprocesos del grupo de subprocesos procesan CDC los registros y los envían a la base de datos de destino.

  3. Si todos los subprocesos están ocupados, la cola de subprocesos mantiene los CDC registros en espera.

  4. El hilo principal espera a que se borren todos los registros de la cola de subprocesos y envía las compensaciones a Amazon. MSK

  5. Los subprocesos secundarios gestionan los errores. Si se producen errores durante el procesamiento, los mensajes fallidos se envían al tema DLQ (cola de mensajes muertos).

  6. Los subprocesos secundarios inician actualizaciones condicionales (consulte Expresiones de condición en la documentación de DynamoDB), en función de la marca de tiempo del mainframe, para evitar cualquier duplicación o actualización en la base de datos. out-of-order

Para obtener información sobre cómo implementar una aplicación de consumidor de Kafka con capacidades de subprocesos múltiples, consulte la entrada del blog Consumo de mensajes multiprocesos con el consumidor de Apache Akfka en el sitio web de Confluent.

Herramientas

AWSservicios

Otras herramientas

  • Precision Connect integra los datos de los sistemas de mainframe heredados, como VSAM conjuntos de datos o bases de datos de IBM mainframe, en plataformas de datos y nube de próxima generación.

Prácticas recomendadas

  • Encuentre la mejor combinación de particiones Kafka y conectores multiprocesos para lograr un equilibrio óptimo entre rendimiento y costo. Varias instancias de Precision Capture y Dispatcher pueden aumentar el coste debido al mayor consumo MIPS (millones de instrucciones por segundo).

  • Evite añadir lógica de manipulación y transformación de datos a los conectores de bases de datos. Para ello, utilice Precisely Apply Engine, que proporciona tiempos de procesamiento en microsegundos.

  • Cree solicitudes periódicas o llamadas de comprobación de estado a la base de datos (latidos) en los conectores de la base de datos para calentar la conexión con frecuencia y reducir la latencia.

  • Implemente una lógica de validación de grupos de subprocesos para comprender las tareas pendientes en la cola de subprocesos y espere a que se completen todos los subprocesos antes del siguiente sondeo de Kafka. Esto ayuda a evitar la pérdida de datos si un nodo, contenedor o proceso se bloquea.

  • Exponga las métricas de latencia a través de puntos de conexión de estado para mejorar las capacidades de observabilidad mediante paneles y mecanismos de rastreo.

Epics

TareaDescripciónHabilidades requeridas

Configure el proceso del mainframe (utilidad en línea o por lotes) para iniciar el CDC proceso desde las bases de datos del mainframe.

  1. Identifique el entorno de unidad central.

  2. Identifique las bases de datos de mainframe que participarán en el proceso. CDC

  3. En el entorno de mainframe, desarrolle un proceso que inicie la CDC herramienta para capturar los cambios en la base de datos de origen. Para obtener instrucciones, consulte la documentación de su unidad central.

  4. Documente el CDC proceso, incluida la configuración.

  5. Implemente el proceso en entornos de prueba y producción. 

Ingeniero de unidad central

Active los flujos de registro de la base de datos de unidad central.

  1. Configure los flujos de registro en el entorno de mainframe para capturar CDC los registros. Para obtener instrucciones, consulte la documentación de su unidad central.

  2. Pruebe los flujos de registro para asegurarse de que capturan los datos necesarios.

  3. Implemente los flujos de registro en entornos de prueba y producción.

Especialista en bases de datos para unidad central

Utilice el componente Capture para capturar CDC registros.

  1. Instale y configure el componente Precisely Capture en el entorno de la unidad central. Para obtener instrucciones, consulte la documentación de Precisely.

  2. Pruebe la configuración para asegurarse de que el componente Capture funciona correctamente.

  3. Configure un proceso de replicación para replicar los CDC registros capturados a través del componente Capture.

  4. Documente la configuración de Capture para cada base de datos de origen.

  5. Desarrolle un sistema de supervisión para garantizar que el componente Capture recopile los registros correctamente a lo largo del tiempo.

  6. Implemente la instalación y las configuraciones en los entornos de prueba y producción.

Ingeniero de mainframe, Precisely Connect SME

Configure el componente Publisher para que escuche al componente Capture.

  1. Instale y configure el componente Precisely Publisher en el entorno de la unidad central. Para obtener instrucciones, consulte la documentación de Precisely.

  2. Pruebe la configuración para asegurarse de que el componente Publisher funciona correctamente.

  3. Configure un proceso de replicación para publicar los CDC registros en el componente Precily Dispatcher de Publisher.

  4. Documente la configuración de Publisher.

  5. Desarrolle un sistema de supervisión para garantizar que el componente Publisher recopile los registros correctamente a lo largo del tiempo.

  6. Implemente la instalación y las configuraciones en los entornos de prueba y producción.

Ingeniero de mainframe, Precisely Connect SME

Aprovisione Amazon en EKS cualquier lugar del entorno distribuido local.

  1. Instale Amazon EKS Anywhere en la infraestructura local y asegúrese de que esté configurada correctamente. Para obtener instrucciones, consulta la documentación de Amazon EKS Anywhere.

  2. Configure un entorno de red seguro para el clúster de Kubernetes, incluidos los firewalls.

  3. Implemente y pruebe la implementación de la aplicación de muestra en el clúster de Amazon EKS Anywhere.

  4. Implemente capacidades de escalado automático para el clúster.

  5. Desarrolle e implemente procedimientos de copia de seguridad y recuperación de desastres. 

DevOps ingeniero

Implemente y configure el componente Dispatcher en el entorno distribuido para publicar los temas en la AWS nube.

  1. Configure y organice en contenedores el componente Precisely Dispatcher. Para obtener instrucciones, consulte la documentación de Precisely.

  2. Implemente la imagen de Docker de Dispatcher en el entorno local de EKS Amazon Anywhere.

  3. Configure una conexión segura entre la AWS nube y Dispatcher.

  4. Desarrolle un sistema de supervisión para garantizar que el componente Dispatcher recopile los registros correctamente a lo largo del tiempo.

  5. Implemente la instalación y las configuraciones en los entornos de prueba y producción. 

DevOps ingeniero, Precisely Connect SME
TareaDescripciónHabilidades requeridas

Aprovisione un EKS clúster de Amazon en la AWS región designada.

  1. Inicia sesión en tu AWS cuenta y configúrala para asegurarte de que dispones de los permisos necesarios para crear y gestionar el EKS clúster de Amazon.

  2. Cree una nube privada virtual (VPC) y subredes en la AWS región seleccionada. Para obtener instrucciones, consulta la EKSdocumentación de Amazon.

  3. Cree y configure los grupos de seguridad de red necesarios para permitir las comunicaciones entre el EKS clúster de Amazon y otros recursos delVPC. Para obtener más información, consulta la EKSdocumentación de Amazon.

  4. Crea el EKSclúster de Amazon y configúralo con el tamaño de grupo de nodos y los tipos de instancias correctos.

  5. Valide el EKS clúster de Amazon mediante la implementación de una aplicación de muestra.

DevOps ingeniero, administrador de red

Aprovisione un MSK clúster y configure los temas de Kafka aplicables.

  1. Configure su AWS cuenta para asegurarse de que dispone de los permisos necesarios para crear y administrar el MSK clúster.

  2. Cree y configure los grupos de seguridad de red necesarios para permitir las comunicaciones entre el MSK clúster y otros recursos delVPC. Para obtener más información, consulta la VPCdocumentación de Amazon.

  3. Cree el MSK clúster y configúrelo para que incluya los temas de Kafka que utilizará la aplicación. Para obtener más información, consulta la MSKdocumentación de Amazon.

DevOps ingeniero, administrador de redes

Configure el componente Apply Engine para que escuche los temas de Kafka replicados.

  1. Configure y organice en contenedores el componente Precisely Apply Engine.

  2. Implementa la imagen de Docker de Apply Engine en el EKS clúster de Amazon de tu AWS cuenta.

  3. Configure el Apply Engine para escuchar los MSK temas.

  4. Desarrolle y configure un SQD script en el Apply Engine para gestionar el filtrado y la transformación. Para obtener más información, consulte la documentación de Precisely.

  5. Implemente Apply Engine en entornos de prueba y producción.

Conecta con precisión SME

Aprovisione instancias de bases de datos en la AWS nube.

  1. Configure su AWS cuenta para asegurarse de que dispone de los permisos necesarios para crear y gestionar tablas y clústeres de bases de datos. Para obtener instrucciones, consulte la AWS documentación del servicio AWS de base de datos que desee utilizar. (Consulte los enlaces en la sección de recursos).

  2. Cree subredes a VPC y en la AWS región seleccionada.

  3. Cree y configure los grupos de seguridad de red necesarios para permitir las comunicaciones entre las instancias de base de datos y otros recursos de laVPC.

  4. Cree las bases de datos y configúrelas para que incluyan las tablas que utilizará la aplicación.

  5. Diseñe y valide los esquemas de las bases de datos. 

Ingeniero de datos, DevOps ingeniero

Configure e implemente conectores de bases de datos para que escuchen los temas publicados por Apply Engine.

  1. Diseñe conectores de bases de datos para conectar los temas de Kafka con las AWS bases de datos que creó en los pasos anteriores.

  2. Desarrolle los conectores en función de la base de datos de destino.

  3. Configure los conectores para que escuchen los temas de Kafka publicados por Apply Engine.

  4. Implemente los conectores en el EKS clúster de Amazon.

Desarrollador de aplicaciones, arquitecto de la nube, ingeniero de datos
TareaDescripciónHabilidades requeridas

Defina los objetivos de recuperación de desastres para sus aplicaciones empresariales.

  1. Defina las CDC canalizaciones RPO y RTO sus objetivos en función de las necesidades de su empresa y del análisis de impacto.

  2. Defina los procedimientos de comunicación y notificación para garantizar que todas las partes interesadas conozcan el plan de recuperación de desastres.

  3. Determine el presupuesto y los recursos necesarios para implementar el plan de recuperación de desastres.

  4. Documente los objetivos de recuperación ante desastres, incluidos los RTO objetivos RPO y metas.

Arquitecto de la nube, ingeniero de datos, propietario de la aplicación

Diseñe estrategias de recuperación ante desastres basadas en una definición deRTO/RPO.

  1. Determine las estrategias de recuperación ante desastres más adecuadas para las CDC canalizaciones en función de sus requisitos de criticidad y recuperación.

  2. Defina la arquitectura y la topología de la recuperación de desastres.

  3. Defina los procedimientos de conmutación por error y recuperación de CDC las canalizaciones para garantizar que puedan cambiarse de forma rápida y sin problemas a la región de respaldo.

  4. Documente las estrategias y los procedimientos de recuperación de desastres y asegúrese de que todas las partes interesadas comprendan claramente el diseño.

Arquitecto de la nube, ingeniero de datos

Aprovisione clústeres y configuraciones de recuperación de desastres.

  1. Aprovisione una AWS región secundaria para la recuperación ante desastres.

  2. En la AWS región secundaria, cree un entorno que sea idéntico al de la AWS región principal.

  3. Configure Apache Kafka MirrorMaker entre las regiones principal y secundaria. Para obtener más información, consulta la MSKdocumentación de Amazon.

  4. Configure las aplicaciones en espera en la región secundaria.

  5. Configure las replicaciones de bases de datos entre las regiones principal y secundaria.

DevOps ingeniero, administrador de redes, arquitecto de nube

Pruebe la CDC canalización para la recuperación ante desastres.

  1. Defina el alcance y los objetivos de la prueba de recuperación ante desastres del CDC oleoducto, incluidos los escenarios de prueba RTO que deben lograrse.

  2. Identifique el entorno y la infraestructura de prueba para realizar la prueba de recuperación de desastres.

  3. Prepare los conjuntos de datos y el script de la prueba para simular los escenarios de error.

  4. Verifique la integridad y la coherencia de los datos para garantizar que no se pierdan datos.

Propietario de aplicaciones, ingeniero de datos, arquitecto de la nube

Recursos relacionados

AWSrecursos

Recursos de Precisely Connect

Recursos Confluent