As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Replique bancos de dados de mainframe AWS usando o Precisely Connect
Criado por Lucio Pereira (AWS), Balaji Mohan () e Sayantan Giri (AWS) AWS
Ambiente: produção | Origem: mainframe on-premises | Alvo: AWS bancos de dados |
Tipo R: redefinir arquitetura | Workload: todas as outras workloads | Tecnologias: bancos de dados CloudNative; mainframe; modernização |
AWSserviços: Amazon DynamoDB; Amazon Keyspaces; Amazon; MSK Amazon; Amazon RDS ElastiCache |
Resumo
Esse padrão descreve as etapas para replicar dados de bancos de dados de mainframe para armazenamentos de dados da Amazon quase em tempo real usando o Precisely Connect. Ele implementa uma arquitetura baseada em eventos com o Amazon Managed Streaming for Apache Kafka MSK (Amazon) e conectores de banco de dados personalizados na nuvem para melhorar a escalabilidade, a resiliência e o desempenho.
O Precisely Connect é uma ferramenta de replicação que captura dados de sistemas de mainframe legados e os integra a ambientes de nuvem. Os dados são replicados dos mainframes para AWS por meio da captura de dados de alteração (CDC) usando fluxos de mensagens quase em tempo real com pipelines de dados heterogêneos de baixa latência e alto rendimento.
Esse padrão também abrange uma estratégia de recuperação de desastres para pipelines de dados resilientes com replicação de dados em várias regiões e roteamento por failover.
Pré-requisitos e limitações
Pré-requisitos
Um banco de dados de mainframe existente — por exemplo IBMDB2, Sistema de Gerenciamento de IBM Informações (IMS) ou Método de Acesso ao Armazenamento Virtual (VSAM) — que você deseja replicar para a nuvem AWS
Uma AWSconta
ativa AWSDirect Connect
ou Rede Privada AWS Virtual (AWSVPN ) do seu ambiente corporativo para AWS Uma nuvem privada virtual
com uma sub-rede que pode ser acessada por sua plataforma legada
Arquitetura
Pilha de tecnologia de origem
Um ambiente de mainframe que inclua pelo menos um dos seguintes bancos de dados:
IBMIMSbanco de dados
IBMDB2banco de dados
VSAMarquivos
Pilha de tecnologias de destino
Amazon MSK
Amazon Elastic Kubernetes Service (Amazon) e Amazon Anywhere EKS EKS
Docker
Um banco de dados AWS relacional ou sem SQL banco de dados, como o seguinte:
Amazon DynamoDB
Amazon Relational Database Service (RDSAmazon) para Oracle, Amazon para SQL Postgre ou RDS Amazon Aurora
Amazon ElastiCache para Redis
Amazon Keyspaces (para Apache Cassandra)
Arquitetura de destino
Replicação de dados de mainframe em bancos de dados AWS
O diagrama a seguir ilustra a replicação de dados de mainframe em um AWS banco de dados como DynamoDB, AmazonRDS, Amazon ou Amazon ElastiCache Keyspaces. A replicação ocorre quase em tempo real usando o Precisely Capture and Publisher em seu ambiente de mainframe local, o Precisely Dispatcher no EKS Amazon Anywhere em seu ambiente distribuído local e os conectores de banco de dados e do Precisely Apply Engine na nuvem. AWS
O diagrama mostra o seguinte fluxo de trabalho:
O Precised Capture obtém dados do mainframe dos CDC registros e mantém os dados em armazenamento temporário interno.
O Precisely Publisher escuta as alterações no armazenamento interno de dados e envia CDC registros para o Precisely Dispatcher por meio de uma TCP conexão /IP.
Precisamente, o Dispatcher recebe os CDC registros do Publisher e os envia para a Amazon. MSK O Dispatcher cria chaves Kafka com base na configuração do usuário e em várias tarefas de trabalho para enviar dados paralelamente. O Dispatcher envia uma confirmação de volta ao editor quando os registros são armazenados na Amazon. MSK
A Amazon MSK detém os CDC recordes no ambiente de nuvem. O tamanho da partição dos tópicos depende dos requisitos do sistema de processamento de transações (TPS) para taxa de transferência. A chave Kafka é obrigatória para futuras transformações e pedidos de transações.
O Precisely Apply Engine escuta os CDC registros da Amazon MSK e transforma os dados (por exemplo, filtrando ou mapeando) com base nos requisitos do banco de dados de destino. Você pode adicionar lógica personalizada aos SQD scripts do Precisely. (SQDé a linguagem proprietária da Precisely.) O Mecanismo de Aplicação Precisa transforma cada CDC registro em Apache Avro ou JSON formato e o distribui para diferentes tópicos com base em seus requisitos.
Os tópicos alvo do Kafka mantêm CDC registros em vários tópicos com base no banco de dados de destino, e o Kafka facilita a ordenação de transações com base na chave definida do Kafka. As chaves de partição se alinham com as partições correspondentes para suportar um processo sequencial.
Os conectores de banco de dados (aplicativos Java personalizados) escutam os CDC registros da Amazon MSK e os armazenam no banco de dados de destino.
Você pode selecionar um banco de dados de destino dependendo das suas necessidades. Esse padrão oferece suporte a bancos de dados Não SQL e relacionais.
Recuperação de desastres
A continuidade dos negócios é fundamental para o sucesso da organização. A AWS nuvem fornece recursos para alta disponibilidade (HA) e recuperação de desastres (DR), além de oferecer suporte aos planos de failover e fallback da sua organização. Esse padrão segue uma estratégia de DR ativa/passiva e fornece orientação de alto nível para implementar uma estratégia de DR que atenda aos seus requisitos. RTO RPO
O diagrama a seguir mostra o fluxo de trabalho do DR.
O diagrama mostra o seguinte:
Um failover semiautomático é necessário se ocorrer alguma falha na AWS Região 1. No caso de falha na Região 1, o sistema deve iniciar as alterações de roteamento para conectar o Precisely Dispatcher à Região 2.
A Amazon MSK replica dados por meio de espelhamento entre regiões. Por esse motivo, durante o failover, o MSK cluster da Amazon na Região 2 deve ser promovido como líder principal.
O Precisely Apply Engine e os conectores de banco de dados são aplicativos sem estado que podem funcionar em qualquer região.
A sincronização do banco de dados depende do banco de dados de destino. Por exemplo, o DynamoDB pode usar tabelas globais ElastiCache e pode usar datastores globais.
Processamento de baixa latência e alto throughput por meio de conectores de banco de dados
Os conectores de banco de dados são componentes essenciais nesse padrão. Os conectores seguem uma abordagem baseada em ouvintes para coletar dados da Amazon MSK e enviar transações para o banco de dados por meio de processamento de alta taxa de transferência e baixa latência para aplicativos de missão crítica (níveis 0 e 1). O diagrama a seguir ilustra esse processo.
Esse padrão é compatível com o desenvolvimento de um aplicativo personalizado com consumo de thread único por meio de um mecanismo de processamento multithread.
O encadeamento principal do conector consome CDC registros da Amazon MSK e os envia ao pool de encadeamentos para processamento.
Os encadeamentos do pool de encadeamentos processam CDC os registros e os enviam para o banco de dados de destino.
Se todos os tópicos estiverem ocupados, os CDC registros serão mantidos em espera pela fila de tópicos.
O tópico principal espera que todos os registros sejam apagados da fila de tópicos e confirma as compensações na Amazon. MSK
Os tópicos secundários lidam com falhas. Se ocorrerem falhas durante o processamento, as mensagens com falha serão enviadas para o tópico DLQ (fila de letras mortas).
Os threads secundários iniciam atualizações condicionais (consulte Expressões de condição na documentação do DynamoDB), com base no timestamp do mainframe, para evitar duplicações ou atualizações no banco de dados. out-of-order
Para obter informações sobre como implementar um aplicativo de consumidor do Kafka com recursos de múltiplos encadeamentos, consulte a postagem do blog Consumo de mensagens com múltiplos encadeamentos
Ferramentas
AWSserviços
O Amazon Managed Streaming for Apache Kafka (MSKAmazon) é um serviço totalmente gerenciado que ajuda você a criar e executar aplicativos que usam o Apache Kafka para processar dados de streaming.
O Amazon Elastic Kubernetes Service (EKSAmazon) ajuda você a executar o AWS Kubernetes sem precisar instalar ou manter seu próprio plano de controle ou nós do Kubernetes.
O Amazon EKS Anywhere
ajuda você a implantar, usar e gerenciar clusters Kubernetes que são executados em seus próprios datacenters. O Amazon DynamoDB é um serviço SQL sem banco de dados totalmente gerenciado que fornece desempenho rápido, previsível e escalável.
O Amazon Relational Database Service (RDSAmazon) ajuda você a configurar, operar e escalar um banco de dados relacional na AWS nuvem.
ElastiCacheA Amazon ajuda você a configurar, gerenciar e escalar ambientes distribuídos de cache na memória na AWS nuvem.
O Amazon Keyspaces (para Apache Cassandra) é um serviço de banco de dados gerenciado que ajuda você a migrar, executar e escalar suas cargas de trabalho do Cassandra na nuvem. AWS
Outras ferramentas
O Precisely Connect
integra dados de sistemas de mainframe antigos, como VSAM conjuntos de dados ou bancos de dados de IBM mainframe, às plataformas de nuvem e dados da próxima geração.
Práticas recomendadas
Encontrar a melhor combinação de partições Kafka e conectores com múltiplos encadeamentos para equilibrar desempenho e custo ideais. Várias instâncias do Precisely Capture and Dispatcher podem aumentar o custo devido ao maior consumo MIPS (milhões de instruções por segundo).
Evitar adicionar lógica de manipulação e transformação de dados aos conectores do banco de dados. Para isso, use o Precisely Apply Engine, que fornece tempos de processamento em microssegundos.
Crie chamadas periódicas de solicitação ou verificação de integridade para o banco de dados (pulsações) nos conectores do banco de dados para aquecer a conexão com frequência e reduzir a latência.
Implemente a lógica de validação do pool de encadeamentos para entender as tarefas pendentes na fila de encadeamentos e aguarde a conclusão de todos os threads antes da próxima pesquisa do Kafka. Isso ajuda a evitar a perda de dados se um nó, contêiner ou processo falhar.
Exponha métricas de latência por meio de endpoints de integridade para aprimorar os recursos de observabilidade por meio de painéis e mecanismos de rastreamento.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Configure o processo de mainframe (utilitário em lote ou on-line) para iniciar o CDC processo a partir de bancos de dados de mainframe. |
| Engenheiro de mainframe |
Ativar os fluxos de log do banco de dados de mainframe. |
| Especialista em banco de dados de mainframe |
Use o componente Capturar para capturar CDC registros. |
| Engenheiro de mainframe, Precisely Connect SME |
Configurar o componente Publisher para receber o componente Capture. |
| Engenheiro de mainframe, Precisely Connect SME |
Provisione o Amazon EKS Anywhere no ambiente distribuído local. |
| DevOps engenheiro |
Implante e configure o componente Dispatcher no ambiente distribuído para publicar os tópicos na AWS nuvem. |
| DevOps engenheiro, Precisely Connect SME |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Provisione um EKS cluster da Amazon na AWS região designada. |
| DevOps engenheiro, administrador de rede |
Provisione um MSK cluster e configure os tópicos aplicáveis do Kafka. |
| DevOps engenheiro, administrador de rede |
Configurar o componente Apply Engine para ser receptor dos tópicos replicados do Kafka. |
| Conecte-se com precisão SME |
Provisione instâncias de banco de dados na AWS nuvem. |
| Engenheiro de dados, DevOps engenheiro |
Configurar e implantar conectores de banco de dados para receber os tópicos publicados pelo Apply Engine. |
| Desenvolvedor de aplicativos, arquiteto de nuvem, engenheiro de dados |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Definir metas de recuperação de desastres para seus aplicativos de negócios. |
| Arquiteto de nuvem, engenheiro de dados, proprietário do aplicativo |
Projete estratégias de recuperação de desastres com base emRTO/definidoRPO. |
| Arquiteto de nuvem, engenheiro de dados |
Provisionar clusters e configurações de recuperação de desastres. |
| DevOps engenheiro, administrador de rede, arquiteto de nuvem |
Teste o CDC pipeline para recuperação de desastres. |
| Proprietário do aplicativo, engenheiro de dados, arquiteto de nuvem |
Recursos relacionados
AWSrecursos
Conecte recursos com precisão
Recursos confluentes