Разработка слоя совместимости с 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.
Условия и бонусы: офис в Москве, формат работы — гибрид; внутренняя жизнь компании: спортивные клубы, книжный клуб, киберспортивное сообщество и другие корпоративные бонусы.