pgrust es un clon de PostgreSQL escrito en Rust que supera todas las pruebas de regresión.

El proyecto pgrust, una implementación del sistema de gestión de bases de datos PostgreSQL reescrita en Rust mediante el traductor c2rust y un asistente de IA, ha sido publicado. Si bien el proyecto aún no está listo para su uso en producción, ha superado con éxito todas las pruebas de regresión de PostgreSQL, es compatible con el formato de almacenamiento de datos de PostgreSQL 18.3 y puede utilizar el catálogo de datos de PostgreSQL 18.3. El código del proyecto se distribuye bajo la licencia AGPLv3, a diferencia del PostgreSQL original, que se rige por una licencia permisiva similar a las licencias BSD y MIT. Hay disponible una demostración en línea basada en WebAssembly, así como una imagen Docker para una puesta en marcha rápida.

El objetivo del desarrollo es lograr la compatibilidad total con PostgreSQL 18.3, así como experimentar con cambios en el diseño interno y la creación de una versión de PostgreSQL libre de limitaciones arquitectónicas que siguen sin resolverse por razones históricas. El proyecto supera con éxito un conjunto de más de 46 000 pruebas de regresión de PostgreSQL, pero actualmente es incompatible con los complementos de PostgreSQL, no proporciona las optimizaciones de rendimiento deseadas y no implementa completamente los lenguajes procedimentales PL/Python, PL/Perl y PL/Tcl.

Planes futuros:

  • Traducción a arquitectura interna multihilo.
  • Implementación de la agrupación de conexiones.
  • Optimizado para flujos de trabajo que utilizan intensivamente JSON.
  • La capacidad de crear copias y ramificaciones de elementos de la base de datos en modo de copia en escritura sin copiar los datos.
  • Experimentos con una arquitectura que no requiere la operación VACUUM.
  • Un sistema de límites para consultas SQL que permite bloquear el consumo excesivo de recursos al ejecutar consultas de baja calidad.
  • Protección contra el cambio del optimizador a planes de ejecución de consultas menos eficientes.

Según el autor del proyecto, actualmente se está trabajando en la próxima versión de pgrust, que reemplaza un conjunto de procesos de trabajo con un modelo de procesamiento de conexiones multihilo e incorpora optimizaciones adicionales, como el procesamiento por lotes de filas de tablas y la carga predictiva de datos. Al probarla con el kit de herramientas percona-tpcc, la nueva versión de pgrust resultó un 50 % más rápida que PostgreSQL estándar al procesar transacciones y 300 veces más rápida al procesar consultas analíticas.

Para la traducción a Rust se empleó un enfoque híbrido. El código PostgreSQL se procesó primero con el traductor c2rust, que genera una representación en Rust no segura, con una estructura similar al código C original. Tras el procesamiento en c2rust, se crearon aproximadamente 1000 paquetes de bibliotecas, que posteriormente se tradujeron simultáneamente a Rust idiomático utilizando el modelo de IA Claude y el conjunto de herramientas Conductor para distribuir tareas entre subagentes que se ejecutan simultáneamente.

Fuente: opennet.ru

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster