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!