title

text

Николай Самохвалов
Николай Самохвалов Nombox LLC Основатель
16:00 01 марта
180 мин

Бесшовная оптимизация запросов PostgreSQL, версия 2.0

Существует два способа анализировать SQL-запросы:

  1. На макроуровне: в этом случае мы анализируем рабочую нагрузку как единое целое (есть три основных подхода: использование метрик из pg_stat_statements или аналогичного модуля, анализ логов с помощью pgBadger или другого похожего решения и запрос выборки в представлении pg_stat_activity).

  2. На микроуровне: в этом случае мы погружаемся в детали исполнения одного конкретного запроса (тут главную роль играет команда EXPLAIN).

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

  • Нужно переключаться между макро- и микроуровнем без больших накладных расходов.
  • Требуется надёжная проверка гипотез относительно возможных оптимизаций.
  • Есть необходимость минимизации рисков при развёртывании новой функциональности.

Чтобы справляться с этими задачами в растущем проекте, требуется продвинутый опыт в качестве администратора баз данных, и – иногда – интуиция. Также могут помочь новые инструменты, которые (к счастью для нас!) не так давно начали появляться.

В рамках данного мастер-класса мы разберёмся, как можно настроить процесс беспроблемной и бесшовной оптимизации SQL-запросов в вашей организации: а) какие инструменты следует выбрать в вашем конкретном случае? б) как эффективно заполнить вышеупомянутые пробелы в сфере анализа запросов?

Видео

Другие доклады

  • Pavel Stehule
    Pavel Stehule freelancer Независимый консультант и разработчик
    22 мин

    Как использовать pspg

    pspg - это unix-совместимый инструмент для постраничного просмотра данных, разработанный специально для Postgres-клиента psql. На сегодняшний день его возможности не ограничиваются обычным просмотром данных. Он может работать в режиме приложения или инструмента для открытия CSV и TSV файлов. В рамках доклада я постараюсь продемонстрировать основные возможности данного приложения.

  • Andreas Scherbaum
    Andreas Scherbaum Pivotal Principal Software Engineer
    45 мин

    Управление PostgreSQL с помощью Ansible

    Ansible — открытый бесплатный инструмент для управления конфигурацией и развёртываниями, который можно применять для управления серверами и установленным на них программным обеспечением. В данном докладе мы вкратце обсудим сам Ansible, а затем объясним, как использовать его для установки и настройки PostgreSQL на сервере. Примеры будут демонстрироваться на протяжении всего доклада.

  • Павел Борисов
    Павел Борисов Postgres Professional программист
    45 мин

    Ускорение быстрого текстового поиска с помощью индекса RUM

    Быстрый текстовый поиск в PostgreSQL существенно ускоряется, если использовать обратные составные индексы по лексемам внутри типа tsvector. Индекс RUM - это свободное расширение, основанное на индексе GIN. Оно индексирует не только лексемы, но и их положение в текстовом поле, а также включает дополнительную информацию - вес лексемы, это позволяет полнее поддерживать возможности tsvector.

    До недавних пор запросы с весами лексем в индексе RUM требовали перепроверки по таблице. Моя модификация (2020) в разы ускоряет такие запросы, делая их index-only.

    В докладе будут представлены различные сценарии использования быстрого текстового поиска и применение индекса RUM для его существенного ускорения, а также бенчмарки по сравнению с встроенным в PostgreSQL индексом GIN.

  • Константин Евтеев
    Константин Евтеев X5 FoodTech Главный архитектор
    45 мин

    Формирование отчетов и аналитики в реальном времени с PostgreSQL.

    В современном мире операционная отчетность и аналитика в реальном времени становятся базовой потребностью. Существует огромное количество инструментов, практик и подходов, которые в свою очередь требуют различной экспертизы и ресурсов. В рамках данного выступления расскажу, как может происходить развитие с помощью PostgreSQL. Подводные камни при использовании различных схем. Поговорим про вопросы качества данных и производительности. Доклад будет интересен как тем, кто находится на начальном этапе, так и для практиков с многолетним опытом (буду рад горячим обсуждениям и вопросам после доклада) План доклада: 1. Эволюция построения отчетности - миграция с OLTP на OLAP. 2. Вызовы организации доставки данных в DWH. 3. Масштабирование архитектуры с ростом данных. 4. Вопросы качества данных. 5. Сохранение стабильности при большом кол-ве изменений. 6. Различные подходы по организации работ команды DWH. 7. И конечно же успешно решенные нами вызовы (pgAgent, PGWatch, работа с фс, новое прочтение postgresql.conf).