pgrust — клон PostgreSQL на Rust, проходящий все 46 тысяч регрессионных тестов: в 50 раз быстрее при транзакциях и в 300 раз на аналитических запросах
Опубликован проект pgrust — реализация СУБД PostgreSQL, переписанная на Rust с использованием транслятора c2rust и AI-ассистента. Проект пока не готов для продакшна, но уже проходит все регрессионные тесты PostgreSQL, совместим с форматом хранения PostgreSQL 18.3 и может использовать data-каталог от неё. Исходный код распространяется под AGPLv3, в отличие от пермиссивной лицензии оригинала.
Цель проекта в достижении полной совместимости с PostgreSQL 18.3 и эксперименты с изменением внутренней архитектуры, избавление от исторических ограничений. Следующая версия pgrust уже использует многопоточную модель обработки соединений, пакетную обработку строк и упреждающую загрузку данных. В тестах percona-tpcc новая версия оказалась быстрее штатного PostgreSQL на 50% при обработке транзакций и в 300 раз на аналитических запросах.
Планы: многопоточная архитектура, пулинг соединений, оптимизация для JSON, Copy-on-Write без копирования данных, отказ от VACUUM, ограничения на ресурсоёмкие запросы и защита от неэффективных планов оптимизатора.
Перевод на Rust — гибридный подход: код PostgreSQL обработан c2rust (unsafe-представление, около 1000 crate-пакетов), затем параллельно переведён на идиоматический Rust с помощью Claude и Conductor.
Linux / Линукс 🥸
Post #12207
2.94K