Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Replizieren Sie Mainframe-Datenbanken mithilfe AWS von Precisely Connect
Erstellt von Lucio Pereira (AWS), Balaji Mohan () und Sayantan Giri () AWS AWS
Umwelt: Produktion | Quelle: Lokaler Mainframe | Ziel: Datenbanken AWS |
R-Typ: Re-Architect | Arbeitslast: Alle anderen Workloads | Technologien: Datenbanken; Mainframe CloudNative; Modernisierung |
AWSDienste: Amazon DynamoDB; Amazon Keyspaces; AmazonMSK; Amazon RDS ElastiCache |
Übersicht
Dieses Muster beschreibt die Schritte zur Replikation von Daten aus Mainframe-Datenbanken in Amazon-Datenspeicher nahezu in Echtzeit mithilfe von Precisely Connect. Es implementiert eine ereignisbasierte Architektur mit Amazon Managed Streaming for Apache Kafka (AmazonMSK) und benutzerdefinierten Datenbank-Konnektoren in der Cloud, um Skalierbarkeit, Belastbarkeit und Leistung zu verbessern.
Precisely Connect ist ein Replikationstool, das Daten von älteren Mainframe-Systemen erfasst und in Cloud-Umgebungen integriert. Daten werden von Mainframes auf Change Data Capture (CDC) repliziert, wobei Nachrichtenflüsse nahezu in Echtzeit mit heterogenen Datenpipelines mit niedriger Latenz und hohem AWS Durchsatz verwendet werden.
Dieses Muster deckt auch eine Notfallwiederherstellungsstrategie für belastbare Datenpipelines mit Datenreplikation und Failover-Routing in mehreren Regionen ab.
Voraussetzungen und Einschränkungen
Voraussetzungen
Eine bestehende Mainframe-Datenbank IBMDB2, z. B. das IBM Information Management System (IMS) oder die Virtual Storage Access Method (VSAM), die Sie in die Cloud replizieren möchten AWS
AWSEin
aktives Konto AWSDirect Connect
oder AWSVirtual Private Network (AWSVPN ) von Ihrer Unternehmensumgebung zu AWS Eine virtuelle private Cloud
mit einem Subnetz, das über Ihre Legacy-Plattform erreichbar ist
Architektur
Quelltechnologie-Stack
Eine Mainframe-Umgebung, die mindestens eine der folgenden Datenbanken umfasst:
IBMIMSDatenbank
IBMDB2Datenbank
VSAMDateien
Zieltechnologie-Stack
Amazon MSK
Amazon Elastic Kubernetes Service (AmazonEKS) und Amazon Anywhere EKS
Docker
Eine AWS relationale Datenbank oder keine SQL Datenbank wie die folgende:
Amazon-DynamoDB
Amazon Relational Database Service (AmazonRDS) für Oracle, Amazon RDS für Postgre SQL oder Amazon Aurora
Amazon ElastiCache für Redis
Amazon Keyspaces (für Apache Cassandra)
Zielarchitektur
Replizieren von Mainframe-Daten in Datenbanken AWS
Das folgende Diagramm veranschaulicht die Replikation von Mainframe-Daten in eine AWS Datenbank wie DynamoDB, AmazonRDS, Amazon oder Amazon ElastiCache Keyspaces. Die Replikation erfolgt nahezu in Echtzeit, indem Sie Precisely Capture and Publisher in Ihrer lokalen Mainframe-Umgebung, Precisely Dispatcher auf Amazon EKS Anywhere in Ihrer lokalen verteilten Umgebung und Precisely Apply Engine und Datenbank-Konnektoren in der Cloud verwenden. AWS
Das Diagramm zeigt den folgenden Workflow:
Precisiely Capture ruft Mainframe-Daten aus CDC Protokollen ab und verwaltet die Daten im internen Transientenspeicher.
Precisely Publisher überwacht Änderungen im internen Datenspeicher und sendet CDC Datensätze über eine /IP-Verbindung an Precisely Dispatcher. TCP
Precisely Dispatcher empfängt die CDC Datensätze von Publisher und sendet sie an AmazonMSK. Der Dispatcher erstellt Kafka-Schlüssel auf der Grundlage der Benutzerkonfiguration und mehrerer Worker-Tasks, um Daten parallel zu übertragen. Der Dispatcher sendet eine Bestätigung an Publisher zurück, wenn Datensätze bei Amazon gespeichert wurden. MSK
Amazon MSK hält die CDC Aufzeichnungen in der Cloud-Umgebung. Die Partitionsgröße der Themen hängt von den Durchsatzanforderungen Ihres Transaktionsverarbeitungssystems (TPS) ab. Der Kafka-Schlüssel ist für die weitere Transformation und die Reihenfolge der Transaktionen erforderlich.
Die Precisely Apply Engine hört sich die CDC Datensätze von Amazon an MSK und transformiert die Daten (z. B. durch Filtern oder Zuordnen) basierend auf den Anforderungen der Zieldatenbank. Sie können den Preciselise-Skripten benutzerdefinierte Logik hinzufügen. SQD (SQDist die eigene Sprache von Precisely.) Die Precisely Apply Engine wandelt jeden CDC Datensatz in das Apache Avro- oder Apache JSON Avro-Format um und verteilt ihn je nach Ihren Anforderungen an verschiedene Themen.
Die Kafka-Zielthemen enthalten CDC Datensätze zu mehreren Themen, die auf der Zieldatenbank basieren, und Kafka erleichtert die Reihenfolge der Transaktionen auf der Grundlage des definierten Kafka-Schlüssels. Die Partitionsschlüssel sind auf die entsprechenden Partitionen abgestimmt, um einen sequentiellen Prozess zu unterstützen.
Datenbank-Konnektoren (maßgeschneiderte Java-Anwendungen) hören die CDC Datensätze von Amazon ab MSK und speichern sie in der Zieldatenbank.
Sie können eine Zieldatenbank entsprechend Ihren Anforderungen auswählen. Dieses Muster unterstützt sowohl Nein-Datenbanken als SQL auch relationale Datenbanken.
Wiederherstellung nach einem Notfall
Geschäftskontinuität ist der Schlüssel zum Erfolg Ihres Unternehmens. Die AWS Cloud bietet Funktionen für Hochverfügbarkeit (HA) und Disaster Recovery (DR) und unterstützt die Failover- und Fallback-Pläne Ihres Unternehmens. Dieses Muster folgt einer aktiven/passiven DR-Strategie und bietet umfassende Leitlinien für die Implementierung einer DR-Strategie, die Ihren Anforderungen entspricht. RTO RPO
Das folgende Diagramm veranschaulicht den DR-Workflow.
Das Diagramm zeigt Folgendes:
Ein halbautomatisches Failover ist erforderlich, falls in Region 1 ein Fehler auftritt. AWS Im Falle eines Fehlers in Region 1 muss das System Routing-Änderungen einleiten, um den Precisely Dispatcher mit Region 2 zu verbinden.
Amazon MSK repliziert Daten durch Spiegelung zwischen Regionen. Aus diesem Grund muss der MSK Amazon-Cluster in Region 2 während eines Failovers zum primären Leader befördert werden.
Die Precisely Apply Engine und die Datenbank-Konnektoren sind zustandslose Anwendungen, die in jeder Region funktionieren können.
Die Datenbanksynchronisierung hängt von der Zieldatenbank ab. DynamoDB kann beispielsweise globale Tabellen und globale ElastiCache Datenspeicher verwenden.
Verarbeitung mit niedriger Latenz und hohem Durchsatz durch Datenbankkonnektoren
Datenbankkonnektoren sind wichtige Komponenten dieses Musters. Connectors verfolgen einen Listener-basierten Ansatz, um Daten von Amazon zu sammeln MSK und Transaktionen durch Verarbeitung mit hohem Durchsatz und niedriger Latenz für unternehmenskritische Anwendungen (Stufen 0 und 1) an die Datenbank zu senden. Das folgende Diagramm veranschaulicht diesen Prozess.
Dieses Muster unterstützt die Entwicklung einer maßgeschneiderten Anwendung mit Single-Thread-Nutzung über eine Multithread-Verarbeitungs-Engine.
Der Haupt-Thread des Connectors verwendet CDC Datensätze von Amazon MSK und sendet sie zur Verarbeitung an den Thread-Pool.
Threads aus dem Thread-Pool verarbeiten CDC Datensätze und senden sie an die Zieldatenbank.
Wenn alle Threads ausgelastet sind, werden die CDC Datensätze in der Thread-Warteschlange aufbewahrt.
Der Haupt-Thread wartet darauf, dass alle Datensätze aus der Thread-Warteschlange gelöscht werden, und überträgt Offsets an Amazon. MSK
Die untergeordneten Threads behandeln Fehler. Wenn bei der Verarbeitung Fehler auftreten, werden die fehlgeschlagenen Nachrichten an das Thema DLQ (Warteschlange mit unerlaubten Briefen) gesendet.
Die untergeordneten Threads initiieren bedingte Aktualisierungen (siehe Bedingungsausdrücke in der DynamoDB-Dokumentation) auf der Grundlage des Mainframe-Zeitstempels, um Duplikate oder out-of-order Aktualisierungen in der Datenbank zu vermeiden.
Informationen zur Implementierung einer Kafka-Consumer-Anwendung mit Multithreading-Funktionen finden Sie im Blogbeitrag Multi-Threading Message Consumption with the Apache Kafka Consumer auf der Confluent-Website
Tools
AWSDienste
Amazon Managed Streaming for Apache Kafka (AmazonMSK) ist ein vollständig verwalteter Service, der Sie beim Erstellen und Ausführen von Anwendungen unterstützt, die Apache Kafka zur Verarbeitung von Streaming-Daten verwenden.
Mit Amazon Elastic Kubernetes Service (AmazonEKS) können Sie Kubernetes ausführen, AWS ohne Ihre eigene Kubernetes-Steuerebene oder Knoten installieren oder verwalten zu müssen.
Amazon EKS Anywhere
unterstützt Sie bei der Bereitstellung, Verwendung und Verwaltung von Kubernetes-Clustern, die in Ihren eigenen Rechenzentren ausgeführt werden. Amazon DynamoDB ist ein vollständig verwalteter Service ohne SQL Datenbank, der eine schnelle, vorhersehbare und skalierbare Leistung bietet.
Amazon Relational Database Service (AmazonRDS) unterstützt Sie bei der Einrichtung, dem Betrieb und der Skalierung einer relationalen Datenbank in der AWS Cloud.
Amazon ElastiCache unterstützt Sie bei der Einrichtung, Verwaltung und Skalierung verteilter In-Memory-Cache-Umgebungen in der AWS Cloud.
Amazon Keyspaces (für Apache Cassandra) ist ein verwalteter Datenbankservice, der Sie bei der Migration, Ausführung und Skalierung Ihrer Cassandra-Workloads in der Cloud unterstützt. AWS
Andere Tools
Precisely Connect
integriert Daten aus älteren Mainframe-Systemen wie VSAM Datensätze oder IBM Mainframe-Datenbanken in Cloud- und Datenplattformen der nächsten Generation.
Bewährte Methoden
Finden Sie die beste Kombination aus Kafka-Partitionen und Multithread-Konnektoren, um ein optimales Verhältnis von Leistung und Kosten zu erzielen. Mehrere Precisely Capture- und Dispatcher-Instanzen können aufgrund des höheren Verbrauchs MIPS (Millionen Befehle pro Sekunde) die Kosten in die Höhe treiben.
Vermeiden Sie es, den Datenbankkonnektoren Datenmanipulations- und Transformationslogik hinzuzufügen. Verwenden Sie zu diesem Zweck die Precisely Apply Engine, die Verarbeitungszeiten in Mikrosekunden angibt.
Erstellen Sie in Datenbank-Konnektoren regelmäßige Anfragen oder Integritätsprüfungen an die Datenbank (Heartbeats), um die Verbindung häufig aufzuwärmen und die Latenz zu reduzieren.
Implementieren Sie die Threadpool-Validierungslogik, um die ausstehenden Aufgaben in der Thread-Warteschlange zu verstehen und warten Sie, bis alle Threads abgeschlossen sind, bevor Sie mit der nächsten Kafka-Abfrage beginnen. Auf diese Weise können Datenverluste vermieden werden, wenn ein Knoten, ein Container oder ein Prozess abstürzt.
Stellen Sie Latenzmetriken über Integritätsendpunkte zur Verfügung, um die Beobachtbarkeit mithilfe von Dashboards und Nachverfolgungsmechanismen zu verbessern.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Richten Sie den Mainframe-Prozess (Batch- oder Online-Utility) so ein, dass der CDC Prozess von Mainframe-Datenbanken aus gestartet wird. |
| Mainframe-Ingenieur |
Aktivieren Sie die Logstreams der Mainframe-Datenbank. |
| Spezialist für Mainframe-Datenbanken |
Verwenden Sie die Capture-Komponente, um CDC Datensätze zu erfassen. |
| Mainframe-Ingenieur, Precisely Connect SME |
Konfigurieren Sie die Publisher-Komponente so, dass sie die Capture-Komponente abhört. |
| Mainframe-Ingenieur, Precisely Connect SME |
Stellen Sie Amazon EKS Anywhere in der lokalen verteilten Umgebung bereit. |
| DevOps Ingenieur |
Stellen Sie die Dispatcher-Komponente in der verteilten Umgebung bereit und konfigurieren Sie sie, um die Themen in der AWS Cloud zu veröffentlichen. |
| DevOps Ingenieur, Precisely Connect SME |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Stellen Sie einen EKS Amazon-Cluster in der angegebenen AWS Region bereit. |
| DevOps Ingenieur, Netzwerkadministrator |
Stellen Sie einen MSK Cluster bereit und konfigurieren Sie die entsprechenden Kafka-Themen. |
| DevOps Ingenieur, Netzwerkadministrator |
Konfigurieren Sie die Apply Engine-Komponente so, dass sie sich die replizierten Kafka-Themen anhört. |
| Präzise Connect SME |
Stellen Sie DB-Instances in der AWS Cloud bereit. |
| Dateningenieur, DevOps Ingenieur |
Konfigurieren und implementieren Sie Datenbank-Konnektoren, um sich die von der Apply Engine veröffentlichten Themen anzuhören. |
| App-Entwickler, Cloud-Architekt, Dateningenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Definieren Sie Ziele für die Notfallwiederherstellung für Ihre Geschäftsanwendungen. |
| Cloud-Architekt, Dateningenieur, App-Besitzer |
Entwerfen Sie Strategien für die Notfallwiederherstellung auf der Grundlage definierter Werte vonRTO/RPO. |
| Cloud-Architekt, Dateningenieur |
Stellen Sie Disaster Recovery-Cluster und Konfigurationen bereit. |
| DevOps Ingenieur, Netzwerkadministrator, Cloud-Architekt |
Testen Sie die CDC Pipeline für die Notfallwiederherstellung. |
| App-Besitzer, Dateningenieur, Cloud-Architekt |
Zugehörige Ressourcen
AWSRessourcen
Ressourcen präzise Connect
Konfluente Ressourcen