Разработчик на C++ в YDB OLAP
YDB — это реляционная база данных. Распределённая, масштабируемая, отказоустойчивая. YDB ещё и платформа. Мы предлагаем пользователям не только надёжные транзакции поверх таблиц, но и готовые решения на основе самого движка: персистентные очереди, федеративные запросы, сетевые диски для виртуальных машин (Yandex Network Blockstore) и др.
YDB используется в Маркете, Такси, Банке, Алисе и других сервисах Яндекса. Мы уже умеем обрабатывать миллионы запросов в секунду и надёжно хранить петабайты данных.
На базе YDB построены решения для доставки платёжных данных в биллинг Яндекса и хранения логов в Yandex Cloud.
Одно из направлений развития платформы — аналитические таблицы, или OLAP (Online Analytical Processing), аналог Microsoft Azure Data Explorer, Google BigQuery, ClickHouse и Greenplum. Мы анализируем решения конкурентов и строим продукт для крупных и средних компаний. Наша цель — разработать инструмент, который поможет партнёрам выстроить контроль над важными для них показателями легко, быстро и надёжно.
У нас море идей, и мы ищем амбициозных коллег.
Задачи и обязанности
Развитие аналитических таблиц YDB в целом
Вам предстоит решать задачи эффективного хранения и обработки данных, в частности это развитие компонент: построение индексов, compaction, pushdown предикатов, алгоритмов сжатия и различных encoding для представления данных.
Разработка инфраструктуры резервного копирования для колоночных таблиц
Для решения задачи эффективного резервного копирования петабайт данных необходимы специальные подходы, которые способны переживать отказы и продолжать свою работу с последней сохранённой точки. Также вам предстоит решать задачу консистентности данных.
Задачи горизонтального масштабирования
Для эффективности вычислений необходимо заниматься горизонтальным масштабированием. Эта задача включает в себя возможность расщепления таблеток колоночных таблиц для независимой и распределённой обработки диапазонов данных без влияния на уже запущенные процессы обработки.
Больше о бэкенде в Яндексе — в канале Yandex for Backend
Требования
- Разрабатывали на С++ не меньше трёх лет
- Работали с многопоточными системами, знаете Mutex и Atomic, критические секции, изоляцию транзакций и понимаете почему, когда и что
- Разрабатывали распределённые «близкие к железу» сервисы или пользовательские сервисы реального времени — будем рады разному опыту
- Знаете всё, что обычно спрашивают на собеседованиях: классические алгоритмы, структуры данных и пр.
- Понимаете, что лучшие решения — простые
Приходите к нам, и Scale It Easy!