O que é migração de banco de dados?
O que é migração de banco de dados?
A migração de banco de dados é um processo que transfere um banco de dados de um ambiente para outro. À medida que as empresas buscam modernizar suas aplicações, elas migram os bancos de dados associados dos servidores on-premises para a nuvem.
A migração de bancos de dados para a nuvem permite que as empresas aumentem a confiabilidade, a escalabilidade e a performance dos serviços. Além disso, a migração de dados para a nuvem reduz os custos de infraestrutura da manutenção de data centers on-premises.
Mover volumes de dados para a nuvem é importante para garantir a integridade dos dados, a conformidade e a continuidade dos negócios. Considere o seguinte:
Orçamento
A migração de dados envolve tarefas como mapeamento, testes, monitoramento pós-migração e auditoria de dados. Às vezes, a aplicação que acessa o banco de dados exige modificações antes de poder ler os dados do banco de dados migrado. As empresas devem fazer um orçamento de acordo com o tempo, os custos e os recursos necessários para essas tarefas.
Tempo de inatividade
Ao migrar o banco de dados, planeje o tempo de inatividade ao alternar entre a origem e o destino. Embora o tempo de inatividade zero seja impossível, você pode reduzir a interrupção dos negócios planejando a migração e usando as ferramentas apropriadas de migração de banco de dados. Por exemplo, você pode testar o banco de dados na nuvem muito antes da transição para garantir a confiabilidade da aplicação e a precisão dos dados.
Sistemas de origem e destino
Uma transferência homogênea move os dados dos sistemas de origem para os de destino com mecanismos de banco de dados semelhantes. Em contrapartida, a transferência de dados para uma plataforma de destino diferente é chamada de transferência heterogênea. Por exemplo, a migração de um banco de dados MySQL para um banco de dados MySQL é homogênea, enquanto a transferência do Postgres SQL para o Amazon Aurora é heterogênea. A transferência homogênea é mais simples porque o banco de dados pode ser transferido para o destino de destino sem manipulação adicional. No entanto, se a migração heterogênea estiver envolvida, os arquitetos de banco de dados precisarão limpar e transformar os dados antes de transferi-los.
Tipo de migração
A migração do banco de dados pode ser dos seguintes tipos:
- Uma migração parcial move somente uma parte de todo o conjunto de dados do banco de dados original para a nuvem.
- Uma migração completa do banco de dados transfere todos os dados da plataforma de origem para a plataforma de destino.
Depois de qualquer transferência, o banco de dados de origem é desconectado da aplicação. Outro tipo de migração é a migração contínua ou a replicação de dados. Ela copia dados do banco de dados de origem para o banco de dados de destino indefinidamente.
Quais são os tipos de migrações de banco de dados?
Antes de migrar, considere qual tipo de migração seria mais adequado ao seu caso de uso.
Migração offline
A migração offline é adequada para mudar bancos de dados não críticos que podem tolerar um tempo de inatividade significativo. Ao realizar a migração offline, você deve impedir que as aplicações gravem no banco de dados por um determinado período. O intervalo de tempo permite que os arquitetos de banco de dados movam sem alterações (lift-and-shift) o banco de dados para a nuvem e modifiquem a aplicação. Normalmente, as empresas optam pela migração offline ao modernizar sistemas legados não compatíveis com as ferramentas de migração para a nuvem. Da mesma forma, a migração offline do banco de dados é ideal para projetos de teste e desenvolvimento em que as atualizações de dados pontuais não são críticas.
Vamos dar o exemplo da migração de um banco de dados Oracle on-premises para o Amazon RDS para Oracle. Apesar de estarem hospedados em infraestruturas diferentes, os dois bancos de dados compartilham mecanismos semelhantes. Portanto, o processo de migração de dados é simples, conforme descrevemos abaixo.
Etapa 1: estabelecer a conectividade de rede
Conecte o banco de dados on-premises à Nuvem AWS usando uma rede segura. Você pode configurar uma rede privada virtual ou usar o AWS Direct Connect para habilitar a conectividade entre o ambiente on-premises e a nuvem. Com o AWS Direct Connect, você pode conectar bancos de dados diretamente sem passá-los pela internet pública.
Etapa 2: interromper a gravação da aplicação
Para evitar alterações inesperadas no banco de dados de destino, impeça que as aplicações gravem no banco de dados de origem.
Etapa 3: transferir dados de on-premises para a nuvem
Em seguida, implante ferramentas nativas de transferência de dados em um servidor em nuvem. Para reduzir custos, recomendamos configurar as ferramentas no Amazon EC2. Dessa forma, você paga somente pelos recursos usados para executar as ferramentas nativas do banco de dados. Depois, as ferramentas são usadas para extrair os dados do banco de dados de origem e restaurá-los no banco de dados na nuvem.
Etapa 4: executar a transição do banco de dados
Depois de transferir todo o banco de dados para a nuvem, valide-o para garantir a consistência de dados. Em seguida, redirecione todas as consultas de dados da aplicação para o novo banco de dados.
Migração de workloads de produção
A migração de workloads de produção exige uma abordagem diferente da mudança de bancos de dados não essenciais. As workloads de produção e suas fontes de dados não podem ser colocadas offline. Os usuários deverão poder acessar os serviços normalmente, mesmo quando a transferência de dados estiver em andamento. Portanto, é necessário um amplo planejamento e coordenação para possibilitar a migração sem desligar a aplicação.
Os arquitetos aplicam scripts desenvolvidos internamente ou ferramentas de replicação de dados de terceiros para migrar bancos de dados para workloads de produção. Os scripts ou as ferramentas replicam os dados do banco de dados on-premises para o banco de dados na nuvem. Enquanto a replicação de dados ocorre, o banco de dados on-premises permanece operacional.
Os desafios surgem quando os desenvolvedores de software revisam o script para acomodar requisitos de dados novos e contínuos. Além disso, as ferramentas de banco de dados de terceiros que eles usam podem exigir atualização para uma migração bem-sucedida do banco de dados.
Replicação de banco de dados on-line
A replicação de um banco de dados envolve gravar scripts que configuram esquemas de banco de dados em novos mecanismos de banco de dados e, em seguida, transferir os dados do banco de dados de origem para o banco de dados de destino. Os esquemas contêm definições para armazenar e organizar dados em um banco de dados relacionável. Os engenheiros podem usar ferramentas de replicação de dados de terceiros para criar e manter várias cópias de dados em diferentes servidores. Ambas as abordagens são igualmente desafiadoras porque envolvem considerável intervenção manual, estão sujeitas a erros e podem ser ineficientes.
Se você quiser uma forma mais eficiente e segura de replicar bancos de dados on-line, considere o AWS Database Migration Service (DMS). É um serviço em nuvem que automatiza a migração do banco de dados em vários mecanismos de banco de dados. Em vez de criar um script manual para a transferência de dados, você pode fazer com que o DMS verifique automaticamente os esquemas do banco de dados original e crie novos esquemas para o destino. Isso permite que os desenvolvedores se concentrem em aplicações inovadoras em vez de no trabalhoso gerenciamento de banco de dados.
Confira abaixo como replicar seu banco de dados on-premises para a nuvem.
Etapa 1: fazer um inventário dos dados existentes
Analise os bancos de dados atualmente hospedados on-premises. Para acelerar o processo, use o AWS DMS Fleet Advisor. Essa ferramenta analisa a frota existente de servidores de banco de dados e analytics e identifica possíveis caminhos de migração. Ela também compila a performance, os esquemas, os padrões de uso e outras métricas.
Etapa 2: mudar o banco de dados para a nuvem
Use o AWS DMS para migrar todo o banco de dados do data center on-premises para a nuvem. Além disso, você pode ativar o modo de captura de dados de alterações (CDC) do DMS para permitir a replicação quase em tempo real. Com o modo CDC, o DMS captura as alterações de dados à medida que elas ocorrem no banco de dados original e as aplica a todos os bancos de dados replicados.
Refatoração de banco de dados
Em alguns casos, a estratégia de migração do banco de dados envolve refatoração ou transferência heterogênea. As empresas refatoram bancos de dados ao modernizar aplicações por vários motivos, incluindo reduzir os custos de licenciamento, acessar recursos de nuvem e melhorar a qualidade dos dados. Em uma migração heterogênea, as informações armazenadas no banco de dados de origem não podem ser deslocadas como estão. Os dados devem ser limpos, transformados e estruturados de acordo com os novos esquemas compatíveis com os banco de dados de destino.
Confira abaixo as etapas que ajudam você a refatorar um banco de dados.
Etapa 1: auditar o banco de dados
Analise o banco de dados on-premises e identifique os esquemas usados para armazenar os dados. Planeje como os dados atuais serão armazenados no novo banco de dados. Às vezes, a refatoração de banco de dados envolve a consolidação de vários bancos de dados em um ou a distribuição de dados de um único banco de dados para vários bancos de dados.
Etapa 2: converter o esquema do banco de dados
Converta o esquema compilado do banco de dados de origem nos formatos necessários para o banco de dados de destino. Você pode usar a Conversão de Esquema do AWS DMS para agilizar o processo.
Observação: talvez os engenheiros de banco de dados precisem criar ou modificar manualmente os novos esquemas, especialmente para conjuntos de dados altamente complexos.
Etapa 3: iniciar a migração do banco de dados
Migre dados do banco de dados on-premises para o banco de dados na nuvem com o AWS DMS. Para garantir que o banco de dados na nuvem capture todas as alterações durante a migração, ative o modo CDC. Depois de transferir todos os dados, redirecione os serviços da aplicação para o banco de dados na nuvem.
Como a AWS pode apoiar suas necessidades de migração de banco de dados?
As empresas migram bancos de dados para a nuvem para reduzir os custos de infraestrutura, melhorar a confiabilidade do serviço e aproveitar outros recursos da nuvem. A migração de um banco de dados pode ser tão simples quanto portar um banco de dados inteiro do jeito que está ou reconstruir esquemas inteiros para atender aos novos requisitos de dados. Independentemente das complexidades da migração, é essencial garantir que os dados sejam transferidos com segurança, precisão e pontualidade. Explore o AWS Database Migration Service para obter ferramentas gerenciadas que permitem transição quase em tempo real, análise de banco de dados, transferência automatizada de dados e muito mais.