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