О компании
Наша команда разрабатывает слой совместимости с PostgreSQL для YDB. Он позволяет существующим PostgreSQL-приложениям работать с YDB без изменений на стороне клиента и при этом использовать возможности распределённой СУБД: горизонтальное масштабирование, отказоустойчивость и строгую согласованность.
Обязанности
- Проектирование архитектуры расширения и слоя совместимости: поддержка PostgreSQL-семантики поверх распределённого движка YDB через колбэки и хуки PostgreSQL (при необходимости — через патчи в сам PostgreSQL); определение зон строгой совместимости и зон допустимых расхождений.
- Настройка производительности: профилирование горячих путей, оптимизация выполнения запросов, работа с планировщиком.
- Реализация парсера и транзакционного механизма: поддержка PostgreSQL-диалекта SQL (DDL, DML, CTE, оконные функции, рекурсивные запросы), минимизация семантических расхождений.
- Горизонтальное масштабирование PostgreSQL-шлюзов: реализация архитектуры из нескольких узлов слоя совместимости, согласованно работающих как один PostgreSQL-сервер.
- Обеспечение совместимости с экосистемой: корректная работа драйверов (libpq, JDBC, asyncpg, pgx) без модификаций на стороне клиента, поддержка ORM, миграционных инструментов и BI-систем.
- Техническое лидерство в команде: дизайн-ревью, менторство, задание инженерной планки.
Требования
- Уверенное владение C++ и понимание устройства высоконагруженных и распределённых систем.
- Готовность разбираться во внутренностях PostgreSQL, YDB и СУБД в целом, включая расширения, внутренние структуры, планировщик.
- Умение доводить архитектурные решения от идеи до согласованного дизайна и работающего кода.
Условия
- Будет плюсом, если вы разрабатывали расширения PostgreSQL или работали с его внутренними API (Hooks, FDW, Custom Scan, Background Workers), знаете внутренности PostgreSQL или родственные системы (Greenplum, Citus, CockroachDB, YugabyteDB).