title

text

Андрей Бородин
Андрей Бородин Яндекс Разработчик
17:00 06 февраля
45 мин

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

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

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

Слайды

Видео

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

  • Максим Милютин
    Максим Милютин Wildberries Разработчик/DBA
    Дмитрий Иванов
    Дмитрий Иванов Postgres Professional Developer
    45 мин

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

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

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

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

  • Григорий Смолкин
    Григорий Смолкин Ozon Инженер
    90 мин

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

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

  • Андрей Зубков
    Андрей Зубков ООО "Пармалогика" Администратор баз данных
    45 мин

    Инструмент анализа исторической нагрузки или "AWR для Postgres"

    Администратор баз данных регулярно сталкивается с необходимостью поиска проблемных запросов в своих базах данных. Для оперативного поиска хорошо подходит PGCenter, но что делать если проблемы производительности наблюдались в прошлом? В этом докладе я хочу поделиться своим опытом разработки и применения инструментария, позволяющего производить ретроспективный анализ нагрузки запросов в базах данных PostgreSQL - pg_profile

  • Брюс Момжиан
    Брюс Момжиан EnterpriseDB Senior Database Architect
    180 мин

    Изучаем CTE и оконные функции

    От разработчиков часто требуются результаты, которые трудно получить обычными SQL-запросами. К счастью, стандартом SQL предусмотрены мощные средства - общие табличные выражения (CTE) и оконные функции, который весьма расширяют круг возможного.

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

    Обычные SQL-запросы возвращают наборы строк, в которых одна строка не зависит от других. Оконные функции позволяют добавлять в запрос поля, значения которых зависят от других строк.

    Этот мастер-класс поможет прикладным разработчикам в использовании CTE, что позволит перенести часть логики из приложения в SQL-код, и разъяснит возможности оконных функций и особенности их использования.

    Видео

    Часть I «Programming the SQL Way with CTE»


    Часть II «Postgres Window Magic»