title

text

Константин Евтеев
Константин Евтеев X5 FoodTech Главный архитектор
Михаил Тюрин
Михаил Тюрин ИТ предприниматель предприниматель
16:15 06 февраля
45 мин

Кейсы использования логической репликации для восстановления данных в PostgreSQL 10

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

Но ничего не бывает "бесплатно" - на выходе мы имеем сложную распределенную систему. Отказы оборудования - это норма, к ним нужно быть готовым. Можно найти много примеров конфигурации логической репликации и success stories ее использования, при этом практических примеров по восстановлению после аварий почти нет, не говоря уже про готовые инструменты. За годы эксплуатации репликации PgQ мы наработали обширный опыт, многое переосмыслили, реализовали собственные надстройки и расширения для восстановления и согласования данных после аварий в распределенных системах обработки данных.

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

Слайды

Видео

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

  • Olivier Courtin
    Olivier Courtin DataPink Owner & DataScientist
    180 мин

    Мастер-класс: продвинутый анализ пространственных данных с помощью PostgreSQL, PostGIS и Python

    На мастер-классе будут рассмотрены: продвинутый анализ пространственных данных на чистом PostGIS, включая новейшие функции PostGIS; приведение в соответствие разных типов данных в PostgreSQL и Python (массивы в NumPy, таблицы в Pandas); секреты эффективной работы с инструментами и средами обработки данных (Jupyter, dataviz и др.); дальнейшее развитие с помощью GeoDataScience, библиотек и фреймворков Python, сочетаемых с PostgreSQL/PostGIS, включая технологии машинного и глубокого обучения.

  • Олег Бартунов
    Олег Бартунов Postgres Professional генеральный директор
    Федор Сигаев
    Федор Сигаев Postgres Professional технический директор, ведущий разработчик PostgreSQL
    Александр Коротков
    Александр Коротков Postgres Professional Руководитель разработки
    45 мин

    Что нам ждать в PG 11?

    10-я версия получилась богатой на новые фичи, но что же нас ожидает в новой 11 версии?

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

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

    Мастер-класс: Больше индексов, хороших и разных

    "Не мог он GIN от SP-GiST-а, как мы ни бились, отличить", говорил классик. А вы можете? Этот мастер-класс посвящен индексам, которые хоть и не так часто используются, как обычное B-дерево, но могут сильно выручить в трудную минуту. Мы посмотрим, как устроены эти индексы и в каких случаях они могут быть успешно применены. Заодно поговорим и об особенностях индексного доступа в PostgreSQL. Чтобы провести время с пользой, от слушателей потребуется некоторое знакомство с PostgreSQL и умение читать планы несложных запросов.

    Материалы мастер-класса

    Резервную копию БД с демонстрационными данными можно скачать тут:

  • Брюс Момжиан
    Брюс Момжиан 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»