Поддержка YDB в SQLC: долгий путь от наивной идеи до реализации

Через тернии к...

Бэкенд
Архитектуры, теория программирования
Организация доступа к базам данных, ORM, собственные драйвера
Распределенные системы
Разработка библиотек, включая open source библиотеки
Безопасность программного кода, SQL и прочие инъекции
Базы данных, обработка данных
Интеграционное тестирование
Управление проектами
Делегирование задач
Обработка данных
DevRel
YDB
YTSaurus

Программный комитет ещё не принял решения по этому докладу

Целевая аудитория

Senior Go Developer, разработчики приложений YDB на Go

Тезисы

Что делать, когда хочется использовать современный инструмент кодогенерации SQLC для работы с YDB, но он поддерживает только PostgreSQL, MySQL и SQLite? В этом докладе я расскажу трехлетнюю историю о том, как наивная идея затащить YDB в SQLC превратилась в масштабный проект по переписыванию парсера YQL с нуля.
Вы узнаете, какие технические препятствия встретились на пути — от устаревшей грамматики ANTLR v3, не способной генерировать Go-код, до отказа мейнтейнеров SQLC принимать четвертую базу данных в апстрим. Я покажу, как одна задача породила цепочку из нескольких проектов: переписывание ANTLR-грамматики YQL (PR студента на 14К строк), внедрение нового-парсера в продакшн YTSaurus, создание автодополнения для веб-интерфейса и CLI, и наконец — реализацию полноценной поддержки YDB в SQLC с генерацией кода для database/sql, нативного ydb-go-sdk.
Доклад будет полезен тем, кто сталкивается со сложными техническими проектами, требующими долгосрочного планирования и координации между разными командами. Это история о том, что иногда для решения одной задачи нужно сначала решить несколько других — и как превратить это в успешный опенсорс-проект с около-нулевыми затратами.

Руководитель команды разработки клиентских библиотек YDB, кандидат технических наук.

Видео