![Виктор Еремченко Виктор Еремченко](/media/2020/01/10/Viktor Eremchenko.jpg.180x180.jpg)
Отказоустойчивый кластер PostgreSQL + Patroni
Я расскажу, как мы комплексно подошли к проблеме отказоустойчивости PostgreSQL, какие варианты мы рассматривали и как остановились на Patroni.
Доклад содержит этапы тестирования этого решения, как мы обеспечили быстрое внедрение на production и с какими проблемами мы столкнулись и как их решали.
Слайды
Видео
Другие доклады
-
Иван Фролков Postgres Professional инженер-консультант
Уровни изоляции транзакций в постгресе
Про уровни изоляции транзакций обычно все что-то слышали, но, как ни странно, мало кто может внятно рассказать, что же это такое и зачем надо, в то же время для многих операций ясное понимание того, что под этим подразумевается и как это влияет на результат может быть весьма значительным. В самом деле, если клиенту выплатили двойную сумму и перед программистом встает перспектива личного возмещения нанесенных убытков, то вряд ли тогда этот параметр покажется таким уж маловажным.
Тому, как этого избежать, и посвящен этот доклад.
-
Валерий Попов Postgres Professional Руководитель группы информационной безопасности и сертификацииНиколай Чадаев Postgres Professional Старший инженер
Построение защищенных БД с использованием мандатного разграничения доступа в PostgreSQL
Ролевая модель разграничения доступа (RBAC) является основным механизмом разграничения доступа во многих СУБД, в том числе и в PostgreSQL. Эта модель является разновидностью дискреционного разграничения с присущими ей ограничениями. Во многих ОС в дополнение к традиционному дискреционному разграничению доступа используется мандатное разграничение (MAC) на основе меток безопасности, которое является обязательным для защиты информации высоких классов, а также представляет дополнительный механизм защиты. Естественно, хочется использовать возможности мандатного разграничения доступа к данным в среде СУБД при работе в ОС с включенным мандатным разграничением.
В нашем докладе мы рассмотрим имеющиеся реализации MAC в СУБД, а также предлагаем свой подход к использованию в PostgreSQL механизмов защиты, которые предоставляет SELinux, расширение sepgsql для PostgreSQL, а также стандартный механизм политики защиты строк (RLS, row level security), который есть в PostgreSQL начиная с версии 9.5.
Созданный прототип работает в enforced режиме под управлением ОС CentOS 7 с включенным SELinux, системными политиками MLS/MCS (Multi Level Security/Multi Category Security). В дополнение к функциональности модуля sepgsql реализовано мандатное разграничение MLS/MCS на уровне строк таблиц. Обеспечивается сетевое взаимодействие с передачей меток по сети с использованием механизмов IPSEC, CIPSO, что позволяет использовать этот подход в многопользовательской, многоузловой сети. Реализация MLS в СУБД оформлена в виде стандартных расширений PostgreSQL. Одно является оберткой вокруг расширения sepgsql, и обеспечивает легкую инсталляцию расширения sepgsql в БД, а также восстановление контекстов безопасности данных при дампе/восстановлении БД. Второе расширение предоставляет сервисные функции для работы с метками, в том числе в доверенном режиме, позволяющем менять контексты безопасности.
В качестве демо-примера мы использовали демонстрационную базу данных Авиаперевозки, подготовленную компанией Postgres Professional, на которой мы продемонстрируем защиту чувствительной информации и персональных данных, сравним различные механизмы организации хранилища меток безопасности и производительность решения. -
Николай Аверин Miro Backend engineer
pg_repack и deferred constraints
pg_repack является популярным инструментом для устранения bloat-a таблиц и индексов в постгресе. В большинстве случаев он отлично справляется с проблемой. Но как оказалось, в случае использования такой фичи постгреса как deferred ограничения, использование pg_repack либо сильно усложняется, либо становится невозможным. Я расскажу о том, как мы обнаружили эту проблему и опишу возможные способы ее решения - от встроенных средств постгреса до небольшого патча pg_repack.
-
Рустам Абдрахимов ООО Форс-Телеком Главный экспертАлександр Любушкин ООО "ФОРС Телеком" Технический директор
Разработка WEB-приложений для Postgres с помощью нового инструмента Live Universal Interface (LUI)
В ходе мастер-класса будет продемонстрировано следующее:
- Преимущества декларативного программирования. Быстрое создание сложной формы LUI с применением только SQL.
- Поддержка длинных транзакций и автоматических блокировок. Пример визарда с записью прямо в базу.
- Управление раскраской данных в полях и столбцах формы. Типичные примеры.
- Живой поиск в полях ввода на примере ввода адресов.
- Как настроить LUI на ввод и отображение специфических данных прикладной системы.
- Разработка формы Мастер-Деталь с извлечением данных из двух разных БД.
- Как конечный пользователь строит сложные запросы к данным без использования SQL.
- Как в любом списке группировать данные и строить интерактивные диаграммы (включая 3D) c возможностью “drill down”.
Слушатели по желанию смогут своими руками изготовить WEB-интерфейс для Postgres на LUI (см. презентацию на https://pgconf.ru/2019/118109)