Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Replica i database mainframe su AWS utilizzando Precisly Connect
Creato da Lucio Pereira (AWS), Balaji Mohan () e Sayantan Giri () AWS AWS
Ambiente: produzione | Fonte: mainframe locale | Destinazione: database AWS |
Tipo R: Re-architect | Carico di lavoro: tutti gli altri carichi di lavoro | Tecnologie: database; mainframe CloudNative; modernizzazione |
AWSservizi: Amazon DynamoDB; Amazon Keyspaces; Amazon; MSK Amazon; Amazon RDS ElastiCache |
Riepilogo
Questo modello descrive i passaggi per replicare i dati dai database mainframe agli archivi dati Amazon quasi in tempo reale utilizzando Precisly Connect. Implementa un'architettura basata su eventi con Amazon Managed Streaming for Apache Kafka MSK (Amazon) e connettori di database personalizzati nel cloud per migliorare la scalabilità, la resilienza e le prestazioni.
Precisly Connect è uno strumento di replica che acquisisce i dati dai sistemi mainframe legacy e li integra in ambienti cloud. I dati vengono replicati dai mainframe all'acquisizione dei dati AWS tramite modifica (CDC) utilizzando flussi di messaggi quasi in tempo reale con pipeline di dati eterogenee a bassa latenza e ad alto throughput.
Questo modello copre anche una strategia di disaster recovery per pipeline di dati resilienti con replica dei dati in più regioni e routing di failover.
Prerequisiti e limitazioni
Prerequisiti
Un database mainframe esistente, IBM DB2 ad esempio IBM Information Management System (IMS) o Virtual Storage Access Method (), che desideri replicare sul cloud VSAM AWS
AWSUn
account attivo AWSDirect Connect
o AWSVirtual Private Network (AWSVPN ) dall'ambiente aziendale a AWS Un cloud privato virtuale
con una sottorete raggiungibile dalla vostra piattaforma legacy
Architettura
Stack tecnologico di origine
Un ambiente mainframe che include almeno uno dei seguenti database:
IBMIMSdatabase
IBMDB2banca dati
VSAMfile
stack tecnologico di destinazione
Amazon MSK
Amazon Elastic Kubernetes Service (Amazon) e Amazon Anywhere EKS EKS
Docker
Un SQL database AWS relazionale o no come il seguente:
Amazon DynamoDB
Amazon Relational Database Service (RDSAmazon) per Oracle, RDS Amazon per SQL Postgre o Amazon Aurora
Amazon ElastiCache per Redis
Amazon Keyspaces (per Apache Cassandra)
Architettura Target
Replica dei dati del mainframe nei database AWS
Il diagramma seguente illustra la replica dei dati del mainframe su un database AWS come DynamoDB, Amazon, Amazon o RDS Amazon Keyspaces. ElastiCache La replica avviene quasi in tempo reale utilizzando Precisly Capture and Publisher nell'ambiente mainframe locale, Precisly Dispatcher su EKS Amazon Anywhere nell'ambiente distribuito locale e Precisly Apply Engine e i connettori di database nel cloud. AWS
Il diagramma mostra il flusso di lavoro seguente:
Precisly Capture recupera i dati del mainframe dai CDC log e li conserva in uno storage transitorio interno.
Precisly Publisher ascolta le modifiche nella memoria interna dei dati e invia i CDC record a Precisly Dispatcher tramite una connessione /IP. TCP
Precisamente Dispatcher riceve i CDC record da Publisher e li invia ad Amazon. MSK Dispatcher crea chiavi Kafka in base alla configurazione dell'utente e a più attività di lavoro per inviare i dati in parallelo. Dispatcher invia una conferma a Publisher quando i record sono stati archiviati in Amazon. MSK
Amazon MSK detiene i CDC record nell'ambiente cloud. La dimensione della partizione degli argomenti dipende dai requisiti del sistema di elaborazione delle transazioni (TPS) per la velocità effettiva. La chiave Kafka è obbligatoria per l'ulteriore trasformazione e l'ordinamento delle transazioni.
Il Precisly Apply Engine ascolta i CDC record di Amazon MSK e trasforma i dati (ad esempio, filtrandoli o mappandoli) in base ai requisiti del database di destinazione. È possibile aggiungere una logica personalizzata agli script Precisly. SQD (SQDè il linguaggio proprietario di Precisly.) Il Precisly Apply Engine trasforma ogni CDC record in Apache Avro o JSON formato e lo distribuisce su diversi argomenti in base alle tue esigenze.
Gli argomenti Kafka di destinazione contengono CDC record in più argomenti basati sul database di destinazione e Kafka facilita l'ordinamento delle transazioni in base alla chiave Kafka definita. Le chiavi di partizione si allineano con le partizioni corrispondenti per supportare un processo sequenziale.
I connettori di database (applicazioni Java personalizzate) ascoltano i CDC record di Amazon MSK e li archiviano nel database di destinazione.
Puoi selezionare un database di destinazione in base alle tue esigenze. Questo modello supporta sia i database No SQL che quelli relazionali.
Ripristino di emergenza
La continuità aziendale è fondamentale per il successo dell'organizzazione. Il AWS cloud offre funzionalità per l'alta disponibilità (HA) e il disaster recovery (DR) e supporta i piani di failover e fallback dell'organizzazione. Questo modello segue una strategia di DR attiva/passiva e fornisce linee guida di alto livello per l'implementazione di una strategia di DR che soddisfi i requisiti e le esigenze aziendali. RTO RPO
Il diagramma seguente illustra il flusso di lavoro del DR.
Il diagramma mostra:
È necessario un failover semiautomatico in caso di guasto nella Regione 1. AWS In caso di errore nella Regione 1, il sistema deve avviare le modifiche al routing per connettere Precisly Dispatcher alla Regione 2.
Amazon MSK replica i dati tramite mirroring tra regioni. Per questo motivo, durante il failover, il MSK cluster Amazon nella Regione 2 deve essere promosso come leader principale.
Il motore di applicazione precisa e i connettori del database sono applicazioni stateless che possono funzionare in qualsiasi regione.
La sincronizzazione del database dipende dal database di destinazione. Ad esempio, DynamoDB può utilizzare tabelle globali ElastiCache e datastore globali.
Elaborazione a bassa latenza e ad alto rendimento tramite connettori di database
I connettori di database sono componenti fondamentali in questo modello. I connettori seguono un approccio basato sull'ascoltatore per raccogliere dati da Amazon MSK e inviare transazioni al database tramite elaborazione ad alta velocità e bassa latenza per applicazioni mission-critical (livelli 0 e 1). Il diagramma seguente illustra tale processo.
Questo modello supporta lo sviluppo di un'applicazione personalizzata con utilizzo a thread singolo tramite un motore di elaborazione multithread.
Il thread principale del connettore consuma i CDC record da Amazon MSK e li invia al pool di thread per l'elaborazione.
I thread del pool di thread elaborano CDC i record e li inviano al database di destinazione.
Se tutti i thread sono occupati, i CDC record vengono mantenuti in attesa dalla coda dei thread.
Il thread principale attende che tutti i record vengano cancellati dalla coda dei thread e trasferisce gli offset in Amazon. MSK
I thread secondari gestiscono gli errori. Se si verificano errori durante l'elaborazione, i messaggi non riusciti vengono inviati all'argomento DLQ (coda di lettere morte).
I thread secondari avviano gli aggiornamenti condizionali (vedi Condition expression nella documentazione di DynamoDB), in base al timestamp del mainframe, per evitare duplicazioni o aggiornamenti nel database. out-of-order
Strumenti
AWSservizi
Amazon Managed Streaming for Apache Kafka (MSKAmazon) è un servizio completamente gestito che ti aiuta a creare ed eseguire applicazioni che utilizzano Apache Kafka per elaborare dati di streaming.
Amazon Elastic Kubernetes Service (EKSAmazon) ti aiuta a eseguire Kubernetes senza dover installare o gestire il tuo piano di controllo o i tuoi nodi AWS Kubernetes.
Amazon EKS Anywhere
ti aiuta a distribuire, utilizzare e gestire i cluster Kubernetes eseguiti nei tuoi data center. Amazon DynamoDB è un servizio di database SQL No completamente gestito che offre prestazioni veloci, prevedibili e scalabili.
Amazon Relational Database Service (RDSAmazon) ti aiuta a configurare, gestire e scalare un database relazionale nel AWS cloud.
Amazon ti ElastiCache aiuta a configurare, gestire e scalare ambienti di cache in memoria distribuiti nel AWS cloud.
Amazon Keyspaces (per Apache Cassandra) è un servizio di database gestito che ti aiuta a migrare, eseguire e scalare i carichi di lavoro Cassandra nel cloud. AWS
Altri strumenti
Precisly Connect
integra i dati provenienti da sistemi mainframe legacy come VSAM set di dati o database IBM mainframe in piattaforme cloud e dati di nuova generazione.
Best practice
Trova la combinazione migliore di partizioni Kafka e connettori multithread per bilanciare prestazioni e costi ottimali. Più istanze Precisly Capture e Dispatcher possono aumentare i costi a causa del maggiore MIPS consumo (milioni di istruzioni al secondo).
Evita di aggiungere logica di manipolazione e trasformazione dei dati ai connettori del database. A tale scopo, utilizzate Precisly Apply Engine, che fornisce tempi di elaborazione in microsecondi.
Crea chiamate periodiche di richiesta o controllo dello stato di salute al database (heartbeats) nei connettori del database per riscaldare frequentemente la connessione e ridurre la latenza.
Implementa la logica di convalida del pool di thread per comprendere le attività in sospeso nella coda dei thread e attendi che tutti i thread vengano completati prima del prossimo sondaggio di Kafka. Ciò consente di evitare la perdita di dati in caso di arresto anomalo di un nodo, contenitore o processo.
Esponi le metriche di latenza attraverso gli endpoint sanitari per migliorare le capacità di osservabilità tramite dashboard e meccanismi di tracciamento.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Configura il processo mainframe (batch o utilità online) per avviare il CDC processo dai database mainframe. |
| Ingegnere del mainframe |
Attiva i flussi di log del database mainframe. |
| Specialista in database mainframe |
Utilizzate il componente Capture per acquisire CDC i record. |
| Ingegnere mainframe, Precisly Connect SME |
Configura il componente Publisher per ascoltare il componente Capture. |
| Ingegnere mainframe, Precisly Connect SME |
Effettua il provisioning di Amazon EKS Anywhere nell'ambiente distribuito locale. |
| DevOps ingegnere |
Implementa e configura il componente Dispatcher nell'ambiente distribuito per pubblicare gli argomenti nel cloud. AWS |
| DevOps ingegnere, Precisly Connect SME |
Attività | Descrizione | Competenze richieste |
---|---|---|
Effettua il provisioning di un EKS cluster Amazon AWS nella regione designata. |
| DevOps ingegnere, amministratore di rete |
Esegui il provisioning di un MSK cluster e configura gli argomenti Kafka applicabili. |
| DevOps ingegnere, amministratore di rete |
Configura il componente Apply Engine per ascoltare gli argomenti di Kafka replicati. |
| Connetti con precisione SME |
Esegui il provisioning di istanze DB nel AWS cloud. |
| Ingegnere dei dati, ingegnere DevOps |
Configura e distribuisci connettori di database per ascoltare gli argomenti pubblicati da Apply Engine. |
| Sviluppatore di app, architetto cloud, ingegnere dei dati |
Attività | Descrizione | Competenze richieste |
---|---|---|
Definisci gli obiettivi di disaster recovery per le tue applicazioni aziendali. |
| Architetto del cloud, ingegnere dei dati, proprietario dell'app |
Progetta strategie di disaster recovery basate suRTO/RPO. |
| Architetto del cloud, ingegnere dei dati |
Fornisci cluster e configurazioni di disaster recovery. |
| DevOps ingegnere, amministratore di rete, architetto cloud |
Testa la CDC pipeline per il disaster recovery. |
| Proprietario dell'app, ingegnere dei dati, architetto cloud |
Risorse correlate
AWSrisorse
Risorse Precisly Connect
Risorse confluenti