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
En el diagrama, se muestra el siguiente flujo de trabajo:
Precisamente Capture obtiene los datos del mainframe de CDC los registros y los mantiene en un almacenamiento transitorio interno.
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
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
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.
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.
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.
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.
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.
En el diagrama se muestra lo siguiente:
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.
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.
Precisely Apply Engine y los conectores de bases de datos son aplicaciones sin estado que pueden funcionar en cualquier región.
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.
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.
El hilo principal del conector consume CDC los registros de Amazon MSK y los envía al grupo de subprocesos para su procesamiento.
Los subprocesos del grupo de subprocesos procesan CDC los registros y los envían a la base de datos de destino.
Si todos los subprocesos están ocupados, la cola de subprocesos mantiene los CDC registros en espera.
El hilo principal espera a que se borren todos los registros de la cola de subprocesos y envía las compensaciones a Amazon. MSK
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).
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
Herramientas
AWSservicios
Amazon Managed Streaming for Apache Kafka MSK (Amazon) es un servicio totalmente gestionado que le ayuda a crear y ejecutar aplicaciones que utilizan Apache Kafka para procesar datos de streaming.
Amazon Elastic Kubernetes Service (EKSAmazon) le ayuda a ejecutar AWS Kubernetes sin tener que instalar ni mantener su propio plano de control o nodos de Kubernetes.
Amazon EKS Anywhere
le ayuda a implementar, usar y administrar los clústeres de Kubernetes que se ejecutan en sus propios centros de datos. Amazon DynamoDB es un servicio SQL sin base de datos totalmente administrado que proporciona un rendimiento rápido, predecible y escalable.
Amazon Relational Database Service (RDSAmazon) le ayuda a configurar, operar y escalar una base de datos relacional en AWS la nube.
Amazon le ElastiCache ayuda a configurar, gestionar y escalar entornos de caché en memoria distribuidos en la AWS nube.
Amazon Keyspaces (para Apache Cassandra) es un servicio de base de datos gestionado que le ayuda a migrar, ejecutar y escalar sus cargas de trabajo de Cassandra en la nube. AWS
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
Tarea | Descripción | Habilidades 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. |
| Ingeniero de unidad central |
Active los flujos de registro de la base de datos de unidad central. |
| Especialista en bases de datos para unidad central |
Utilice el componente Capture para capturar CDC registros. |
| Ingeniero de mainframe, Precisely Connect SME |
Configure el componente Publisher para que escuche al componente Capture. |
| Ingeniero de mainframe, Precisely Connect SME |
Aprovisione Amazon en EKS cualquier lugar del entorno distribuido local. |
| DevOps ingeniero |
Implemente y configure el componente Dispatcher en el entorno distribuido para publicar los temas en la AWS nube. |
| DevOps ingeniero, Precisely Connect SME |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Aprovisione un EKS clúster de Amazon en la AWS región designada. |
| DevOps ingeniero, administrador de red |
Aprovisione un MSK clúster y configure los temas de Kafka aplicables. |
| DevOps ingeniero, administrador de redes |
Configure el componente Apply Engine para que escuche los temas de Kafka replicados. |
| Conecta con precisión SME |
Aprovisione instancias de bases de datos en la AWS nube. |
| Ingeniero de datos, DevOps ingeniero |
Configure e implemente conectores de bases de datos para que escuchen los temas publicados por Apply Engine. |
| Desarrollador de aplicaciones, arquitecto de la nube, ingeniero de datos |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Defina los objetivos de recuperación de desastres para sus aplicaciones empresariales. |
| 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. |
| Arquitecto de la nube, ingeniero de datos |
Aprovisione clústeres y configuraciones de recuperación de desastres. |
| DevOps ingeniero, administrador de redes, arquitecto de nube |
Pruebe la CDC canalización para la recuperación ante desastres. |
| Propietario de aplicaciones, ingeniero de datos, arquitecto de la nube |
Recursos relacionados
AWSrecursos
Recursos de Precisely Connect
Recursos Confluent