VK Tech научил Tarantool работать с кодом на пяти языках программирования
Пресс-релизы •  runet

VK Tech научил Tarantool работать с кодом на пяти языках программирования

1 час назад • 👁 199

VK Tech выпустил дополнение к СУБД Tarantool, с которым компании могут подключать собственные правила обработки данных на пяти популярных языках программирования: Python, Go, JavaScript, C/C++ и Rust. Новый код работает в защищенной песочнице, его ошибки не останавливают базу.

Tarantool хранит данные в оперативной памяти, а программы, которые с ними работают, запускает прямо внутри СУБД. Данные не нужно передавать на отдельный сервер и обратно, поэтому система работает быстро. Раньше такие программы можно было писать только на встроенном Lua или на низкоуровневом C. Если у компании уже был код на Python или Go, его приходилось переписывать. Подключить готовый код к Tarantool напрямую получалось не всегда, а если внешний модуль давал сбой, могла остановиться вся база.

Дополнение tarantool-wasm-rs снимает это ограничение. Разработчик пишет нужную логику на любом из пяти языков и подключает её к Tarantool. Код работает внутри СУБД, но в изолированной среде: ему заранее можно задать лимит памяти, ограничение числа операций и правила доступа к файлам или сети. Если код ошибется или зациклится, он упрется в эти ограничения, а база продолжит работать.

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

«Tarantool строился вокруг принципа «код рядом с данными«, и до сих пор клиенты платили за этот принцип сложностью внедрения решений: нужную логику либо переписывали на Lua, либо отказывались от неё. Мы снимаем этот барьер. Пять языков означают, что в базу приносят уже написанную библиотеку, а не начинают разработку заново. Стабильность базы при этом не страдает, чужой код работает в среде ограниченного исполнения», — комментирует директор направления Дата-сервисов VK Tech Владимир Озеров.

Дополнение построено на технологии WebAssembly, которая позволяет запускать код на разных языках в изолированной среде. Вместе с ним VK Tech развивает два вспомогательных инструмента для разработчиков: tarawasm для сборки кода и tarantool-wit с описанием интерфейсов Tarantool.

Подписывайтесь на наш Telegram-канал, чтобы быть в курсе всех новостей и событий Рунета.

Комментарии 0
Зарегистрируйтесь или , чтобы оставлять комментарии.
Читайте нас в удобном формате: