Migre um banco de dados Oracle local para o Amazon OpenSearch Service usando o Logstash - Recomendações da AWS

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á.

Migre um banco de dados Oracle local para o Amazon OpenSearch Service usando o Logstash

Criado por Aditya Goteti () AWS

Ambiente: PoC ou piloto

Origem: banco de dados Oracle

Alvo: Amazon OpenSearch Service

Tipo R: redefinir a plataforma

Workload: Oracle

Tecnologias: migração; bancos de dados

AWSserviços: Amazon OpenSearch Service

Resumo

Esse padrão descreve como mover dados de um banco de dados Oracle local para o Amazon OpenSearch Service usando o Logstash. Ele inclui considerações arquitetônicas e alguns conjuntos de habilidades e recomendações necessários. Os dados podem ser de uma única tabela ou de várias tabelas nas quais uma pesquisa de texto completo precisará ser realizada. 

OpenSearch O serviço pode ser configurado em uma nuvem privada virtual (VPC) ou pode ser colocado publicamente com restrições baseadas em IP. Esse padrão descreve um cenário em que o OpenSearch Serviço é configurado em umVPC. O Logstash é usado para coletar os dados do banco de dados Oracle, analisá-los para JSON formatá-los e, em seguida, alimentar os dados no Service. OpenSearch  

Pré-requisitos e limitações

Pré-requisitos

  • Uma AWS conta ativa

  • Java 8 (exigido pelo Logstash 6.4.3)

  • Conectividade entre os servidores de banco de dados locais e as instâncias do Amazon Elastic Compute Cloud EC2 (Amazon) em umaVPC, estabelecida usando a Rede Privada AWS Virtual () AWS VPN

  • Uma consulta para recuperar os dados necessários para serem enviados ao OpenSearch Serviço a partir do banco de dados

  • Drivers de conectividade de banco de dados Oracle Java (JDBC)

Limitações

  • O Logstash não consegue identificar registros que foram excluídos permanentemente do banco de dados 

Versões do produto

  • Banco de Dados Oracle 12c

  • OpenSearch Serviço 6.3

  • Logstash 6.4.3

Arquitetura

Pilha de tecnologia de origem

  • Banco de dados on-premises da Oracle

  • No local AWS VPN

Pilha de tecnologias de destino

  • VPC

  • EC2instância

  • OpenSearch Serviço 

  • Logstash

  • NATGateway (para atualizações do sistema operacional em EC2 instâncias e para instalar Java 8, Logstash e plug-ins)

Arquitetura de migração de dados

Como mover dados de um banco de dados Oracle local para o Amazon OpenSearch Service usando o Logstash.

Ferramentas

Épicos

TarefaDescriçãoHabilidades necessárias

Identifique o tamanho do banco de dados de origem

O tamanho dos dados de origem é um dos parâmetros que você usa para determinar o número de fragmentos a serem configurados em um índice.

DBA, Desenvolvedor de banco de dados

Analise os tipos de dados de cada coluna e os dados correspondentes.

OpenSearch O serviço mapeia dinamicamente o tipo de dados quando um campo inédito é encontrado no documento. Se houver algum tipo ou formato de dados específico (por exemplo, campos de data) que precise ser declarado explicitamente, identifique os campos e defina o mapeamento desses campos durante a criação do índice.

Proprietário do aplicativo, desenvolvedor, desenvolvedor de banco de dados

Determine se há alguma coluna com chaves primárias ou exclusivas.

Para evitar a duplicação de registros no Amazon OpenSearch Service durante atualizações ou inserções, você precisa document_id definir a configuração na seção de saída do amazon_es plug-in (por exemplo, document_id => "%{customer_id}" onde customer_id está uma chave primária).

Proprietário do aplicativo, desenvolvedor

Analise o número e a frequência dos novos registros adicionados; verifique com que frequência os registros são excluídos.

Essa tarefa é necessária para entender a taxa de crescimento dos dados de origem. Se os dados forem lidos intensivamente e as inserções forem raras, você poderá ter um único índice. Se novos registros forem inseridos com frequência e não houver exclusões, o tamanho do fragmento pode facilmente exceder o tamanho máximo recomendado de 50 GB. Nesse caso, você pode criar dinamicamente um índice configurando padrões de índice no Logstash e no código em que você pode acessá-lo usando um alias.

Proprietário do aplicativo, desenvolvedor

Determine quantas réplicas são necessárias.

Proprietário do aplicativo, desenvolvedor

Determine o número de fragmentos a serem configurados no índice.

Proprietário do aplicativo, desenvolvedor

Identifique os tipos de instância para nós mestres dedicados, nós de dados e a EC2 instância.

Para obter mais informações, consulte a seção Recursos relacionados.

Proprietário do aplicativo, desenvolvedor

Determine o número de nós principais dedicados e nós de dados necessários.

Para obter mais informações, consulte a seção Recursos relacionados.

TarefaDescriçãoHabilidades necessárias

Execute uma EC2 instância.

Execute uma EC2 instância dentro da VPC qual AWS VPN está conectada.

A Amazon VPC constrói, AWS VPN

Instale o Logstash na EC2 instância.

Desenvolvedor

Instale os plug-ins do Logstash.

Instale os plug-ins necessários do Logstash jdbc-input e logstash-output-amazon_es.

Desenvolvedor

Configure o Logstash.

Crie o repositório de chaves do Logstash para armazenar informações confidenciais, como chaves do AWS Secrets Manager e credenciais do banco de dados, e depois coloque as referências em um arquivo de configuração do Logstash.

Desenvolvedor

Configure fila de mensagens não entregues e a fila persistente.

Por padrão, quando o Logstash encontra um evento que não pode ser processado porque os dados contêm um erro de mapeamento ou algum outro problema, o pipeline do Logstash trava ou descarta o evento malsucedido. Para se proteger contra perda de dados nessa situação, você pode configurar o Logstash para gravar eventos malsucedidos em uma fila de mensagens não entregues em vez de descartá-los. Para se proteger contra perda de dados durante o encerramento anormal, o Logstash tem um atributo de fila persistente que armazenará a fila de mensagens no disco. As filas persistentes fornecem a durabilidade dos dados no Logstash.

Desenvolvedor

Crie o domínio do Amazon OpenSearch Service.

Crie o domínio do Amazon OpenSearch Service com uma política de acesso que não exija solicitações de assinatura com credenciais de AWS Identity and Access Management (IAM). O domínio do Amazon OpenSearch Service deve ser criado dentro do mesmoVPC. Você também deve selecionar os tipos de instância e definir o número de nós principais e dedicados com base na sua análise.

Desenvolvedor

Configure os registros necessários OpenSearch do Amazon Service.

Para obter mais informações, consulte a documentação do OpenSearch serviço.

Crie o índice.

Desenvolvedor

Inicie o Logstash.

Execute o Logstash como um serviço em segundo plano. O Logstash executa a SQL consulta configurada, extrai os dados, os converte em JSON formato e os envia para o Service. OpenSearch Para o carregamento inicial, não configure o agendador no arquivo de configuração do Logstash.

Desenvolvedor

Verifique os documentos.

Verifique o número de documentos no índice e se todos os documentos estão presentes no banco de dados de origem. Durante o carregamento inicial, eles são adicionados ao índice e usados para interromper o Logstash.

Altere a configuração do Logstash para adicionar um agendador que seja executado em um intervalo fixo, dependendo dos requisitos do cliente, e reinicie o Logstash. O Logstash selecionará somente os registros que foram atualizados ou adicionados após a última execução, e a data e hora da última execução será armazenada no arquivo configurado com a propriedade last_run_metadata_path => “/usr/share/logstash/.logstash_jdbc_last_run” no arquivo de configuração do Logstash.

Desenvolvedor

Recursos relacionados