title

text

Ibrar Ahmed
Ibrar Ahmed Percona LLC Senior Database Architect
14:00 02 марта
90 мин

Оптимизация производительности PostgreSQL

PostgreSQL - одна из лидирующих технологий среди СУБД с открытым исходным кодом. По умолчанию конфигурация PostgreSQL не подходит для конкретной рабочей нагрузки. Эта дефолтная конфигурация PostgreSQL рассчитана на то, чтобы пользователь мог запустить Postgres на любой системе, используя минимум ресурсов. Следовательно, установленный на высокопроизводительной машине экземпляр PostgreSQL в конфигурации по умолчанию не даст оптимальной производительности, потому что машина настроена так, чтобы использовать все доступные ресурсы. PostgreSQL предоставляет возможности для настройки СУБД под вашу рабочую нагрузку и характеристики вашего оборудования. Помимо PostgreSQL также можно настроить ядро Linux для оптимизации работы СУБД под нагрузкой. В рамках данного мастер-класса мы научимся настраивать некоторые параметры PostgreSQL и посмотрим, какой эффект даёт такая настройка. Однако основной акцент мы сделаем на том, как сконфигурировать Linux для улучшения производительности Postgres. Поскольку в ядре Linux так много параметров, которые можно настроить для более оптимальной работы PostgreSQL, я также поделюсь результатами сравнительного тестирования для разных значений некоторых параметров Linux.

Видео

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

  • Sushant Pandey
    Sushant Pandey Microsoft 500032
    Alicja Kucharczyk
    Alicja Kucharczyk Microsoft EMEA Global Blackbelt OSS Data Tech Specialist
    22 мин

    История одной миграции

    В данном рассказе мы хотим рассказать о том, как команда Microsoft, созданная из двух различных команд, работала над проектом, решала проблемы миграции, используя ora2pg, и смогла доказать, что Postgres Single Server может демонстрировать хорошую производительность наравне с Oracle Exadata. Мы расскажем о наших методах работы, а также о ряде основных проблем технического характера, с которыми мы столкнулись, включая миграцию выражений BULK COLLECT, иерархических запросов, курсорных выражений REF CURSOR и других, более сложных конструкций Oracle.

    Наша история о практическом подтверждении гипотезы, которое доказало, что Postgres может демонстрировать такую же производительность, как Oracle Exadata. Схема мигрируемой БД была не самой простой. Скорее, наоборот. Код был нагружен динамическими запросами, выражениями BULK COLLECT, вложенными циклами, операторами CONNECT BY, глобальными переменными и множеством зависимостей. Инструмент Ora2pg очень помог нам с преобразованием схемы БД, но всё равно осталось много работы, которую можно было сделать только вручную. Оценки, которые мы получили благодаря инструменту, также оказались очень далеки от истины, поскольку требовалась не просто миграция кода, а изменение его архитектуры. В рамках нашего доклада мы рассмотрим следующие подтемы:

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

  • Егор Рогов
    Егор Рогов Postgres Professional эксперт
    45 мин

    Новое в учебных курсах Postgres Professional

    Образовательные проекты нашей компании создаются, чтобы помочь в изучении PostgreSQL. В прошлом году мы сосредоточились на курсах для прикладных разработчиков: обновили базовый курс DEV1 и выпустили совершенно новый курс DEV2. Что изменилось в нашем подходе к учебным материалам, как мы видим дальнейшее развитие курсов и есть ли у нас что-то кроме них, будут ли обновлены курсы для администраторов и как это отразится на сертификации – обо всем этом я и расскажу.

  • Amit Kapila
    Amit Kapila Fujitsu Senior Director
    45 мин

    Как будет развиваться логическая репликация?

    Логическая репликация в PostgreSQL доступна начиная с версии 10.0, и с каждым новым релизом она улучшается. Мы начнём доклад с обсуждения базовой архитектуры логической репликации в PostgreSQL, а затем перейдём к различным способам её использования.

    Одним из недостатков логической репликации по сравнению с физической является невозможность репликации транзакции до момента коммита. Для транзакций, которые выполняются продолжительное время, это может привести к серьёзной задержке на стороне реплики. Мы обсудим, какое решение этой проблемы реализовано в PostgreSQL.

    Мы также остановимся на других крупных разработках в области логической репликации, которые позволят осуществлять потоковую передачу транзакций в заранее заданное время. Это позволит реализовать логическую репликацию без конфликтов. Это также можно будет использовать для масштабирования чтения. Благодаря протоколу 2PC мы сможем убедиться, что реплики получили все данные, закоммиченные на мастере. Теперь мы можем спроектировать систему, где определённые узлы являются владельцами некоторого набора таблиц. Так мы всегда сможем получить данные этих таблиц с этих узлов, а также установить некий внешний процесс для учитывающей это маршрутизации для операций чтения.

    В конце доклада мы перечислим новые улучшения, связанные с логической репликацией и вошедшие в недавние релизы PostgreSQL.

  • Игорь Косенков
    Игорь Косенков Postgres Professional Администратор БД
    90 мин

    Отказоустойчивый кластер PostgreSQL с помощью crmsh

    В некоторых дистрибутивах ОС отсутствует утилита настройки pcs для создания отказоустойчивого кластера PostgreSQL. В этом случае нам поможет утилита crm из пакета crmsh. Она сложнее в использовании, но такая же мощная и эффективная.

    В своем мастер-классе я покажу, как этой утилитой пользоваться, а также настрою отказоустойчивый кластер в разных конфигурациях.