Профессиональная конференция для Go-разработчиков

database/sql: плохой, хороший и злой. Опыт разработки драйвера для распределенной СУБД YDB

Golang Conf: Hardcore

Go: Hardcore

Базы данных / другое
Организация доступа к базам данных, ORM, собственные драйвера
Распределенные системы
Разработка библиотек, включая open source библиотеки
GO
Логи, метрики, ошибки

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Мы на примере YDB разберемся, как реализовать драйвер database/sql для распределенной базы данных, какие проблемы при этом придется преодолеть и как менялся подход с выходом новых версий Go.

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

Разработчики и пользователи драйверов в стандарте database/sql, а также пользователи распределенной базы данных YDB, разрабатывающие свой код на языке Golang.

Тезисы

Стандартная библиотека Golang, в частности пакет database/sql, предоставляет универсальный интерфейс общения с базами данных. Однако он далеко не сразу имел сегодняшний вид. Мы в команде YDB имели драйвер для нашей базы данных, начиная с версии Golang v1.11, и сталкивались с различными трудностями в процессе эксплуатации в продакшнах наших пользователей.

Этот ретроспективный доклад о том, какие недочеты были в пакете database/sql, во что это выливалось при эксплуатации и как он становился все лучше от версии к версии Golang.

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

Яндекс

Яндекс — технологическая компания, которая создает инновационные продукты на основе машинного обучения и нейронных сетей. Команда талантливых математиков и программистов развивает самую популярную в России поисковую систему и более 85 пользовательских сервисов, которые помогают людям в повседневных заботах.

Видео