Как мы внедрили WebAssembly в SQL-движок динамических таблиц YTsaurus
Доклад принят в программу конференции
Целевая аудитория
Тезисы
Мы в динамических таблицах YTsaurus более 10 лет строим распределённую СУБД. Нашим SQL-подобным языком запросов пользуются разработчики в Яндексе, и многие из них хорошо владеют C++ и используют его в работе. Это основной язык, который используется в наших User-Defined Functions. Другие используемые в Яндексе языки не подходят, потому что не работают так же быстро.
WebAssembly – технология для безопасного запуска произвольного кода в изолированном окружении. Именно она позволяет нам запускать любой пользовательский код на C++ внутри нашей СУБД и не бояться.
В докладе расскажу:
- как мы внедрили WebAssembly во взрослый SQL-движок, работающий в продакшене;
- почему WebAssembly выполняется и безопасно, и быстро;
- что требуется от хорошего WebAssembly рантайма, и как нам пришлось допиливать существующий;
- как кросс-компилировать под WebAssembly код произвольной сложности, а не только игрушечные примеры;
- почему это лучший способ поддержать UDF на настоящий момент.
Разработчик динамических таблиц YTsaurus в Яндексе. Занимается разработкой языка запросов распределённой СУБД с 2022 года.
Видео
Другие доклады секции
Базы данных и системы хранения