
Инструмент как код: тестируем Postgres
На мастер-классе научимся проводить быстрые нагрузочные тесты баз данных Postgres: оптимизаций конфигов базы, структуры данных, индексов, настроек ОС и т. д. Для этого создадим код, из него поднимем инфраструктуру для теста и проведём сам тест. В результате получим гибкий инструмент в коде, к которому можно прикрутить любой мониторинг и за который не надо платить большие деньги, т.к стенд создаётся за 7 минут в пустой AWS учётке и убивается после проведения тестов. Для этого мастер-класса есть важная подготовка, которую нужно сделать заранее, чтобы в полной мере попробовать все, что спикер хочет предложить. Один шаг не быстрый - нужно сделать триальную учетную запись в AWS. Для этого требуется подтверждение регистрации от Amazon, которое они делают в течении 24 часов (если вы ранее работали в AWS, и у вас есть учетка - это хорошо, если нет - нужно пройти этот путь) Также, лучше заранее поставить последние версии ansible и terraform.
Слайды
Видео
Другие доклады
-
Андрей Сальников Data Egret DBA
Поиск плохих запросов
Работа с запросами и их оптимизация, это бесконечное приключение для разработчиков, работающих с базами данных. Часто под прицел попадают большие и долго выполняющиеся запросы, но что делать если таких запросов нет в вашем приложении? Как найти те самые запросы что портят взаимодействие между backend частью приложения и базой данных? Какие инструменты мы для этого используем? Обо всем этом будет рассказано в докладе.
-
Алексей Лесовский PostgreSQL Consulting LLC Администратор баз данных
PostgreSQL Scaling Usecases
На сегодняшний день уже никого не удивить тем что инфраструктура живет в клауде, однако не все компоненты заезжают в клауд легко и просто. Одним из таких компонентов является база данных, которая всегда требовательна в плане ресурсов и производительности. Особенно остро стоит вопрос масштабируемости и устойчивости к сбоям, именно поэтому в последние годы можно наблюдать бурное развитие альтернативных СУБД.
Однако классические РСУБД за счет накопленных фич нередко остаются выбором №1 при том что они также не стоят на месте и предоставляют богатый набор инструментов в плане масштабирования.
В этом докладе я буду рассматривать преимущественно PostgreSQL, варианты его масштабирования и то когда это стоит делать и как это делать правильно. В докладе будут рассмотрены следующие темы:
- Потоковая репликация и разделение read/write рабочей нагрузки
- Логическая репликация и шардирование данных
- Обеспечение высокой доступности и устойчивости к сбоям
Доклад будет интересен администраторам баз данных, системных администраторам, тимлидам, инфраструктурным архитекторам и широкому кругу специалистов которым интересен PostgreSQL.
-
Валерий Попов 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, на которой мы продемонстрируем защиту чувствительной информации и персональных данных, сравним различные механизмы организации хранилища меток безопасности и производительность решения. -
Константин Евтеев X5 FoodTech Главный архитектор
10 лет PostgreSQL в Avito
PostgreSQL с момента старта Avito решает серьезные и важные задачи. Вокруг СУБД были построены основные компоненты архитектуры. За 10 лет проект активно развивался, изменилась архитектура и инфраструктура.
Как вступление, сделаю обзор: эволюции архитектуры и инфраструктуры PostgreSQL в Avito; успешно решенных вызовов.
В основной части расскажу о статусе PostgreSQL в Авито 2020: микросервисная архитектура; шардирование; проблемы коммуналок; DBaaS( Database discovery, управление доступом, failover, backup, archive, вопросы разделения ресурсов итд.); вопросы интеграции; эволюция команды.
В заключение поделюсь нашим wishlist/нерешенными вопросами.