Resumen / Puntos clave
- Un nuevo proyecto llamado pgrust ha reescrito completamente Postgres en Rust, y pasa todas las pruebas de regresión.
- Pero la verdadera historia no es solo la velocidad, es cómo la IA hizo realidad esta hazaña 'imposible'.
Más allá de un Fork: ¿Un Clon Perfecto?
Una reescritura completa de Postgres en Rust, bautizada como pgrust, ha sido lanzada, y es mucho más que un mero ejercicio académico. Este audaz proyecto ha logrado la monumental hazaña de pasar las más de 46.000 consultas de regresión oficiales de Postgres, un punto de referencia que pocas, si alguna, bases de datos "compatibles" se atreven a reclamar. Esto no es solo un guiño a la compatibilidad; es una declaración.
Fundamentalmente, pgrust no es un fork del código base C existente, ni es una extensión atornillada al original. Representa una reimplementación completa desde cero, meticulosamente diseñada para una compatibilidad de comportamiento del 100% con Postgres 18.3. El objetivo no era modificar el motor antiguo, sino reemplazarlo por completo con Rust, preservando cada matiz del contrato externo.
El resultado es un servidor de base de datos que, desde el exterior, es completamente indistinguible de su predecesor basado en C. Habla el protocolo de red exacto, permitiendo una integración perfecta con los clientes `psql` estándar. Más asombrosamente, pgrust puede incluso arrancar directamente desde un directorio de datos existente de Postgres 18.3, demostrando un nivel de compatibilidad de disco que difumina la línea entre un nuevo motor y un clon absoluto. Esto no es solo una imitación superficial; es una congruencia profunda y fundamental.
El Verdadero Objetivo: Hilos sobre Procesos
Postgres, a pesar de toda su estabilidad, se basa en un modelo pesado de proceso por conexión. Cada cliente exige su propio proceso de backend, ofreciendo un aislamiento robusto pero incurriendo en una sobrecarga de memoria significativa. Este diseño también complica el intercambio de estado para operaciones paralelas, a menudo requiriendo la agrupación de conexiones.
pgrust, sin embargo, traza un camino diferente en su versión experimental no lanzada. Su objetivo es reemplazar esto con una arquitectura de hilo por conexión. Este cambio promete un menor consumo de memoria por conexión y simplifica el intercambio de información entre diferentes componentes de la base de datos, una ventaja crítica para las cargas de trabajo modernas.
Sin embargo, este pivote arquitectónico introduce una compensación crucial. El aislamiento de procesos de Postgres proporciona una red de seguridad crucial: un fallo en una conexión típicamente no derribará todo el servidor. Con los hilos, un solo error de memoria o una extensión insegura podría potencialmente desestabilizar todo el proceso, eliminando algunas de esas barreras de seguridad inherentes.
Esta re-arquitectura fundamental sustenta las afirmaciones de rendimiento más audaces de pgrust. Los desarrolladores informan de un aumento no verificado del 50% para cargas de trabajo transaccionales y una asombrosa mejora de 300 veces para consultas analíticas en esta versión no lanzada. Estas cifras dramáticas siguen siendo especulativas, ya que el código que respalda estos puntos de referencia aún no está disponible públicamente para su verificación independiente.
El Arma Secreta: Desarrollo Impulsado por IA
La reescritura monumental de Postgres en pgrust no fue simplemente un testimonio de las capacidades de Rust; fue una audaz demostración de desarrollo impulsado por IA. Michael Malis y Jason Seibel aprovecharon ampliamente los agentes de codificación de IA, lo que les permitió traducir el código base C de un millón de líneas de Postgres con una velocidad y viabilidad asombrosas. Esta tarea monumental, antes impensable para un equipo pequeño, se volvió manejable a través de la traducción automatizada, alterando fundamentalmente la economía de tal empresa.
Esto revela el verdadero experimento en juego: no solo si Rust puede hacer que Postgres sea más rápido, sino si la IA puede hacer que reescribir la infraestructura heredada sea lo suficientemente asequible como para repensar la arquitectura central. Décadas de código C acumulado, una vez considerado un monolito intocable, se convirtieron en un objetivo factible para un cambio arquitectónico profundo. La versión publicada de pgrust refleja en gran medida la estructura original de Postgres, pero el modelo thread-per-connection no lanzado muestra la verdadera ambición de cambios de diseño fundamentales.
Este cambio de paradigma redefine fundamentalmente el análisis costo-beneficio para modernizar otros proyectos de software a gran escala y con décadas de antigüedad. Sistemas como Linux, Apache, o incluso aplicaciones empresariales más antiguas, previamente considerados demasiado caros o arriesgados de reescribir, ahora entran en el ámbito de lo posible. Los agentes de IA reducen drásticamente la carga de traducción inicial, liberando a los ingenieros humanos para que se centren en renovaciones arquitectónicas innovadoras, como se detalla en malisper/pgrust: Postgres rewritten in Rust, now passing 100% of the Postgres regression tests - GitHub.
Hype vs. Realidad: El Veredicto sobre pgrust
Como era de esperar, el veredicto de la comunidad de ingeniería sobre pgrust está muy dividido. Si bien muchos desarrolladores expresan un inmenso respeto por un logro como superar las más de 46,000 consultas de regresión oficiales de Postgres, persiste un escepticismo saludable. Los benchmarks no verificados, que afirman un 50% mejor rendimiento transaccional y cargas de trabajo analíticas 300 veces más rápidas de una versión no lanzada, alimentan esta cautela.
Enjoying this? Get one like it in your inbox each morning.
one email a day · unsubscribe in two clicks · no third-party tracking
No nos equivoquemos: pgrust es un experimento innovador, no un reemplazo listo para producción. Áreas centrales como el extenso extension ecosystem permanecen sin terminar, y el endurecimiento crítico requerido para la recuperación de fallos y la estabilidad a largo plazo aún no se ha logrado. Implementar esto en un entorno en vivo sería irresponsable.
En última instancia, la contribución más profunda de pgrust puede no ser un único benchmark o incluso un reemplazo directo para Postgres. En cambio, su verdadero valor reside en la libertad sin precedentes que crea. Habilitado por el desarrollo impulsado por IA, este proyecto demuestra la viabilidad de probar nuevas arquitecturas de bases de datos radicales, como un modelo thread-per-connection, sin el costo y la complejidad prohibitivos de bifurcar todo el proyecto Postgres.
Preguntas Frecuentes
¿Qué es pgrust?
pgrust es una reescritura completa desde cero de la base de datos Postgres en el lenguaje de programación Rust. Su objetivo es ser un reemplazo directo que sea idéntico en comportamiento, habiendo superado las más de 46,000 pruebas de regresión oficiales de Postgres.
¿Es pgrust más rápido que Postgres?
La versión actual lanzada de pgrust no se centra en el rendimiento. Sin embargo, una versión de desarrollo no lanzada afirma mejoras significativas de velocidad —hasta un 50% en cargas de trabajo transaccionales y 300 veces en cargas de trabajo analíticas— al cambiar a un modelo thread-per-connection.
¿Puedo usar pgrust en producción?
No. Los desarrolladores afirman que pgrust no está listo para producción. Si bien supera las pruebas de regresión, no ha pasado por los años de pruebas en el mundo real necesarios para la confianza en producción, especialmente en áreas como la recuperación de fallos y la replicación.
¿Cómo se usó la IA para construir pgrust?
Los desarrolladores utilizaron ampliamente agentes de codificación impulsados por IA para acelerar la enorme tarea de traducir casi un millón de líneas de código C a Rust. Esto hizo factible un experimento que de otro modo habría sido prohibitivamente caro.
