Выпуск Tarantool Rust SDK 0.6.3

Александр Толстой

Команда разработчиков Picodata сообщает о новой версии Tarantool Rust SDK 0.6.3. Данное программное обеспечение используется для разработки модулей для Tarantool на языке Rust.

Версия 0.6.3 в основном нацелена на сглаживание углов, дальнейшее совершенствование API и оптимизацию некоторых сценариев применения, а также закладывает основу для будущих улучшений.

Некоторые функции Tarantool Rust SDK от разработчиков Picodata зависели от символов Tarantool, ставших недоступными в версии Tarantool 2.9, в результате чего их использование приводило к ошибке во время загрузки Rust-модуля. В версии Tarantool 2.10.1 необходимые для Picodata символы вернулись, однако для обеспечения обратной совместимости в Tarantool Rust SDK всё равно были внесены необходимые изменения с тем, чтобы Rust-модуль корректно загружался в любой версии Tarantool.

Также, среди изменений стоит отметить:

Добавлены типы RawBytes и RawByteBuf для работы с данными в случаях, когда десериализация не нужна или неэффективна. В частности, теперь можно прочитать содержимое поля Tuple’а в “сыром” виде (пример).

В макроатрибут #[proc] (добавлен в версии 0.6.1), предназначенном для удобного описания хранимых процедур, внесены следующие изменения:

  • Уменьшено использование памяти, убрано копирование при десериализации аргументов процедуры.
  • Теперь можно принимать входные аргументы по ссылке. Например, теперь можно получить ссылку на входные байты в обход десериализации при помощи &RawBytes (пример).
  • Можно эффективно возвращать данные через Tuple или RawByteBuf.

Полный список изменений доступен в файле CHANGELOG.md.

Tarantool — это СУБД и платформа вычислений, работающая резидентно, в оперативной памяти. Это быстрая, надёжная и хорошо масштабируемая основа для построения распределённых систем с нужной клиенту бизнес-логикой. Программное обеспечение Picodata использует доработанную и улучшенную версию Tarantool для создания кластеров хранения данных и обеспечения запуска приложений на языке Rust для работы с данными.