postgresql. - code-r.ru fileРеализация ha-решений & load balancing...
TRANSCRIPT
Немного истории
• 1973 год – Ingres
• 1986 год – Postgres (Post Ingres)
• 1995 год – Postgres95Майкл Стоунбрейкер
Высокая доступность (HA)
• Мастер – чтение / запись
• Реплика – иногда чтение / запись
• Высокая доступность – возможность избегать простоев
• RTO (Recovery Time Objective)
• RPO (Recovery Point Objective)
• RTO + RPO = Tier
HA в PostgreSQL
• Общие диски
• Репликация на уровне файловой системы
• Репликация триггерами
• Репликация в среднем слое
• Физическая репликация
• Логическая репликация
Проблемы
• Потеря WAL сегментов (решение: replication slot)
• Отмена запросов (решение: hot_standby_feedback, max_standby_streaming_delay)
Физическая репликация. Плюсы -минусы
Масштабируемость и простота настройки
Реализация HA-решений & Load balancing
Разнообразие конфигураций (отложенная, hot-,
warm standby, каскадная репликация)
Зависимость от версий, платформы
Реплицируется всё
Реплику можно только читать
Физическая репликация - кейсы
• Реплика для обеспечения HA
• Балансировка нагрузки
• Каскадная репликация
• Отложенная репликация
Логическая репликация - одни плюсы. Плюс ограничения
Нет версионной и платформенной зависимости
Выборочная репликация
Возможность обновления мажорных версий
Реплицируются только DML (insert / update /delete) операции
Реплицируются только таблицы
Ручное разрешение конфликтов
Логическая репликация - кейсы
• Консолидация данных
• Обновление версий
• Репликация мультимастер (пока не поддерживается)
Кластера. Ожидания от кластера
• Высокая доступность. Минимальные RPO / RTO
• Масштабируемость
• Согласованность данных
• Отказоустойчивость
• Отказ узла
• Разделение сети
• Splitbrain
Развитие
PostgreSQL 9 PostgreSQL 10 PostgreSQL 11 PostgreSQL 12
Физическая
репликация
Логическая
репликацияМультимастер?Логическая
репликация +