Planejador de Migração de Schema sem Downtime

Planeje um expand-migrate-contract com veredito de lock, backfill e ponto de aborto declarado.

Por Os Melhores Prompts

Categoria: Bancos de dados

O que ele faz

Planeja toda mudança de schema como uma sequência expand-migrate-contract e assume que código antigo e novo vão rodar juntos por horas. Dá um veredito de lock e rewrite para cada comando DDL no seu engine e versão exatos — ADD COLUMN no Postgres com default volátil vs constante, NOT NULL via NOT VALID e depois VALIDATE, exceções dos algoritmos de online DDL do MySQL, limites de edição do rebuild online no SQL Server — e considera a fila de locks, em que um ACCESS EXCLUSIVE curto atrás de uma query longa bloqueia tudo que vem depois. O backfill é em lotes, com throttle e retomável.

Use quando

O que você recebe

Como usar

  1. Cole o DDL atual e o alvo, mais a mudança semântica, em {{current_and_target_schema}}.
  2. Informe em {{database_engine}} engine, versão, edição e topologia de HA, porque o veredito de lock depende da versão.
  3. Preencha {{table_scale}} com contagem de linhas, tamanho em disco, número e tamanho dos índices, taxa de escrita e a query mais longa que roda contra a tabela — é ela que transforma um lock de 50 ms em indisponibilidade.
  4. Descreva em {{application_topology}} quais serviços e versões leem ou escrevem na tabela, o mecanismo de deploy, o ORM e o pooler, e em {{availability_constraints}} a duração de lock aceitável, o teto de replication lag e o statement timeout.
  5. Execute os passos na ordem dada com lock_timeout definido antes de cada DDL e pare no ponto de aborto declarado em vez de improvisar.

Tags: migration, ddl, zero-downtime, postgres, mysql, gh-ost, expand-contract

Preço: 10.00 BRL