Разработчик на С++ в команду распределённой системной инфраструктуры YDB

Яндекс · Москва, Санкт-Петербург, Екатеринбург, Новосибирск, Нижний Новгород · по договорённости

Компания
Яндекс
Город
Москва, Санкт-Петербург, Екатеринбург, Новосибирск, Нижний Новгород
Зарплата
по договорённости
Уровень
senior
Формат
гибрид

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

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

Внутри команды есть два направления, которыми вы сможете заниматься:

Горизонтальное масштабирование, высокая доступность и отказоустойчивость

Система должна уметь динамически перераспределять логические компоненты по узлам системы, реагировать на изменения нагрузки на компонентах и узлах. Управление логическими компонентами (таблетками) включает в себя распределение их по узлам кластера, учёт метрик работы таблеток и узлов, перемещение таблеток с перегруженных узлов, автоматическое партицирование таблиц с данными при увеличении их объёма или росте нагрузки.

На уровень выше система должна в каждый момент знать, из каких таблеток состоит, например, таблица или топик, и уметь распространять это знание по узлам системы так, чтобы обеспечить консистентное выполнение пользовательских SQL-запросов, манипуляций пользователя с самими таблицами и автоматическое управление партицированием таблиц.

Жизнью таблеток, устройством и жизнью пользовательских объектов схемы базы данных управляют компоненты системной распределённой инфраструктуры YDB.

От качественного решения подобных задач зависят многие видимые пользователю характеристики базы данных: консистентность, отзывчивость и пропускная способность.
Мы постоянно развиваем и улучшаем наши управляющие компоненты, чтобы увеличивать производительность, предоставлять пользователям новую функциональность и расширять сценарии применения YDB.

Безопасность доступа и работы с данными

Сюда входят аутентификация, проверка прав на выполнение действий с данными и объектами, манипуляции правами, интеграции с различными системами управления идентификацией и доступом, работа с секретами, аудитное логирование. От работы подсистем безопасности зависит сохранность пользовательских данных.

Большая часть разработки ведётся в GitHub, поэтому вы сможете публично поделиться результатами своей работы.

Что предстоит делать:
Развитие новой функциональности

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

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

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

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

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

Больше о том, что под капотом платформы Yandex Cloud, — в канале Inside Yandex Cloud

Требования:
• Любите С++, хорошо им владеете и пишете на нём больше трёх лет
• Знаете и умеете применять классические алгоритмы и структуры данных
• Понимаете парадигму многопоточности, знакомы с основными подходами, проблемами и ограничениями в этой области
• Разрабатывали высоконагруженные, распределённые, близкие к железу сервисы или сервисы реального времени

Открыть и откликнуться →

Отклик ведёт на сайт работодателя. Бесплатная регистрация открывает отклик и разбор резюме.

Многих вакансий каталога нет на агрегаторах

11500+ вакансий от 1700+ компаний — в основном напрямую с карьерных сайтов и из Telegram-каналов. У 950+ из них есть контакт нанимающего: пишешь человеку, а не в общую очередь. Регистрация бесплатная — откроет контакты и подбор вакансий под твоё резюме.