Доклад

Архитектура распределенного SQL-движка для аналитических запросов

  • На русском языке
Презентация pdf

Сервис YQL предоставляет доступ к системам хранения и обработки данных с помощью SQL-диалекта. Изначально SQL-запросы исполнялись с помощью Map/Reduce операций в системе YTSaurus.

Эта простая и надежная схема имеет ряд недостатков, которые привели к появлению собственного движка выполнения запросов внутри YQL.

Движок делит запрос на стадии, а каждую стадию на задачи. Каждая задача выполняется на узле кластера. Задачи передают результаты вычислений друг другу по сети. Данный подход отличается от Map/Reduce-подхода, в котором данные между этапами передаются с помощью записи на диск. Из интересных возможностей движка стоит отметить кросскластерные запросы (например, можно делать запросы в которых одновременно присутствуют таблицы из кластеров ClickHouse и YTSaurus), возможность выполнения пользовательских функций на различных языках программирования.

Движок доступен в виде open source-библиотеки в рамках проекта YDB Platform. Библиотека предоставляет примитивы для работы с AST-деревом запроса, вычислительные примитивы, а также набор микросервисов для запуска и управления задачами на кластере. На текущий момент библиотека работает в рамках трех инсталляций: внутренний YQL-сервис, YDB в Yandex Cloud и Yandex Query в Yandex Cloud.

  • #ytsaurus
  • #query_engine
  • #architecture

Спикеры

Приглашенные эксперты

Расписание