title

text

Андрей Зубков
Андрей Зубков Postgres Professional Руководитель группы систем мониторинга
10:00 26 октября
45 мин

Развитие модуля анализа исторической нагрузки pg_profile/pgpro_pwr

Расширение pg_profile предназначено для анализа исторической нагрузки в базах данных Postgres. Его главной особенностью является экстремальная простота установки и использования - оно не требует для работы ничего кроме самой СУБД и любого планировщика заданий. Расскажу о новых возможностях расширения pg_profile и о новых статистиках, доступных в Postgres 14. У pg_profile есть расширенная версия, доступная в базах данных PostgresPro, главным образом, она отличается поддержкой расширения pgpro_stats. Расскажу какие дополнительные возможности это дает. Кроме того, обсудим некоторые существующие проблемы и перспективы дальнейшего развития Postgres в части мониторинга потребления ресурсов.

слайды

Видео

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

  • Иван Чувашов
    Иван Чувашов ООО Calltouch DBA
    45 мин

    Неожиданности PostgreSQL, которые украдут вашу ночь

    Мы эксплуатируем большие базы данных PostgreSQL, суммарный объем которых превышает 180ТБ. На каждый инстанс кластера приходится нагрузка не менее 15 тыс запросов в секунду. Эти обстоятельства, во-первых, накладывают определенные ограничения на классические подходы накатки изменений в структуре баз данных. А во-вторых, в администрировании баз данных сильно снижается право на ошибку. Ведь небольшая ошибка или неточность может привести к тому, что ближайшая ночь станет бессонной) В своем докладе я расскажу про существующие у нас ограничения на "доставку" изменений в продуктовую среду, про неклассическое поведение базы данных под нагрузкой и вообще про PostgreSQL.

  • Дмитрий Васильев
    Дмитрий Васильев OZON DBA
    45 мин

    Мониторинг PostgreSQL: sampling plan и average active sessions своими руками

    Мы в ОЗОН делаем PostgreSQL as a service. На данный момент у нас уже тысячи кластеров. Мы знаем, какие вопросы мучают разработчиков, вот самые важные из них: как понять насколько нагружена база и почему запрос начал тормозить? В докладе я расскажу как мы помогаем разработчикам ответить на эти вопросы, просто взглянув в дашборд.

  • Алексей Фадеев
    Алексей Фадеев sibedge Старший разработчик .NET, евангелист Postgres
    90 мин

    Plv8 Framework: разработка на plv8 в IDE, с ES6, отладкой, автотестами и деплоем

    Многие разработчики прикладного ПО не любят выносить логику на сторону БД (в функции) из-за отсутствия удобных средств разработки, особенно командной. С plv8 ситуация осложняется тем, что функция содержит симбиоз кода SQL и JavaScript, популярные IDE такое не поддерживают. На этом мастер классе я представлю свою разработку "Plv8 Framework", позволяющую существенно облегчить создание кода на plv8.

    Суть в следующем: тот же JS-код, который будет выполняться на стороне БД, можно запустить локально, прямо на машине разработчика, с помощью node.js, который работает на основе того же интерпретатора v8. Спецфункция plv8.execute подменяется на функцию из npm-библиотеки pg-native, т.е. происходит обращение к внешней СУБД. Я продемонстрирую авторский набор средств, позволяющий:
    - писать js-код в вашей любимой IDE с подсветкой синтаксиса;
    - отлаживать код в реальном времени (с breakpoint, watch и т.д.);
    - писать автотесты (unit-тесты), с вариантами: постгрес, SQLite, моки;
    - выполнять deploy кода в СУБД;
    - использовать дополнительные npm-пакеты (проблема в том, что весь код функции на plv8 должен находиться в теле этой функции, т.е. в одном файле).

    Инструмент можно использовать независимо от того, на чём вы разрабатываете бэкенд. Но особенную гибкость он придаёт, если вы используете языки со статической типизацией (java, C# и т.д.). Например для задач, где бэкенд является промежуточным слоем между фронтендом и СУБД, логика (или её часть) может быть вынесена в plv8/js с динамической типизацией, что может весьма облегчить процесс разработки.

    Помимо возможности разрабатывать новые функции на plv8, фреймворк предоставляет набор готовых функций для выполнения CRUD-операций. Функции универсальные, не привязаны к структуре конкретной БД и могут работать на любых проектах. Их использование поможет сократить объём бэкенд разработки, на некоторых проектах - значительно.

    Пожалуй, самое сложное с plv8 - установить это расширение. Но у меня хорошая новость: мои коллеги помогли подготовить докер-файлы и докер-образы для PostgreSQL версии 13 с уже установленным plv8! Теперь начать разработку на plv8 просто: нужно лишь развернуть контейнер одной командой.
    Докер-файл: PostgreSQL 13 + plv8 v2.13.15
    Демо-проект для участия в мастер-классе
    Так же для мастер-класса пригодятся:
    Node.js (желательно LTS)
    IDE для js (например, бесплатная Visual Studio Code)
    GraphQL Playground

  • Павел Лузанов
    Павел Лузанов Postgres Professional Руководитель образовательных программ
    45 мин

    PostgreSQL 14. Финальный обзор

    На протяжении всего релизного цикла 14 версии мне довелось описывать принятые патчи в статьях посвященных каждому из пяти коммитфестов релиза. И даже в первых двух статьях о 15 версии нашлось что добавить про 14-ю. Эти статьи можно найти и прочитать на Хабре (и смело пропустить доклад :-)).

    30 сентября наступил тот день, когда PostgreSQL 14 вышел официально. Больше уже ничего не должно измениться. И теперь совершенно точно можно делать финальный обзор изменений.

    Однако рассказать обо всем новом в одном докладе - дело практически не реальное. Поэтому постараюсь составить свой собственный топ-лист.