Конференция завершена. Ждем вас на РИТ++ в следующий раз!

Как не «проспать» проблемы в базах данных Postgres: автоматизируем проверку здоровьяБазы данных

Доклад принят в программу конференции
Николай Самохвалов
PostgreSQL.support

Основатель Postgres.ai.

ФУПМ МФТИ, ИСП РАН, специализация «Базы данных».
Более 17 лет работы с различными СУБД, более 13 — с PostgreSQL.

Сооснователь RuPostgres.org (российское PostgreSQL-сообщество, вторая крупнейшая в мире митап-группа о Postgres), Postila.ru, MirTesen.ru, MoiKrug.ru.
Twitter: @postgresmen (много всего о Postgres, БД и около).

nik@postgres.ai
Twitter: @postgresmen

https://Postgres.ai
Тезисы

Чтобы поддерживать базы данных в здоровом состоянии, необходимо периодически заглядывать «под капот», «прощупывать» её на наличие ранних симптомов — другими словами, делать профилактическое исследование, оно же технический аудит БД, оно же healthcheck.

Проведение такого исследования вручную у нас занимало обычно несколько недель, особенно в случаях, когда БД мы видим впервые. В эру облаков и автоматизации это никуда не годится, пришло время соптимизировать эту процедуру. Так появился новый открытый проект: postgres-checkup (https://gitlab.com/postgres-ai-team/postgres-checkup). С ним аналогичные исследования стали длиться всего несколько часов.

Десятки различных отчётов, включающие в себя опыт DBA из различных компаний, объединены в удобный для запуска и использования инструмент. Среди основных его качеств:
- малозаметность (эффект наблюдателя сведён к минимуму),
- отсутствие требования установки чего-либо на машины с СУБД,
- форматы отчётов, удобные для потребления как людьми (markdown, HTML, PDF), так и машинами (JSON).

Мы поговорим о том, как postgres-checkup помогает нам диагностировать проблемы с производительностью и масштабированием в различных проектах, от небольших стартапов до многомиллиардных компаний. Также обсудим следующие вопросы:
- расширяемость (добавление своих отчётов) и интеграция с существующими системами;
- автоматизация и встраивание в процессы организации;
- особенности доведения информации до инженеров, которые не являются специалистами по СУБД, так, чтобы слова превращались в действия, оптимизирующие состояние БД.

Подробнее остановимся на крупных темах:
* bloat & autovacuum,
* здоровье индексов,
* комплексных глубокий анализ запросов на основе pg_stat_statements и pg_stat_kcache.

PostgreSQL
,
Базы данных / другое
,
Администрирование баз данных
,
Devops / другое

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