title

text

Александр Павлов
Александр Павлов Modulbank .NET разработчик
13:00 05 февраля
45 мин

Как получить нагрузку в БД на пустом месте?

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

На уровне архитектуры всё было OK, но объём данных возрастал, и начали вылезать не самые приятные моменты, о которых ранее никто не думал и не понимал. Иногда это приводило нас к самым потрясающим запросам, которые мы не понимали, как можно было написать. Мой небольшой рассказ будет о том, как получить нагрузку в БД на пустом месте и как потом от неё избавиться.

Слайды

Видео

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

  • T
    Tatsuro Yamada NTT Comware Ведущий специалист по базам данных
    22 мин

    Настройка автопланировщика с использованием цикла обратной связи

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

    Для того, чтобы решить эту проблему, я разработал инструмент под названием pg_plan_advsr - это расширение для PostgreSQL, которое исправляет ошибки оценки путем неоднократного возвращения в планировщик информации, собранной в ходе исполнения запроса.

    Расширение содержит три фичи:

    1. Автоматическая оптимизация плана запроса за счет неоднократного возвращения информации о ходе выполнения запроса в планировщик.
    2. Сохранение всех выработанных при оптимизации планов запросов в таблицу истории.
    3. Создание и сохранение хинтов оптимизатора с тем, чтобы иметь возможность воспроизвести выработанные планы исполнения запросов в процессе настройки.

    Я верифицировал эффективность pg_plan_advsr путем запуска join order benchmark (JOB) на PG 10.4, в ходе чего наблюдалось сокращение времени исполнения запроса до 50% от первоначального. Таким образом, расширение будет полезно пользователям, который хотят настроить планировщик для OLAP и пакетной обработки данных.

    В ходе презентации я расскажу о следующие моментах:

    • Принципы построения и архитектура pg_plan_advsr.
    • Подробная информация о результатах тестирования JOB.
    • Направления улучшений в будущем.
    • Совместное использование расширений aqo и pg_plan_advsr together (экспериментальное).

  • Сергей Андреев
    Сергей Андреев ООО "Ортикон-Групп" Архитектор
    22 мин

    Что останавливает переход на PostgreSQL и как это побороть

    Несколько реальных кейсов от тех кто остановил переход на PostgreSQL.

  • Лев Драгунов
    Лев Драгунов Juno GIS Research TeamLead
    22 мин

    PostgreSQL и Docker

    СУБД внутри контейнера - ночной кошмар для администратора баз данных. Я расскажу, как PostgreSQL в контейнерах используется в Juno, с какими сложностями мы столкнулись и как их преодолели.

  • Камиль Исламов
    Камиль Исламов Stickeroid Ai CTO
    22 мин

    CTE запросы как основа бизнес-логики

    Рассмотрены особенности разработки и некоторые варианты реализации бизнес-логики высоконагруженных web-приложений на базе хранимых процедур в парадигме широкого применения Common Table Expression запросов.