Разработка слоя совместимости с PostgreSQL для YDB: обеспечение работы PostgreSQL-приложений с YDB без изменений на стороне клиента и использование возможностей распределённой СУБД.

Задачи:

  • Проектирование архитектуры расширения и слоя совместимости: поддержка PostgreSQL-семантики поверх распределённого движка YDB через колбэки и хуки, определение зон строгой совместимости и допустимых расхождений.
  • Настройка производительности: профилирование горячих путей, оптимизация выполнения запросов, работа с планировщиком.
  • Реализация парсера и транзакционного механизма: поддержка PostgreSQL-диалекта SQL (DDL, DML, CTE, оконные функции, рекурсивные запросы) и минимизация семантических расхождений.
  • Горизонтальное масштабирование PostgreSQL-шлюзов: реализация архитектуры из нескольких узлов, работающих согласованно как один PostgreSQL-сервер, прозрачное масштабирование без шардирования на стороне клиента.
  • Обеспечение совместимости с экосистемой: корректная работа драйверов и ORM, миграционных инструментов и BI-систем.

Требования:

  • Уверенное владение C++.
  • Понимание внутренностей PostgreSQL и опыт работы с ядром PostgreSQL (желательно).
  • Опыт работы с распределёнными системами и проектированием согласованных распределённых компонентов.
  • Умение доводить архитектурные решения от идеи до согласованного дизайна и работающего кода.

Будет плюсом:

  • Разработка расширений PostgreSQL или опыт с Hooks, FDW, Custom Scan, Background Workers.
  • Знание Greenplum, Citus, CockroachDB, YugabyteDB.

Условия и бонусы: офис в Москве, формат работы — гибрид; внутренняя жизнь компании: спортивные клубы, книжный клуб, киберспортивное сообщество и другие корпоративные бонусы.