Проект Limbo от команды Turso перепишет SQLite с языка C на Rust, чтобы повысить безопасность и производительность базы данных
Команда Turso объявила о запуске Limbo — нового проекта, целью которого является полная переписка SQLite на языке Rust.
Этот шаг направлен на повышение безопасности, производительности и удобства использования популярной встраиваемой базы данных.
Почему Rust?
SQLite изначально написан на C, что делает его уязвимым к ошибкам, связанным с управлением памятью.
Rust, в свою очередь, обеспечивает полную безопасность работы с памятью, снижая вероятность критических уязвимостей.
Limbo сохраняет совместимость с SQLite на уровне языка запросов и формата данных, но при этом обещает улучшенную надёжность благодаря встроенному тестированию с использованием Deterministic Simulation Testing (DST).
Этот подход позволяет воспроизводить редкие сценарии сбоев и повышать стабильность системы.
Что нового в Limbo?
- Полностью асинхронный интерфейс. В отличие от SQLite, который работает синхронно, Limbo изначально спроектирован для асинхронной обработки запросов, что особенно актуально для современных облачных и распределённых систем.
- Поддержка WASM. Limbo оптимизирован для работы в браузерах и других средах, использующих WebAssembly. Это открывает новые возможности для встраивания баз данных в клиентские приложения.
- Упрощение работы. Limbo избавляется от сложных настроек SQLite, предлагая более понятный и оптимизированный «из коробки» опыт.
Как это повлияет на разработчиков?
Проект обещает быть быстрее и удобнее, чем оригинальная SQLite. Например, в тестах Limbo уже показывает прирост производительности до 20% в некоторых операциях.
Кроме того, благодаря асинхронному интерфейсу и поддержке WASM, Limbo становится отличным выбором для веб-разработчиков, работающих с облачными и гибридными решениями.
Что дальше?
Limbo пока находится на ранней стадии разработки, но команда Turso активно работает над расширением функциональности и интеграцией с существующими экосистемами.
Проект доступен на GitHub под лицензией MIT и разработчики приглашают сообщество присоединиться к созданию этой базы данных нового поколения