Resumo / Pontos-chave
- Um novo projeto chamado pgrust reescreveu completamente o Postgres em Rust, e ele passa em todos os testes de regressão.
- Mas a verdadeira história não é apenas a velocidade — é como a IA tornou este feito 'impossível' uma realidade.
Além de um Fork: Um Clone Perfeito?
Uma reescrita completa do Postgres em Rust, batizada de pgrust, foi lançada, e é muito mais do que um mero exercício acadêmico. Este projeto audacioso alcançou o feito monumental de passar em todas as mais de 46.000 consultas de regressão oficiais do Postgres – um marco que poucos, se houver, bancos de dados "compatíveis" realmente ousam reivindicar. Isso não é apenas um aceno à compatibilidade; é uma declaração.
Crucialmente, o pgrust não é um fork da base de código C existente, nem é uma extensão acoplada ao original. Ele representa uma reimplementação completa, do zero, meticulosamente projetada para 100% de compatibilidade comportamental com o Postgres 18.3. O objetivo não era ajustar o motor antigo, mas substituí-lo inteiramente por Rust, preservando cada nuance do contrato externo.
O resultado é um servidor de banco de dados que é, por fora, totalmente indistinguível de seu predecessor baseado em C. Ele fala o protocolo de comunicação exato, permitindo integração perfeita com clientes `psql` padrão. Mais surpreendentemente, o pgrust pode até inicializar diretamente de um diretório de dados existente do Postgres 18.3, demonstrando um nível de compatibilidade de disco que borra a linha entre um novo motor e um clone completo. Isso não é apenas mimetismo superficial; é uma congruência profunda e fundamental.
O Verdadeiro Objetivo: Threads em Vez de Processos
O Postgres, apesar de toda a sua estabilidade, depende de um modelo pesado de processo por conexão. Cada cliente exige seu próprio processo de backend, oferecendo isolamento robusto, mas incorrendo em uma sobrecarga significativa de memória. Este design também complica o compartilhamento de estado para operações paralelas, muitas vezes exigindo pooling de conexões.
O pgrust, no entanto, traça um curso diferente em sua versão experimental não lançada. Ele visa substituir isso por uma arquitetura de thread por conexão. Essa mudança promete menor consumo de memória por conexão e simplifica o compartilhamento de informações entre diferentes componentes do banco de dados, uma vantagem crítica para cargas de trabalho modernas.
No entanto, este pivô arquitetônico introduz uma compensação crucial. O isolamento de processo do Postgres fornece uma rede de segurança crucial: uma falha em uma conexão tipicamente não derrubará o servidor inteiro. Com threads, um único bug de memória ou extensão insegura poderia potencialmente desestabilizar todo o processo, removendo algumas dessas grades de segurança inerentes.
Esta re-arquitetura fundamental sustenta as reivindicações de desempenho mais audaciosas do pgrust. Os desenvolvedores relatam um aumento não verificado de 50% para cargas de trabalho transacionais e uma melhoria impressionante de 300x para consultas analíticas nesta versão não lançada. Esses números dramáticos permanecem especulativos, pois o código que sustenta esses benchmarks ainda não está publicamente disponível para verificação independente.
A Arma Secreta: Desenvolvimento Orientado por IA
A reescrita monumental do Postgres para pgrust não foi meramente um testemunho das capacidades do Rust; foi uma demonstração audaciosa de desenvolvimento orientado por IA. Michael Malis e Jason Seibel aproveitaram extensivamente os agentes de codificação de IA, permitindo-lhes traduzir a base de código C de um milhão de linhas do Postgres com velocidade e viabilidade surpreendentes. Esta tarefa monumental, anteriormente impensável para uma pequena equipe, tornou-se viável através da tradução automatizada, alterando fundamentalmente a economia de tal empreendimento.
Isso revela o verdadeiro experimento em jogo: não apenas se Rust pode tornar o Postgres mais rápido, mas se a IA pode tornar a reescrita de infraestruturas legadas acessível o suficiente para repensar a arquitetura central. Décadas de código C acumulado, antes considerado um monólito intocável, tornaram-se um alvo viável para mudanças arquitetônicas profundas. A versão publicada do pgrust espelha em grande parte a estrutura original do Postgres, mas o modelo thread-per-connection não lançado mostra a verdadeira ambição por mudanças fundamentais de design.
Essa mudança de paradigma redefine fundamentalmente a análise de custo-benefício para a modernização de outros projetos de software de grande escala e com décadas de existência. Sistemas como Linux, Apache, ou mesmo aplicações empresariais mais antigas, anteriormente considerados muito caros ou arriscados para reescrever, agora entram no campo das possibilidades. Agentes de IA reduzem drasticamente a carga de tradução inicial, liberando engenheiros humanos para se concentrarem em revisões arquitetônicas inovadoras, conforme detalhado em malisper/pgrust: Postgres rewritten in Rust, now passing 100% of the Postgres regression tests - GitHub.
Hype vs. Realidade: O Veredito sobre pgrust
Sem surpresa, o veredito da comunidade de engenharia sobre o pgrust está fortemente dividido. Embora muitos desenvolvedores expressem imenso respeito por uma conquista como passar todas as mais de 46.000 consultas oficiais de regressão do Postgres, um ceticismo saudável permanece. Benchmarks não verificados, alegando 50% melhor desempenho transacional e 300 vezes mais rápido em cargas de trabalho analíticas de uma versão não lançada, alimentam essa cautela.
Enjoying this? Get one like it in your inbox each morning.
one email a day · unsubscribe in two clicks · no third-party tracking
Não se engane: pgrust é um experimento inovador, não um substituto pronto para produção. Áreas centrais como o extenso ecossistema de extensões permanecem inacabadas, e o endurecimento crítico necessário para a recuperação de falhas e estabilidade a longo prazo ainda não foi realizado. Implementar isso em um ambiente de produção seria irresponsável.
Em última análise, a contribuição mais profunda do pgrust pode não ser um único benchmark ou mesmo um substituto direto para o Postgres. Em vez disso, seu verdadeiro valor reside na liberdade sem precedentes que ele cria. Habilitado pelo desenvolvimento impulsionado por IA, este projeto demonstra a viabilidade de testar novas arquiteturas de banco de dados radicais, como um modelo thread-per-connection, sem o custo proibitivo e a complexidade de fazer um fork de todo o projeto Postgres.
Perguntas Frequentes
O que é pgrust?
pgrust é uma reescrita completa, do zero, do banco de dados Postgres na linguagem de programação Rust. Ele visa ser um substituto direto que é comportamentalmente idêntico, tendo passado em todos os mais de 46.000 testes de regressão oficiais do Postgres.
O pgrust é mais rápido que o Postgres?
A versão atual lançada do pgrust não está focada em desempenho. No entanto, uma versão de desenvolvimento não lançada afirma ganhos significativos de velocidade — até 50% em cargas de trabalho transacionais e 300x em cargas de trabalho analíticas — ao mudar para um modelo thread-per-connection.
Posso usar o pgrust em produção?
Não. Os desenvolvedores afirmam que o pgrust não está pronto para produção. Embora passe nos testes de regressão, ele não passou pelos anos de testes no mundo real necessários para a confiança em produção, especialmente em áreas como recuperação de falhas e replicação.
Como a IA foi usada para construir o pgrust?
Os desenvolvedores usaram extensivamente agentes de codificação impulsionados por IA para acelerar a tarefa massiva de traduzir quase um milhão de linhas de código C para Rust. Isso tornou viável um experimento que, de outra forma, seria proibitivamente caro.
