Ir para o conteúdo

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.

Banco licenciado

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

PostgreSQL

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
O banco antigo recebe escritas até o último dia. A replicação leva cada mudança para o outro lado, e a troca é uma string de conexão.

Da licença ao PostgreSQL em 30 dias

O seu banco antigo atende a produção até o dia da troca, e só troca depois que o PostgreSQL bateu com ele linha por linha nos seus próprios dados e consultas.
  1. 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.

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

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

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

A plataforma faz o trabalho de volume: lê cada objeto e compara cada linha. Os nossos engenheiros tomam as decisões que definem se o seu fechamento do mês continua batendo.
  • 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.

Pedir orçamento

Contagens aproximadas de objetos bastam. Um engenheiro lê o pedido e responde com um preço por escrito.