DBA-бот Joe. Снимаем боль backend-разработки: как при оптимизации SQL-запросов перестать ждать часами получения копии полноразмерной базы и внимания DBA-экспертов Базы данных и системы хранения

Доклад принят в программу конференции
Анатолий Станслер
Postgres.ai

В сферу интересов Анатолия входит: devops, оптимизация процесса разработки, backend-разработка, хранилища данных. Делал платформу профилирования разработчиков и команд по git-репозиториям Sourcerer. Разрабатывает бот Joe в Postgres.ai.

Тезисы

Как backend-разработчик понимает, что SQL-запрос будет хорошо работать на «проде»? В крупных или быстро растущих компаниях доступ к «проду» есть далеко не у всех. Да и с доступом далеко не все запросы можно безболезненно проверить, а создание копии БД часто занимает часы.

Чтобы решить эти проблемы, мы создали искусственного DBA — Joe. Он уже успешно внедрен в несколько компаний и помогает не одному десятку разработчиков.

Для руководителей он выглядит как средство ускорения разработки, которое позволяет быстро получать копии БД, проверять гипотезы при оптимизации SQL-запросов, накапливать базу знаний и структурирует взаимодействие между членами команды. Разработчикам не нужно дожидаться освобождения среды тестирования и внимания DBA.

Для инженеров он выглядит как Slack-бот. Ему можно написать запрос или попросить создать индекс. Joe выполнит все действия на полноразмерной копии «боевой» БД. Но это еще не все: в любой момент можно начать заново, отменив все изменения за несколько секунд, сбросив кэши ОС и СУБД. Если с БД размером 10 TiB одновременно хотят работать 10 разработчиков, нам не нужно искать 100 TiB места, чтобы развернуть 10 копий БД. Достаточно одного диска! Joe способен помочь всем разработчикам, проверяя идеи разных индексов одновременно и изолированно.

Мы расскажем, как команде Postgres.ai удалось добиться этой магии, как это ускоряет разработку в крупных проектах и какие перспективы открываются в будущем.

Миграции данных
,
Бэкенд / другое
,
PostgreSQL
,
Администрирование баз данных
,
Code Review
,
Совместная работа, система контроля версий, организация веток
,
Автоматизация разработки и тестирования
,
Будущее рынка разработки ПО
,
Профилирование и отладка кода
,
Профессиональное развитие инженера

Другие доклады секции Базы данных и системы хранения