H
HireSeeker
яндекс

С++ разработчик в Query Processor Team

яндекс · 18 июн.

↑ Вакансия с автоподнятием
Зарплата не указана

YDB — это распределённая отказоустойчивая реляционная база данных с открытым исходным кодом, которая сочетает высокую доступность, масштабируемость и производительность. Вместе с сопутствующим стеком serverless-технологий YDB позволяет организовать систему хранения и обработки данных для самых сложных и требовательных приложений.

YDB ещё и платформа для создания инфраструктурных компонентов. Мы предлагаем пользователям не только надёжные транзакции поверх таблиц, но и готовые решения на основе самого движка: персистентные очереди, федеративные запросы, сетевые диски для виртуальных машин (Yandex Network Block Store) и др.

Одна из основных задач YDB — распределённое выполнение пользовательских SQL-запросов. Это включает в себя парсинг, оптимизацию, распределённое планирование и непосредственные вычисления на узлах базы данных. Именно от качественного решения этих задач зависят многие видимые пользователю характеристики базы данных: консистентность, отзывчивость и пропускная способность. Мы постоянно совершенствуем подсистему выполнения запросов, чтобы предоставлять пользователям новую функциональность, увеличивать производительность и расширять сценарии применения YDB. Все наши разработки ведутся в OpenSource на GitHub, поэтому вы сможете публично поделиться результатами своей работы.

Развитие новой функциональности

Разрабатывать новую функциональность в запросах YDB для поддержки пользовательских сценариев. Реализовывать новые алгоритмы распределённого планирования и выполнения запросов, развивать аналитические возможности в YDB, развивать workload manager для распределенного управления ресурсами базы данных. Развивать слой совместимости с PostgreSQL.

Улучшение того, что уже есть

Улучшать оптимизатор запросов для построения оптимальных планов в OLTP и OLAP сценариях. Увеличивать общую производительность системы, включая как логические, так и низкоуровневые оптимизации. Развивать новые возможности индексирования внутри YDB, за счет поддержки и построения частичных и уникальных индексов, генерируемых колонок и индексов по ним. Повышать удобство использования YDB с точки зрения пользователей.

RnD и взаимодействие со смежными командами

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

* Хорошо владеете С++
* Знаете классические алгоритмы и структуры данных и умеете их применять на практике
* Понимаете парадигму многопоточности, знакомы с основными подходами, проблемами и ограничениями в этой области
* Знаете основы SQL и работали с SQL-базами данных
* Готовы к инфраструктурной разработке в большой системе с высокими гарантиями

* Разрабатывали высоконагруженные распределённые сервисы
* Разрабатывали базы данных или хорошо понимаете их внутреннее устройство
* Разрабатывали компиляторы
* Работали с проектами на GitHub