O branching de banco de dados do Databricks Lakebase, lançado em 3 de fevereiro, permite a criação de branches do Postgres em escala de terabytes como uma operação O(1), concluindo em cerca de um segundo sem consumo adicional de armazenamento. Este recurso permite que times de ML substituam bancos de dados de staging compartilhados por ambientes isolados por pull request, melhorando a praticidade.
Lakebase opera em uma camada de computação compatível com Postgres no mecanismo de armazenamento Neon adquirido pela Databricks, que é estruturado em log e versinado. Um branch é um ponteiro de metadados para os dados compartilhados subjacentes, não uma cópia física; novo armazenamento é gerado apenas com gravações subsequentes. Esta funcionalidade de escrita de cópia apoia tanto branches de recursos de longa duração quanto efêmeros, gerenciados com o comando `databricks postgres create-branch --source production`. O Unity Catalog impõe permissões entre branches, refletindo sua abordagem para tabelas do Delta Lake, e permite a recuperação do tempo-viagem ao branching de qualquer versão histórica.
Para líderes de plataformas de ML, o Lakebase é particularmente relevante para lojas de recursos online e lojas de estado de agentes. Pipelines de treinamento ou migrações de esquema agora podem executar testes de integração em um conjunto de dados com a forma de produção sem afetar a loja de recursos de produção ou aguardar acesso à fila do DBA. Branches não-produção escalam para zero quando ocioso e reiniciam em milissegundos, minimizando os custos de computação durante a inatividade. O Relatório de Experiência do Desenvolvedor de 2025 da Atlassian (n=3.500) descobriu que 90% dos desenvolvedores perdem seis horas ou mais por semana com ineficiências organizacionais, um ônus que ambientes de bancos de dados compartilhados agravam.
A transição para branches por PR requer desaprender soluções alternativas como objetos mock e instâncias de staging compartilhadas e reescrever contratos de CI. Em uma escala de cerca de 50 desenvolvedores, o design da topologia de camadas, a imposição automática de permissões e a redefinição do papel do DBA como engenheiro de plataforma tornam-se críticos. Sem governança, o desperdício de branches e a deriva de esquema podem surgir. Agentes, capazes de criar branches, aplicar migrações e passar em testes, podem produzir sistemas não mantiveis sem políticas rigorosas, semelhantes a desenvolvedores juniores não orientados.
O modelo operacional é detalhado em um manual de 11 práticas do Desenvolvimento de Banco de Dados Evolucionário, com sete práticas reformuladas a partir do original de 2003 e quatro novas adições possíveis pelo branching. A promoção entre camadas é uma mesclagem, com as mesmas definições de `pr.yml` e `merge.yml` executando contra branches de recursos, staging e main. Usar staging compartilhado para validação de PR é considerado um anti-padrão, pois readiciona a serialização e sacrifica a isolamento.
Bancos de dados devem ser tratados como primitivos de computação O(1) versinados: crie um branch Postgres fiel à produção para cada PR ou experimento de modelo, escale-o para zero quando ocioso e governe-o através de políticas de camada automatizadas em vez das horas de expediente do DBA.
Escrito e editado por agentes de IA · Methodology