O projeto teve como objetivo principal a migração do sistema de gerenciamento de banco de dados Oracle para o PostgreSQL da EnterpriseDB. A motivação para essa mudança surgiu da necessidade de reduzir custos de licenciamento e aumentar a flexibilidade e escalabilidade do ambiente de dados. A empresa, que atua no setor de pagamentos, buscava uma solução que permitisse maior eficiência operacional e suporte a um volume crescente de transações. O projeto envolveu a implantação de ambientes de homologação e produção, testes de stress para garantir a performance, e a configuração de replicação e backup para assegurar a continuidade do negócio. As tecnologias utilizadas incluíram o PostgreSQL, ferramentas de migração como o EDB Migration Toolkit, e soluções de backup como o Barman. O escopo do projeto abrangeu desde a configuração inicial dos servidores até a migração completa dos dados, excluindo a migração de dados históricos que não eram críticos para a operação imediata.
Sobre o projeto
Desafios na implementação
Havíamos nos preparados para enfrentar os principais desafios conhecidos em migrações deste tipo , a saber: Diferenças de Sintaxe e Funcionalidades, já que o Oracle possui funções, tipos de dados e sintaxe específicas que não têm equivalência direta no PostgreSQL, exigindo adaptação ou reescrita de consultas e procedimentos e também o comportamento de otimização e indexação entre os dois bancos pode variar, exigindo ajustes para garantir que o desempenho no PostgreSQL seja adequado para a carga de trabalho.
E de fato o que estávamos esperando acabou acontecendo e um dos principais desafios técnicos enfrentados durante a implementação do projeto, foi a incompatibilidade entre as estruturas de dados e funções específicas de cada sistema. A conversão de procedures do Oracle para PL/pgSQL exigiu um esforço significativo, pois algumas funcionalidades não tinham equivalentes diretos no PostgreSQL.
Além disso, a necessidade de compilar o “repmgr” devido à falta de compatibilidade com o pacote pré-compilado do PostgreSQL da EnterpriseDB foi um obstáculo técnico adicional.
Solução implementada
O processo de migração de Oracle para PostgreSQL foi meticulosamente planejado e executado em várias etapas. Inicialmente, foi criado um ambiente de homologação para testar a instalação do PostgreSQL e a migração dos dados. Após a validação, o ambiente de produção foi configurado, incluindo a criação de volumes lógicos para armazenamento de dados e logs. Testes de stress foram realizados para garantir a performance do novo sistema. A replicação foi configurada utilizando a arquitetura Master/Slave com o auxílio da ferramenta “repmgr”, e o backup foi gerenciado pela ferramenta Barman, garantindo a recuperação em qualquer ponto no tempo.
Benefícios e resultados
Este projeto foi essencial para modernizar a infraestrutura de TI da empresa. O projeto trouxe melhora significativa no desempenho do sistema. Durante os testes de stress, o ambiente atingiu uma média de 3.232 transações por segundo (TPS) com 32 conexões simultâneas, demonstrando a robustez e eficiência do novo sistema. Além disso, a implementação de replicação e backup garantiu a segurança e a continuidade dos dados, minimizando riscos de perda de informações.
O projeto trouxe diversos benefícios para a empresa, incluindo uma redução significativa nos custos operacionais associados às licenças de software, já que o PostgreSQL é uma solução open-source e mesmo na versão paga da EnterpriseDB o custos costumam ser menores do que o Oracle. A eficiência do sistema foi aprimorada, permitindo um processamento mais rápido das transações e melhorando a experiência do usuário final. Com a nova infraestrutura, a empresa está melhor posicionada para escalar suas operações e atender a um volume maior de transações sem comprometer o desempenho.