title

text

Андрей Бородин
Андрей Бородин
17:00 06 февраля
45 мин

Разработка дельта-копий в WAL-G

WAL-G - простой и эффективный инструмент для резервного копирования PostgreSQL в облака. По своей основной функциональности он является наследником популярного инструмента WAL-E, но переписанным на Go. Но в WAL-G есть одна важная новая особенность - дельта-копии. Дельта-копии WAL-G (где это возможно) хранят страницы файлов, изменившиеся с предыдущей версии резервной копии. В этом докладе я расскажу о том, как эту особенность разрабатывал.

Наиболее важным и сложным, как ни странно, являлся вопрос интерфейса: WAL-E - простой и понятный, это свойство хотелось сохранить в первую очередь. Технические детали реализации также готовили несколько неожиданных открытий. Кроме того, хотелось бы обсудить перспективы развития технологии и поговорить о взаимодействии и координации со стороны разработчиков инструментов резервного копирования.

слайды

Видео

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

  • Вадим Яценко
    Вадим Яценко
    Сергей Ким
    Сергей Ким
    45 мин

    PostgreSQL High Availability кластер для Enterprise

    В последнее время PostgreSQL все чаще используется для Enterprise. Наша компания Ingram Micro Cloud была одной из первых, кто сделал это. Мы уже много лет используем PostgreSQL в качестве основной СУБД для наших продуктов. В докладе мы хотим рассказать об эволюции нашего High Availability (HA) кластера PostgreSQL: как мы в сжатые сроки внедряли решение на pgpool-II, писали failover сценарии, тестировали Postgres-XL и придумывали необычные конфигурации Stolon. Немного поговорим о проблемах балансировки нагрузки, пуллинга соединений и бекапировании.

  • Дмитрий Иванов
    Дмитрий Иванов
    Максим Милютин
    Максим Милютин
    45 мин

    Встроенное партицирование в постгресе и сторонние решения

    В 10-й версии постгреса появилось встроенное партицирование таблиц. Однако ставить точку на развитии этого функционала, начало работы над которым ведётся с августа 2015 года, пока рано. В новом 11-ом релизе ведутся несколько параллельных работ по преодолению ограничений встроенного партицирования (update ключа партицирования, вставка в foreign партиции, локальные и глобальные индексы) и внедрение оптимизаций (runtime partition pruning, parallel append нода и partition-wise aggregation/grouping), которые восполнят многолетний пробел в этой области.

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

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

  • Григорий Смолкин
    Григорий Смолкин
    90 мин

    Резервное копирование PostgreSQL с помощью pg_probackup: высокая производительность и острая форма паранойи

    Как бэкапировать PostgreSQL? Как хранить сделанные бэкапы? Как валидировать бэкап? Как валидировать PostgreSQL и можно ли ему вообще доверять? Можно ли доверять твоему инструменту? Как сделать всю эту паранойю удобной и производительной, если СУБД не помогает в этом деле? На какие компромиссы можно идти и на какие ни в коем случае нельзя? Создавая свой инструмент бэкапирования, мы были вынуждены искать ответы на эти и многие другие вопросы, о чем и хотелось бы рассказать.

  • Константин Книжник
    Константин Книжник
    45 мин

    VOPS: Векторное расширение Постгреса

    СУБД Постгрес успешно используется во многих OLTP приложениях, выполняющих большое число простых запросов. Но для аналитики, требующей обработки большого количества данных, Постгрес на порядки отстаёт от специализированных СУБД, оптимизированных для массовой обработки данных. Скорость работы Постгреса для OLAP запросов сдерживается следующими факторами:

    • Большие накладные расходы на распаковку записей.
    • Затраты на интерпретацию запроса (Постгрес интерпретирует план выполнения запроса)
    • Поддержка работы с абстрактными типами
    • Недостатки PULL модели выполнения запроса
    • Издержки MVCC

    Все эти проблемы могут быть в большой степени решены за счёт использования векторного исполнителя запросов, который за одну операцию в состоянии обработать целый блок (вектор) значений. В этом докладе описывается способ добавления векторных операций в Посгрес, с помощью стандартного механизма расширения Посгреса, без внесения изменений в ядро. Такие механизмы Посгреса как UDT (определяемые пользователем типы), FDW (абстракция внешнего поставщика данных), расширения исполнителя запросов позволяют реализовать в Постгресе вертикальный таблицы, с которыми можно работать как с обычными таблицами. Но на порядки быстрее благодаря использованию векторных операций.