Разработчик на С++ в группу разработки YQL over YT

Дата размещения вакансии: 05.11.2025
Работодатель: Яндекс
Уровень зарплаты:
з/п не указана
Город:
Москва
Требуемый опыт работы:
От 3 до 6 лет

YTsaurus — одна из ключевых инфраструктурных систем Яндекса, которая используется для хранения и обработки данных.

Яндекс работает с эксабайтами данных, которые нужно эффективно хранить, обрабатывать и передавать между приложениями. Для этого мы создали YTsaurus — распределённую платформу, которая сочетает в себе единое хранилище и ряд инструментов для обработки данных под разные сценарии. Почти каждый сервис в Яндексе использует нашу платформу для решения своих задач. Платформа активно развивается, а исходный код выложен в опенсорс.

Внутри YTsaurus есть поддержка целого ряда SQL-диалектов, которые позволяют обращаться к данным. Один из таких диалектов — YQL. Он преобразует SQL-запросы в последовательность MapReduce-операций и/или выполняет их в движке DQ, который и предстоит развивать.

Движок DQ, в отличие от MapReduce, позволяет выполнять части запроса полностью в памяти без промежуточной материализации на диск. Это существенно сокращает накладные расходы и время, затрачиваемое на выполнение всего запроса.

Какие задачи вас ждут

Развитие гибридного режима выполнения запросов
Во время выполнения запроса объём данных часто уменьшается на каждом этапе — из-за фильтрации, пересечений и агрегаций. На определённом этапе использование MapReduce может стать избыточным. В таких случаях выгодно переключиться на выполнение оставшихся операций в движке DQ.

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

Ускорение YQL over YT по бенчмаркам
YQL over YT в Яндексе работает на десятках тысяч машин и сотнях тысяч ядер. Нам важно постоянно искать точки для оптимизации исполнения запросов. Мы используем популярные бенчмарки для выявления возможностей улучшения производительности.

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

Мы ждем, что вы

  • Уверенно владеете C++ и готовы разрабатывать на нём высокопроизводительные системы
  • Понимаете, как анализировать производительность, находить узкие места, и готовы предлагать способы решения проблем
  • Знаете Python на уровне, достаточном для написания тестов

Будет плюсом, если вы

  • Имеете представление, как устроены СУБД, и участвовали в их разработке
  • Знаете один из диалектов SQL