migração de banco
Oracle, DB2 e SQL Server para PostgreSQL em 30 dias, linha por linha conferida
A renovação da licença está de novo no calendário, e as stored procedures em que ninguém quer mexer são o único motivo de você ainda pagar. Engenheiros com 25+ anos em produção levam schema, lógica e dados para PostgreSQL em 30 dias.
Em 48 horas um engenheiro manda um preço fechado, uma data de virada e a lista de objetos que portamos.
Oracle, DB2 ou Sybase, regras de negócio enterradas em pacotes e uma data de renovação que todo mundo teme.
- Oraclelicence per core
- PL/SQL packagesbusiness logic
- DB linkscross-database
- nightly ETLhand-kept
30 dias, com virada sobre replicação ao vivo e zero downtime
Lógica em PL/pgSQL ou em serviços Go testados, cada linha conciliada, a licença cancelada.
- PostgreSQLno licence
- servicesGo · logic out of the DB
- replicationno downtime
- reconciliationrow by row
Da licença ao PostgreSQL em 30 dias
- 01dias 1–4
Inventariar o banco
Tabelas, sequences, triggers, pacotes, jobs, database links e cada consulta que as suas aplicações enviam. A plataforma lê tudo numa passada, e o preço sai do que de fato roda.
- 02dias 3–14
Portar schema e lógica
Tipos mapeados, constraints mantidas, PL/SQL e T-SQL portados para PL/pgSQL ou levados para serviços Go com testes. O seu DBA e o nosso engenheiro escolhem o destino de cada pacote.
- 03dias 10–24
Copiar e conciliar
Uma carga completa, e depois o change data capture mantém o PostgreSQL atualizado enquanto a produção roda. Checksums comparam cada tabela linha por linha, e as suas consultas rodam nos dois bancos até os resultados baterem.
- 04dias 25–30
Virar
A replicação alcança, as aplicações trocam a string de conexão e o banco antigo fica aquecido como alvo de rollback até você assinar. Aí a licença vai embora.
Quem faz o quê no seu banco
Ler schema, pacotes e logs de consulta
Plataforma
Milhares de objetos analisados numa passada, inclusive os gerados por uma ferramenta que ninguém roda desde 2011.
Mapeamento de tipos e de dialeto
Plataforma
NUMBER, DATE, CONNECT BY, MERGE, sequences e a sintaxe antiga de outer join traduzidos e depois revisados como pull request.
Onde cada stored procedure vai parar
Engenheiro
Parte da lógica pertence ao lado dos dados, em PL/pgSQL, parte a um serviço Go com testes. Um engenheiro sênior decide pacote a pacote.
Conciliação linha por linha
Os dois
Checksums e contagens são nossos. Quais linhas históricas já estavam erradas é uma decisão que o seu lado assina.
Desempenho das consultas no PostgreSQL
Engenheiro
Planos de execução comparados consulta a consulta e índices refeitos para o novo planner antes de um único usuário se conectar.
Virada e rollback
Os dois
Replicação, troca e janela de rollback acontecem numa data escrita no contrato.
Traduzir o schema é a parte rápida. Cada objeto portado passa por um engenheiro sênior antes de encostar em dados de produção.
Por que este time acerta o seu banco
Os nossos engenheiros operam sistemas em produção há mais de 25 anos e já portaram pacotes PL/SQL, stored procedures de DB2, T-SQL de Sybase, Informix 4GL e macros de Access. Eles sabem onde o tratamento de NULL, a aritmética de datas e as conversões implícitas mudam uma resposta de um banco para outro, e acham isso antes dos seus auditores. Para mover o banco que paga os salários da sua empresa, são os melhores que você pode contratar.
Preço fechado por fase e data de virada no contrato. A fase é aceita quando o relatório de conciliação fecha linha a linha, e cada script e serviço é seu desde o primeiro commit.
O que DBAs e CTOs nos perguntam
Temos milhares de pacotes PL/SQL. O PostgreSQL dá conta de tudo isso?
A maior parte vai direto para PL/pgSQL, e a plataforma faz essa tradução em lote. Pacotes que carregam regras de negócio, como precificação ou liquidação, normalmente vão para serviços Go com testes, onde os seus desenvolvedores conseguem trabalhar neles. Você vê a divisão por pacote antes de começarmos. Peça o orçamento e a lista chega com o preço.
Não podemos ter downtime. Como funciona a troca?
Primeiro uma cópia completa, depois o change data capture leva cada escrita do banco antigo para o PostgreSQL enquanto a produção roda. No dia da virada a replicação alcança, as aplicações trocam a conexão e o banco antigo fica pronto como alvo de rollback. Os seus usuários veem um dia comum. Escolha a data e ela vai para o contrato.
Como sabemos que nenhum dado se perdeu?
Cada tabela é comparada linha por linha com checksums, e as suas próprias consultas rodam nos dois bancos até os resultados baterem. Você recebe um relatório de conciliação por tabela e assina antes da virada. Linhas que nunca fecharam no sistema antigo são marcadas pela chave. Peça o orçamento: a conciliação já está no preço.
O PostgreSQL vai aguentar as nossas consultas mais pesadas?
As suas consultas mais pesadas são cronometradas nos dois bancos antes da virada, e qualquer uma mais lenta é ajustada até ficar pelo menos tão rápida, com índices, particionamento e SQL reescrito onde o planner precisa. Você entra no ar com números que já viu. Peça o orçamento hoje e esses números chegam à sua mesa dentro dos 30 dias.
E as aplicações que falam direto com o banco?
A plataforma lê cada consulta que elas enviam, das chamadas de ORM ao SQL montado com concatenação de strings num relatório de 2004. As consultas que precisam mudar são reescritas e testadas de novo contra o PostgreSQL na mesma bancada. Front-ends em Access e FoxPro nós reconstruímos em TypeScript, se você quiser se livrar deles também. Coloque-os no pedido e eles entram no preço.
A sua última renovação de licença
Informe hoje o banco, o tamanho e a data de renovação. Um preço fechado e uma data de virada chegam em 48 horas, e 30 dias depois da sua aprovação o PostgreSQL atende a produção e a licença está cancelada.
Contagens aproximadas de objetos bastam. Um engenheiro lê o pedido e responde com um preço por escrito.