Lead · Гибрид · Новосибирск, Россия · Английский не нужен
Навыки
Алгоритмы и структуры данных
Многопоточность
C++
C#
GitHub
Java
OLAP
Ещё 4
PostgreSQL
Python
SQL
YDB
О компании и продукте
Наша команда отвечает за распределённое выполнение запросов в YDB — сложную и интересную задачу, от решений которой зависит удобство использования, производительность и консистентность БД. У нас сильная команда разработки и амбициозные задачи — мы ищем людей, которые помогут нам стать ещё сильнее!. Сергей Пучин. Руководитель группы распределённых запросов в YDB. YDB — это распределённая отказоустойчивая реляционная база данных с открытым исходным кодом, которая сочетает высокую доступность, масштабируемость и производительность. Вместе с сопутствующим стеком serverless-технологий YDB позволяет организовать систему хранения и обработки данных для самых сложных и требовательных приложений. YDB ещё и платформа для создания инфраструктурных компонентов
Мы предлагаем пользователям не только надёжные транзакции поверх таблиц, но и готовые решения на основе самого движка: персистентные очереди, федеративные запросы, сетевые диски для виртуальных машин (Yandex Network Block Store) и др. Одна из основных задач YDB — распределённое выполнение пользовательских SQL-запросов. Это включает в себя парсинг, оптимизацию, распределённое планирование и непосредственные вычисления на узлах базы данных. Именно от качественного решения этих задач зависят многие видимые пользователю характеристики базы данных: консистентность, отзывчивость и пропускная способность. Мы постоянно совершенствуем подсистему выполнения запросов, чтобы предоставлять пользователям новую функциональность, увеличивать производительность и расширять сценарии применения YDB
Задачи
С++ разработчик в Query Processor Team
Разрабатывать новую функциональность в запросах YDB для поддержки пользовательских сценариев
Реализовывать новые алгоритмы распределённого планирования и выполнения запросов, развивать аналитические возможности в YDB, развивать workload manager для распределенного управления ресурсами базы данных
Развивать слой совместимости с PostgreSQL
Улучшение того, что уже есть
Улучшать оптимизатор запросов для построения оптимальных планов в OLTP и OLAP сценариях
Увеличивать общую производительность системы, включая как логические, так и низкоуровневые оптимизации
Развивать новые возможности индексирования внутри YDB, за счет поддержки и построения частичных и уникальных индексов, генерируемых колонок и индексов по ним
Повышать удобство использования YDB с точки зрения пользователей
RnD и взаимодействие со смежными командами
Исследовать проблемные места в текущей реализации и предлагать способы решения проблем
Взаимодействовать с командами нижележащих подсистем YDB для выбора оптимальных решений при проектировании изменений
Проводить исследования возможностей конкурентных систем с целью улучшения пользовательского опыта в YDB
Требования
Хорошо владеете С++
Знаете классические алгоритмы и структуры данных и умеете их применять на практике
Понимаете парадигму многопоточности, знакомы с основными подходами, проблемами и ограничениями в этой области
Знаете основы SQL и работали с SQL-базами данных
Готовы к инфраструктурной разработке в большой системе с высокими гарантиями
От 5 лет
Новосибирск
Екатеринбург
Санкт-Петербург
Нижний Новгород
Разрабатывали базы данных или хорошо понимаете их внутреннее устройство