Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Répliquez des bases de données mainframe vers à l'aide de AWS Precisely Connect
Créé par Lucio Pereira (AWS), Balaji Mohan () et Sayantan Giri (AWS) AWS
Environnement : Production | Source : Mainframe sur site | Cible : AWS bases de données |
Type R : Ré-architecte | Charge de travail : toutes les autres charges de travail | Technologies : bases de données CloudNative ; ordinateur central ; modernisation |
AWSservices : Amazon DynamoDB ; Amazon Keyspaces ; Amazon ; MSK Amazon ; Amazon RDS ElastiCache |
Récapitulatif
Ce modèle décrit les étapes à suivre pour répliquer les données des bases de données mainframe vers les magasins de données Amazon en temps quasi réel à l'aide de Precisely Connect. Il met en œuvre une architecture basée sur les événements avec Amazon Managed Streaming for Apache Kafka (MSKAmazon) et des connecteurs de base de données personnalisés dans le cloud afin d'améliorer l'évolutivité, la résilience et les performances.
Precisely Connect est un outil de réplication qui capture les données des systèmes mainframe existants et les intègre dans des environnements cloud. Les données sont répliquées depuis les ordinateurs centraux vers la capture des données AWS de modification (CDC) en utilisant des flux de messages en temps quasi réel avec des pipelines de données hétérogènes à faible latence et à haut débit.
Ce modèle couvre également une stratégie de reprise après sinistre pour des pipelines de données résilients avec réplication des données multirégions et routage sur incident.
Conditions préalables et limitations
Prérequis
Une base de données mainframe existante IBMDB2, par exemple un système de gestion des IBM informations (IMS) ou une méthode d'accès au stockage virtuel (VSAM), que vous souhaitez répliquer dans le cloud AWS
Un AWScompte
actif AWSDirect Connect
ou AWSVirtual Private Network (AWSVPN ) depuis votre environnement d'entreprise vers AWS Un cloud privé virtuel
doté d'un sous-réseau accessible par votre ancienne plateforme
Architecture
Pile technologique source
Un environnement mainframe qui inclut au moins l'une des bases de données suivantes :
IBMIMSbase de données
IBMDB2base de données
VSAMfichiers
Pile technologique cible
Amazon MSK
Amazon Elastic Kubernetes Service (Amazon) et Amazon Anywhere EKS EKS
Docker
Une base de SQL données AWS relationnelle ou non, telle que la suivante :
Amazon DynamoDB
Amazon Relational Database Service (RDSAmazon) pour Oracle, RDS Amazon pour SQL Postgre ou Amazon Aurora
Amazon ElastiCache pour Redis
Amazon Keyspaces (pour Apache Cassandra)
Architecture cible
Réplication des données du mainframe vers des bases de données AWS
Le schéma suivant illustre la réplication des données du mainframe vers une AWS base de données telle que DynamoDB, Amazon, Amazon ou RDS ElastiCache Amazon Keyspaces. La réplication s'effectue en temps quasi réel à l'aide de Precisely Capture et Publisher dans votre environnement mainframe sur site, de Precisely Dispatcher sur Amazon EKS Anywhere dans votre environnement distribué sur site, et de Precisely Apply Engine et des connecteurs de base de données dans le cloud. AWS
Le schéma suivant illustre le flux de travail suivant :
Precisely Capture extrait les données du mainframe à partir CDC des journaux et les conserve dans un stockage transitoire interne.
Precisely Publisher écoute les modifications apportées au stockage interne des données et envoie des CDC enregistrements à Precisely Dispatcher via une connexion TCP /IP.
Precisely Dispatcher reçoit les CDC enregistrements de Publisher et les envoie à AmazonMSK. Dispatcher crée des clés Kafka en fonction de la configuration utilisateur et de plusieurs tâches de travail pour envoyer des données en parallèle. Dispatcher envoie un accusé de réception à Publisher lorsque les enregistrements ont été stockés sur Amazon. MSK
Amazon MSK détient les CDC records dans l'environnement cloud. La taille de partition des sujets dépend des exigences de débit de votre système de traitement des transactions (TPS). La clé Kafka est obligatoire pour toute transformation ultérieure et pour la commande de transactions.
Le moteur Precisely Apply écoute les CDC enregistrements d'Amazon MSK et transforme les données (par exemple, par filtrage ou mappage) en fonction des exigences de la base de données cible. Vous pouvez ajouter une logique personnalisée aux SQD scripts Precisely. (SQDest le langage propriétaire de Precisely.) Le moteur Precisely Apply transforme chaque CDC enregistrement au format Apache Avro ou JSON au format Apache Avro et le distribue sur différents sujets en fonction de vos besoins.
Les rubriques Kafka cibles contiennent CDC des enregistrements dans plusieurs rubriques en fonction de la base de données cible, et Kafka facilite l'ordre des transactions en fonction de la clé Kafka définie. Les clés de partition s'alignent sur les partitions correspondantes pour permettre un processus séquentiel.
Les connecteurs de base de données (applications Java personnalisées) écoutent les CDC enregistrements d'Amazon MSK et les stockent dans la base de données cible.
Vous pouvez sélectionner une base de données cible en fonction de vos besoins. Ce modèle prend en charge à la fois les bases de données non SQL et les bases de données relationnelles.
Reprise après sinistre
La continuité des activités est essentielle au succès de votre entreprise. Le AWS cloud fournit des fonctionnalités de haute disponibilité (HA) et de reprise après sinistre (DR), et prend en charge les plans de reprise et de secours de votre entreprise. Ce modèle suit une stratégie de reprise après sinistre active/passive et fournit des conseils de haut niveau pour la mise en œuvre d'une stratégie de reprise après sinistre qui répond à vos exigences RTO et RPO à vos exigences.
Le schéma suivant illustre le flux de travail DR.
Le diagramme décrit les éléments suivants :
Un basculement semi-automatique est nécessaire en cas de panne dans AWS la région 1. En cas de panne dans la région 1, le système doit initier les modifications de routage pour connecter Precisely Dispatcher à la région 2.
Amazon MSK réplique les données par le biais de la mise en miroir entre les régions. C'est pourquoi, lors du basculement, le MSK cluster Amazon de la région 2 doit être promu en tant que principal leader.
Le moteur Precisely Apply et les connecteurs de base de données sont des applications sans état qui peuvent fonctionner dans n'importe quelle région.
La synchronisation des bases de données dépend de la base de données cible. Par exemple, DynamoDB peut utiliser des tables globales ElastiCache et des banques de données globales.
Traitement à faible latence et haut débit via des connecteurs de base de données
Les connecteurs de base de données sont des composants essentiels de ce modèle. Les connecteurs suivent une approche basée sur les écouteurs pour collecter des données auprès d'Amazon MSK et envoyer des transactions à la base de données via un traitement à haut débit et à faible latence pour les applications critiques (niveaux 0 et 1). Le schéma suivant illustre ce processus.
Ce modèle permet le développement d'une application personnalisée consommant un seul thread grâce à un moteur de traitement multithread.
Le thread principal du connecteur consomme les CDC enregistrements d'Amazon MSK et les envoie au pool de threads pour traitement.
Les threads du pool de threads traitent les CDC enregistrements et les envoient à la base de données cible.
Si tous les threads sont occupés, les CDC enregistrements sont maintenus en attente par la file d'attente des threads.
Le thread principal attend que tous les enregistrements soient effacés de la file d'attente des threads et valide les offsets dans Amazon. MSK
Les threads enfants gèrent les défaillances. En cas d'échec pendant le traitement, les messages d'échec sont envoyés à la rubrique DLQ (file d'attente de lettres mortes).
Les threads enfants initient les mises à jour conditionnelles (voir Expressions de condition dans la documentation DynamoDB), en fonction de l'horodatage du mainframe, afin d'éviter toute duplication ou mise à jour dans la base de données. out-of-order
Pour plus d'informations sur la mise en œuvre d'une application client Kafka dotée de fonctionnalités multi-threading, consultez le billet de blog Multi-Threaded Message Consumption with the Apache Kafka Consumer sur le
Outils
AWSservices
Amazon Managed Streaming for Apache Kafka MSK (Amazon) est un service entièrement géré qui vous permet de créer et d'exécuter des applications utilisant Apache Kafka pour traiter les données de streaming.
Amazon Elastic Kubernetes Service (EKSAmazon) vous permet d'exécuter Kubernetes sans avoir à installer ou à gérer votre propre plan de contrôle ou vos propres nœuds AWS Kubernetes.
Amazon EKS Anywhere
vous aide à déployer, utiliser et gérer des clusters Kubernetes exécutés dans vos propres centres de données. Amazon DynamoDB est un service SQL sans base de données entièrement géré qui fournit des performances rapides, prévisibles et évolutives.
Amazon Relational Database Service (RDSAmazon) vous aide à configurer, exploiter et dimensionner une base de données relationnelle dans AWS le cloud.
Amazon vous ElastiCache aide à configurer, à gérer et à faire évoluer des environnements de cache en mémoire distribués dans le AWS cloud.
Amazon Keyspaces (pour Apache Cassandra) est un service de base de données géré qui vous aide à migrer, exécuter et dimensionner vos charges de travail Cassandra dans le cloud. AWS
Autres outils
Precisely Connect
intègre les données des systèmes mainframe existants tels que les VSAM ensembles de données ou les bases de données IBM mainframe dans le cloud et les plateformes de données de nouvelle génération.
Bonnes pratiques
Trouvez la meilleure combinaison de partitions Kafka et de connecteurs multithread pour trouver le meilleur équilibre entre performances et coûts. Plusieurs instances de Precisely Capture et Dispatcher peuvent augmenter les coûts en raison d'une consommation plus élevée MIPS (millions d'instructions par seconde).
Évitez d'ajouter une logique de manipulation et de transformation des données aux connecteurs de base de données. Pour ce faire, utilisez le moteur Precisely Apply, qui fournit les temps de traitement en microsecondes.
Créez des appels périodiques de demande ou de vérification de l'état de la base de données (pulsations cardiaques) dans les connecteurs de base de données afin de réchauffer fréquemment la connexion et de réduire le temps de latence.
Implémentez une logique de validation du pool de threads pour comprendre les tâches en attente dans la file d'attente des threads et attendez que tous les threads soient terminés avant le prochain sondage Kafka. Cela permet d'éviter la perte de données en cas de panne d'un nœud, d'un conteneur ou d'un processus.
Exposez les mesures de latence via les points de terminaison de santé afin d'améliorer les capacités d'observabilité grâce à des tableaux de bord et à des mécanismes de suivi.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Configurez le processus du mainframe (batch ou utilitaire en ligne) pour démarrer le CDC processus à partir des bases de données du mainframe. |
| Ingénieur mainframe |
Activez les flux de journaux de la base de données du mainframe. |
| Spécialiste des bases de données mainframe |
Utilisez le composant Capture pour capturer CDC des enregistrements. |
| Ingénieur mainframe, Precisely Connect SME |
Configurez le composant Publisher pour écouter le composant Capture. |
| Ingénieur mainframe, Precisely Connect SME |
Provisionnez Amazon EKS Anywhere dans l'environnement distribué sur site. |
| DevOps ingénieur |
Déployez et configurez le composant Dispatcher dans l'environnement distribué pour publier les rubriques dans le AWS Cloud. |
| DevOps ingénieur, Precisely Connect SME |
Tâche | Description | Compétences requises |
---|---|---|
Provisionnez un EKS cluster Amazon dans la AWS région désignée. |
| DevOps ingénieur, administrateur réseau |
Provisionnez un MSK cluster et configurez les rubriques Kafka applicables. |
| DevOps ingénieur, administrateur réseau |
Configurez le composant Apply Engine pour écouter les sujets Kafka répliqués. |
| Precisely Connect SME |
Provisionnez des instances de base de données dans le AWS cloud. |
| Ingénieur de données, DevOps ingénieur |
Configurez et déployez des connecteurs de base de données pour écouter les rubriques publiées par le moteur Apply. |
| Développeur d'applications, Architecte cloud, Ingénieur de données |
Tâche | Description | Compétences requises |
---|---|---|
Définissez des objectifs de reprise après sinistre pour vos applications professionnelles. |
| Architecte cloud, ingénieur des données, propriétaire de l'application |
Concevez des stratégies de reprise après sinistre basées sur la définition deRTO/RPO. |
| Architecte cloud, ingénieur de données |
Provisionnez des clusters et des configurations de reprise après sinistre. |
| DevOps ingénieur, administrateur réseau, architecte cloud |
Testez le CDC pipeline pour la reprise après sinistre. |
| Propriétaire de l'application, ingénieur de données, architecte cloud |
Ressources connexes
AWSressources
Ressources Precisely Connect
Ressources de Confluent