💰 Зарплаты в IT в первой половине 2024: по городам, специализациям, языкам и компаниям → подробнее

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

Требования

Бэкенд, Средний (Middle)LinuxC++

Местоположение и тип занятости

МоскваПолный рабочий день

Компания

Компания, которая развивает самую популярную в России поисковую систему и десятки других сервисов

Описание вакансии

Условия работы

Современные сервисы строятся поверх СУБД, которые хранят таблицы и предоставляют доступ к строкам по ключу или посредством SQL-запросов. Один из важных критериев выбора СУБД — масштабируемость. В Яндексе необходима отказоустойчивая работа на большом количестве машин, поэтому мы разрабатываем собственную систему для внутреннего использования. Ее ключевые особенности:

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

Вам предстоит развивать распределенную обработку запросов и добавлять функциональность, привычную пользователям реляционных СУБД.

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

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

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

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

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

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