

Кейсы использования логической репликации для восстановления данных в PostgreSQL 10
В Avito объявления хранятся в базах данных PostgreSQL. При этом уже на протяжении многих лет активно применяется логическая репликация. С помощью неё успешно решаются вопросы роста объема данных и количества запросов к ним, масштабирования и распределения нагрузки, доставки данных в DWH и поисковые подсистемы, межбазные и межсервисные синхронизации данных и пр.
Но ничего не бывает "бесплатно" - на выходе мы имеем сложную распределенную систему. Отказы оборудования - это норма, к ним нужно быть готовым. Можно найти много примеров конфигурации логической репликации и success stories ее использования, при этом практических примеров по восстановлению после аварий почти нет, не говоря уже про готовые инструменты. За годы эксплуатации репликации PgQ мы наработали обширный опыт, многое переосмыслили, реализовали собственные надстройки и расширения для восстановления и согласования данных после аварий в распределенных системах обработки данных.
В докладе мы покажем, как наш опыт можно переложить на новую подсистему логической репликации в 10-ке. В текущей реализации это нетривиальные решения – остается ряд вопросов для комьюнити, сводящихся к реализации простых механизмов восстановления - таких же простых как и настройка репликации в 10-ке.
Слайды
Видео
Другие доклады
-
Валерий Косарев - начальник отдела
Подключаемое хранилище для больших объектов
Хранение бинарных данных в таблицах базы данных иногда является хорошим решением для конкретного проекта. Но иногда, в силу изменения условий или недостаточной проработки решения, такое хранение становится настоящей головной болью. И даже если есть понимание, как и где нужно разместить такие данные, переход к новым решениям зачастую очень не прост, часто требуется доработка в прикладном коде и останов системы для миграции. В докладе представляется частное решение подобной проблемы. Разработанный extension позволяет освободить базу от таких данных, перекладывая бинарные данные в хранилище Ceph и не только. Причем прозрачно для приложений.
-
Иван Фролков Postgres Professional инженер-консультант
Управление потоками заданий в PostgresPro Enterprise
Нередко требуется выполнить асинхронно не одну транзакцию, а несколько в строго определенной последовательности. Для реализации подобного рода задач существует несколько решений, и одной из них - модуль pgpro_scheduler.
-
Олег Бартунов Postgres Professional генеральный директорНикита Глухов Postgres Professional Разработчик
"Умное" индексирование jsonb
PostgreSQL имеет репутацию универсальной СУБД,то есть базы данных, с которой можно стартовать практически любой проект, так как она имеет богатую функциональность,отличную репутацию и большое сообщество. Ее расширяемость позволяет добавлять недостающие функции силами прикладных программистов без остановки системы.
Я расскажу про то, как мы в Postgres Professional улучшили работу с индексами, а именно, добавили возможность использования параметров для их создания. В качестве примера, я расскажу про "умное" индексирование jsonb с помощью нашего расширения jsquery. "Умное" индексирование означает, что можно задавать подмножество jsonb для индексирование с помощью jspath,нового типа данных jsquery, который можно будет указывать в качестве параметра при создании индекса. Таким образом, индекс будет меньше,что положительно скажется на производительности запросов и лучшей конкурентности. Кроме того, параметры к оп классам позволят гибче работать с уже существующими индексами, а также помогут при индекскации jsonb с помощью jsonpath из ожидаемого SQL/JSON.
-
Андрей Хитрин RedSys Системный архитекторАлександр Федоров dbeaver.com Директор по развитию
DBeaver - IDE для Postgres с открытым исходным кодом
DBeaver - это универсальный графический клиент для работы с базами данных. Мы создаем DBeaver по модели Open Source Software. Особенное внимание уделяем СУБД PotgreSQL из-за её возможностей, её популярности и открытости. Мы расскажем как развивается DBeaver, покажем внутреннее устройство, продемонстрируем основную функциональность. Отдельно остановимся на трудностях, которые возникают при создании клиента для PostgreSQL. Обсудим модель управления требованиями и способы взаимодействия с сообществом PostgreSQL. Детально рассмотрим интерактивную отладку хранимых процедур PL/pgSQL. Представим новые возможности ближайшего релиза, поделимся планами на будущее.