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

Tarantool осуществляет хранение данных в оперативной памяти и запускает соответствующие программы непосредственно внутри СУБД. Это исключает необходимость передачи данных на отдельный сервер и обратно, что обеспечивает высокую скорость работы системы. Ранее разработка подобных программ была возможна только на встроенном Lua или низкоуровневом C. Если у компании уже существовал код на Python или Go, его приходилось переписывать, а интеграция готового кода с Tarantool не всегда была возможна – к тому же сбой внешнего модуля мог привести к остановке всей базы.
Добавление tarantool-wasm-rs устраняет это ограничение. Разработчик может реализовать необходимую логику на одном из пяти языков и интегрировать ее с Tarantool. Код функционирует внутри СУБД, но в изолированной среде: заранее можно установить лимиты по памяти, ограничения на количество операций и правила доступа к файлам или сети. Если код окажется ошибочным или зациклится, он столкнется с этими ограничениями, а база продолжит свою работу.
Интеграция кода может происходить двумя способами: как набор функций, к которым обращается приложение, или как независимая программа с собственными настройками запуска. В обоих случаях компания использует уже существующий код на знакомых языках, избегая необходимости адаптировать его под требования базы.
«Tarantool создавался с принципом «код рядом с данными», и до сих пор клиенты сталкивались с трудностями в реализации решений: необходимую логику либо переписывали на Lua, либо совсем отказывались от нее. Мы устраняем этот барьер. Пять языков означают, что в базу можно интегрировать уже готовую библиотеку, а не начинать разработку с нуля. При этом стабильность базы не страдает, так как внешний код работает в окружении с ограничениями», – комментирует директор направления Дата-сервисов VK Tech Владимир Озеров.
Это дополнение использует технологию WebAssembly, позволяющую запускать код на различных языках в изолированной среде. В дополнение к этому VK Tech развивает два вспомогательных инструмента для разработчиков: tarawasm для сборки кода и tarantool-wit с описанием интерфейсов Tarantool.
Ранее VK Tech внедрил новые ИИ-функции в решение для комплексной аналитики и оптимизации бизнес-процессов VK Business Analytics. Обновление упрощает выявление причин проблем через мультипроцессный граф, разметку рабочих операций в модуле Task Mining и подготовку технических заданий для автоматизации с использованием контекстной модели.
«Яндекс» сообщил о состоянии своих суперкомпьютеров


