Разработчик С++ распределённой СУБД

MoscowC++, Linux, BackendSearch portal, InfrastructureSpecialist
Современные сервисы строятся поверх СУБД, которые хранят таблицы и предоставляют доступ к строкам по ключу или посредством SQL-запросов. Один из важных критериев выбора СУБД — масштабируемость. В Яндексе необходима отказоустойчивая работа на большом количестве машин, поэтому мы разрабатываем собственную систему для внутреннего использования. Ее ключевые особенности:
  • горизонтальная масштабируемость;
  • распределенные транзакции со строгой консистентностью;
  • распределенное выполнение запросов;
  • тесная интеграция с MapReduce, фактически поддерживается работа на одних и тех же данных;
  • поддержка как таблиц с доступом по ключу, так и очередей сообщений.
Вам предстоит развивать распределенную обработку запросов и добавлять функциональность, привычную пользователям реляционных СУБД.

Что нужно делать:

  • разрабатывать распределенную, отказоустойчивую и нагруженную систему, которая работает на тысячах машин и одновременно используется многими проектами в Яндексе;
  • реализовывать новые протоколы для взаимодействия узлов кластера;
  • применять на практике знание алгоритмов и умение их придумывать;
  • заниматься системным программированием.

Мы ждем, что вы:

  • знаете C++ и разрабатывали под Linux;
  • знаете классические алгоритмы и структуры данных;
  • понимаете принципы работы операционных систем;
  • разрабатывали многопоточные и асинхронные приложения;
  • ответственны и аккуратны.

Будет плюсом, если вы:

  • разрабатывали движок обработки запросов;
  • работали с сетью и разрабатывали сетевые приложения;
  • умеете программировать на Python.