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 в части мониторинга потребления ресурсов.

Слайды

Видео

Видео доступно участникам мероприятия, выполнившим вход в личный кабинет

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

  • Алексей Фадеев
    Алексей Фадеев 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 Специалист образовательного отдела
    22 мин

    Сертификация PostgreSQL: личный опыт сдачи четырех тестов

    В мае 2019 г. компания «Постгрес Профессиональный» запустила программу сертификации по PostgreSQL. Я работаю в этой компании с марта 2020 г. и за год успешно сдал четыре теста по курсам DBA1, DBA2, DBA3, QPT. В этом выступлении я поделюсь своим опытом подготовки и сдачи этих тестов.

  • Иван Фролков
    Иван Фролков Postgres Professional инженер-консультант
    45 мин

    Надежная реализация сложной бизнес-логики с помощью pgpro_scheduler

    В расширении pgpro_scheduler есть интересная, но малоизвестная возможность - одноразовые задания. Несмотря на простоту, эта возможность вполне может быть использована для реализации сложной транзакционной обработки, что позволяет с одной стороны надежно исполнять задачи, выполняющиеся весьма продолжительное время, а с другой - надежно масштабировать приложения при соблюдении ряда условий.

  • Олег Бартунов
    Олег Бартунов Postgres Professional генеральный директор
    45 мин

    Json or not Json. Плюсы и минусы использования Json в PostgreSQL

    Json сейчас является де-факто стандартом для разработчиков стартапов. Почему это происходит и что надо делать — учить разработчиков приложений, как правильно проектировать базу данных согласно канонам реляционной теории (которой Postgres очень хорошо соответствует) или сделать СУБД более дружественной для Json?