title

text

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

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

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

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

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

Слайды

Видео

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

  • Валерий Косарев
    Валерий Косарев - начальник отдела
    22 мин

    Подключаемое хранилище для больших объектов

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

  • Иван Фролков
    Иван Фролков Postgres Professional инженер-консультант
    45 мин

    Управление потоками заданий в PostgresPro Enterprise

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

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

    "Умное" индексирование jsonb

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

    Я расскажу про то, как мы в Postgres Professional улучшили работу с индексами, а именно, добавили возможность использования параметров для их создания. В качестве примера, я расскажу про "умное" индексирование jsonb с помощью нашего расширения jsquery. "Умное" индексирование означает, что можно задавать подмножество jsonb для индексирование с помощью jspath,нового типа данных jsquery, который можно будет указывать в качестве параметра при создании индекса. Таким образом, индекс будет меньше,что положительно скажется на производительности запросов и лучшей конкурентности. Кроме того, параметры к оп классам позволят гибче работать с уже существующими индексами, а также помогут при индекскации jsonb с помощью jsonpath из ожидаемого SQL/JSON.

  • Андрей Хитрин
    Андрей Хитрин RedSys Системный архитектор
    Александр Федоров
    Александр Федоров dbeaver.com Директор по развитию
    45 мин

    DBeaver - IDE для Postgres с открытым исходным кодом

    DBeaver - это универсальный графический клиент для работы с базами данных. Мы создаем DBeaver по модели Open Source Software. Особенное внимание уделяем СУБД PotgreSQL из-за её возможностей, её популярности и открытости. Мы расскажем как развивается DBeaver, покажем внутреннее устройство, продемонстрируем основную функциональность. Отдельно остановимся на трудностях, которые возникают при создании клиента для PostgreSQL. Обсудим модель управления требованиями и способы взаимодействия с сообществом PostgreSQL. Детально рассмотрим интерактивную отладку хранимых процедур PL/pgSQL. Представим новые возможности ближайшего релиза, поделимся планами на будущее.