Производительность PG_DUMP vs Репликация с master/slave?
Поэтому мне нужно сделать резервную копию моей базы данных, и у меня есть 2 варианта, которые я рассматриваю:
1) Использование pg_dump для ежедневного дампа. 2) Настройка подчиненной базы данных, которая будет репликацией мастера.
Я не спрашиваю, какой вариант лучше, а спрашиваю:
Как сравнить производительность этих 2? Интуитивно понятно, что оба делают одинаковые вещи, которые передают все данные в одном процессе с одного сервера на другой.
Какой из двух вариантов оказывает меньшее влияние на процессор / нагрузку на главный сервер базы данных? Какой из них окажет меньшее влияние на обрабатываемые текущие запросы?
1 ответ
Это вопрос типа "яблоки с апельсинами". pg_dump предоставляет вам логическую резервную копию вашей базы данных, которую вы можете манипулировать или перемещать в другие системы для перезагрузки как внутренне согласованной базы данных. Реплицированное ведомое устройство является точной копией действующего мастера, который изменяется по мере изменения мастера. Теперь, если вы хотите использовать гибридный подход, вы можете настроить репликацию между главным и подчиненным и настроить горячее резервирование, чтобы вы могли взять pg_dump от подчиненного. Это метод, который я обычно использую в производственных средах из-за гибкости и уменьшенного воздействия на мастера.