title

text

Олег Бартунов
Олег Бартунов Postgres Professional генеральный директор
Никита Глухов
Никита Глухов Postgres Professional Разработчик
11:00 01 марта
45 мин

JSONB изнутри

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

Видео

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

  • Андрей Фефелов
    Андрей Фефелов Mastery.pro Технический директор
    22 мин

    Как обфусцировать базу в Postgres для задач нагрузочного тестирования веб-приложений

    Postgres - отличная база данных для высоконагруженных веб-приложений. В свою очередь для таких веб-приложений периодически встает задача нагрузочного/стресс тестирования. Кроме очевидных сложностей: эмуляции рабочего окружения близкого к продуктовому и генерации трафика есть задача подготовки базы данных для тестового окружения. В эпоху борьбы за приватность персональных данных (152-ФЗ, GDPR, HIPAA) использование базы с прода выглядит плохой идеей. Выход один - обфусцировать данные.

    Существуют различные инструменты для обфускации данных в Postgres. В докладе я расскажу, какие из них мы выбрали и почему, с какими трудностями столкнулись во время использования, насколько удачно решили задачу.

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

  • Robert Bernier
    Robert Bernier Percona Старший консультант по PostgreSQL
    45 мин

    Продвинутые техники pg_upgrade

    На сегодняшний день утилита командной строки pg_upgrade является наиболее популярным инструментом для обновления между мажорными версиями Postgres. Однако помимо достоинств, у неё есть и известные проблемы. Одна из наиболее критичных: что делать, если произошёл сбой? Цель данного доклада - раскрыть те маленькие секреты, благодаря которым любой из слушателей сможет существенно улучшить процесс выполнения обновлений.

    Мы начнём с обсуждения базового режима фунционирования pg_upgrade. Потом мы изучим то, что позволяет обновить многотерабайтный кластер за считанные минуты. В конце мы обсудим те самые ситуации сбоя, которых все боятся, а также разберёмся, что делать в случае их возникновения, чтобы обрести уверенность и определённость.

    Список подтем доклада приведён ниже:

    • Как работает pg_upgrade? Общая картина
    • О pg_upgrade (вызов из командной строки)

      • аргументы и опции

    • Пошаговое выполнение обновления
    • О репликации на основе РОЛИ

      • с атрибутом REPLICATION
      • с атрибутом LOGIN

    • Опции для обновления: копирование или жёсткие ссылки?
    • Что делать после обновления?

      • о производительности
      • об анализе
      • о команде REPACK
      • о переиндексации

    • Когда что-то идёт не так, и точка невозврата уже пройдена (пройдена ли?)
    • Обновляем РЕПЛИКУ
      • Метод по умолчанию: pg_basebackup
      • Продвинутый метод:
        • - используем rsync
        • предупреждение: закольцовка vacuum
  • Дорофей Пролесковский
    Дорофей Пролесковский Juno GIS Engineer
    22 мин

    Что нового в PostGIS 3.1

    PostGIS - расширение для работы с пространственными данными в PostgreSQL. В этом докладе будут рассмотрены все последние изменения в экосистеме вокруг PostGIS с комментариями от разработчика.

  • Tatsuro Yamada
    Tatsuro Yamada NTT Comware Ведущий специалист по базам данных
    Julien Rouhaud
    Julien Rouhaud Разработчик
    22 мин

    Построение автоматического консультанта и инструментов настройки производительности в PostgreSQL

    PostgreSQL - зрелая реляционная СУБД, её история насчитывает более 30 лет. За последний год её оптимизатор запросов стал лучше, и обычно он создаёт хорошие планы выполнения запросов.

    Но всегда ли эти планы выполнения запросов хороши? Чтобы оптимизировать процесс их создания, приходится пользоваться предположениями, чтобы планы выполнения запросов создавались достаточно быстро. Некоторые из этих предположений проверить довольно легко (например, актуальность статистики), другие сложнее (например, надо убедиться, что правильные индексы были созданы), а некоторые проверить почти невозможно (например, убедиться, что выборки достаточно репрезентативны даже для ассиметричного повторного секционирования данных). Сегодня из-за всех этих предположений администратор базы данных не всегда осознаёт, что он мог бы добиться значительного улучшения производительности.

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

    • pg_qualstats предоставляет подсказки для создания новых индексов и расширенной статистики чтобы собрать много предикатных статистических данных о производственной нагрузке.
    • pg_plan_advsr создаёт альтернативные планы выполнения запросов автоматически для анализа информации об итеративном выполнении запросов, чтобы исправить ошибку оценки строк.

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