English
Русский
Українська
Голубая
Фиолетовая
Cветлая
Терминал
Norton
Войти
☀️ Планы на лето: прокачать ИИ, CS-базу и забрать оффер со скидкой 50% по промокоду— активируйна странице пакетов

Код на вес золота: почему самую надежную базу данных в мире переписывают на Rust

Код на вес золота: почему самую надежную базу данных в мире переписывают на Rust

В мире программирования есть технологии, которые кажутся вечными и незыблемыми. Одна из них — SQLite. Написанная 25 лет назад разработчиком Ричардом Хиппом для систем управления эсминцами США, сегодня она является самой распространенной и надежной базой данных на планете. Триллионы её копий работают везде: от каждого iPhone и Android до космических марсоходов.

Она идеальна? Почти. Но группа амбициозных инженеров решила совершить безумие — переписать этот монолит с нуля на Rust. Проект получил название Turso.

Почему SQLite решили переписать?

Проблема SQLite заключается не в качестве её кода, а в закрытой модели разработки. Формально код открыт, но проект контролируется всего тремя людьми, и сторонние пул-реквесты туда попросту не принимаются.

Если у вас есть идеи, как сделать её лучше, у вас два пути: смириться или написать свою версию на Rust. Создатели Turso (среди которых топ-5 контрибьютор ядра Linux и автор книг по задержкам в сетях) выбрали второй путь, чтобы дать миру три критически важные функции, которых так не хватало оригиналу.

3 главных отличия Turso от классической SQLite

1. Полноценный параллелизм (Concurrency)

В классической SQLite в один момент времени производить запись в базу может только один писатель. В Turso реализован параллельный доступ: несколько процессов могут одновременно записывать данные в разные части базы данных. Конфликт возникнет только в том случае, если они попытаются изменить одни и те же строки.

2. Асинхронность (Async)

Оригинальная SQLite блокирует весь поток выполнения каждый раз, когда обращается к диску. Turso работает асинхронно: во время операций ввода-вывода управление возвращается приложению, что позволяет ему выполнять другие задачи, не дожидаясь диска.

3. Встроенный векторный поиск для ИИ

Современным ИИ-приложениям нужно где-то хранить эмбеддинги (векторные представления данных). Обычно для этого подключают отдельную векторную базу (например, Pinecone), что усложняет архитектуру. В Turso векторные типы данных и индексация встроены прямо «из коробки». Вся память вашего ИИ хранится в одном файле, а запросы к ней пишутся на привычном SQL.

Как завоевать доверие, которое SQLite строила 25 лет?

Мало сделать базу данных быстрее — нужно доказать, что она никогда не потеряет данные. Разработчики Turso решают эту задачу двумя путями:

  • Полная совместимость: Turso создана как drop-in replacement (готовая замена). Вы можете просто подменить ею SQLite в существующем проекте без переписывания кода.
  • Детерминированная симуляция (Deterministic Simulation Testing): Базу данных тестируют в изолированной «виртуальной вселенной», где разработчики буквально играют в бога со временем, сетью и диском. Они искусственно вызывают сбои питания посреди записи или симулируют повреждения секторов диска, а затем пошагово воспроизводят сценарий по фиксированному сиду (random seed), пока не уничтожат баг.
Итог: Хорошая ли это идея — переписывать самую проверенную базу данных на Земле? Скорее всего, нет. Но, как показывает история разработки, безумцем тебя считают лишь до тех пор, пока твоя идея не сработает. Turso делает серьезную заявку на то, чтобы повторить трюк Ричарда Хиппа 25-летней давности, но уже по правилам современной веб-разработки и эпохи искусственного интеллекта.

На основе The most trusted code on Earth is being rewritten in Rust

Читайте также

Комментарии
 logo