title

text

Анатолий Анфиногенов
Анатолий Анфиногенов
19:00 03 апреля
22 мин

Вакуумотерапия: лечим хронические заболевания БД

После импортозамещения и перехода с СУБД Oracle на PostgreSQL мы столкнулись как с "детскими" болезнями нашего приложения на новой СУБД, которые успешно вылечили, так и с "хроническими заболеваниями", с которыми пришлось разбираться существенно дольше. Одной из наиболее запомнившихся проблем стала проблема деградации производительности, которая, как выяснилось, была вызвана недостаточным вакуумированием нашей БД. Опыт осознания и решения этой проблемы предлагается вашему вниманию в виде практических рекомендаций по борьбе с эффектом bloat для таблиц и индексов БД, а также настройке VACUUM/autovacuum PostgreSQL.

слайды

Видео

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

  • Михаил Шурутов
    Михаил Шурутов
    45 мин

    Набор Ansible-ролей для PostgreSQL

    В данном докладе рассмотрен набор ролей Ansible как для разворачивания одиночных инстансов СУБД PostgreSQL с репликацией, так и для построения отказоустойчивых решений с помощью кластерных решений: patroni+etcd, patroni+consul, stolon+etcd, stolon+consul. Соответственно, рассмотрен вопрос, почему набор ролей, а не какое-либо "решение".

  • Леонид Чуриков
    Леонид Чуриков
    22 мин

    Построение системы защиты данных на базе СУБД Постгрес

    Почему стоит использовать отечественную СУБД?

    • По закону: для защиты данных по закону годятся только отечественные СУБД
    • По оформлению: легально купить MS в России сейчас нельзя
    • По карману: лицензирование иностранных СУБД таково, что сильно удорожает защиту (в разы или на порядки)
    • По быстродействию: оно зависит от оптимизации СЗИ, а их разрабатывают сегодня под отечественные СУБД (Почему? Смотри пункт 1)
    • По жизни: В конце прошлого года мы перенесли все на отечественные СУБД и…. все работает! Все, что в жизни нужно безопаснику!

  • Алексей Фадеев
    Алексей Фадеев
    22 мин

    ORM LinqToDb: используем возможности Postgres по максимуму

    ORM-библиотеки широко используются при разработке бэкенда – примем это как данность. ORM-библиотеки совершенствуются, разработчики учатся на своих и чужих ошибках, и многие научились писать код для ORM, генерирующий вполне оптимальные запросы для типовых операций. Но есть ещё одна проблема ORM – ограниченность инструментов. Особенно это актуально для Postgres, имеющего массу операторов и конструкций (как в ядре, так и в расширениях), выходящих за рамки стандарта SQL.

    ORM-библиотека LinqToDb имеет важную особенность: она позволяет очень просто (буквально в одну строку) писать расширения, реализующие любой SQL-оператор или конструкцию. Полнотекстовый поиск, KNN, CTE (в том числе рекурсивные), работа с массивами и jsonb, array_agg и jsonb_object_agg, табличные функции и LATERAL JOIN – всё это без труда можно использовать в ORM, что я и продемонстрирую в данном докладе!

  • Игорь Мельников
    Игорь Мельников
    45 мин

    Поддержка пакетов Oracle (packages) в СУБД Postgres Pro 15 Enterprise

    Одной из основных проблем при миграции с СУБД Oracle на PostgreSQL, являются пакеты PL/SQL.

    В СУБД PostgreSQL отсутствует такой функционал - это приводит к необходимости переписывания (вплоть до его редизайна!) кода Oracle PL/SQL на PL/pgSQL.

    В новой версии своего флагманского дистрибутива Postgres Pro 15 Enterpise компания Postgres Pro добавила поддержку функциональности пакетов: расширен синтаксис PL/pgSQL и добавлены новые механизмы в среду выполнения хранимых процедур. В докладе речь пойдет идет о поддержке функциональности пакетов в Postgres Pro 15 Enterpise: - группировка типов переменных процедур и функций в пакет; - поддержка секции инициализации пакетов; - поддержка глобальных переменных пакета доступных в течении всей "жизни" сессии.

    Также в докладе будут рассмотрены особенности миграции пакетов из Oracle в СУБД Postgres Pro Enterprise.