LINUX.ORG.RU
ФорумAdmin

postgres репликация виды


0

1

Добрый день! начинаю разбираться с постгрес, но в упор не пойму. Есть два вида нативной репликации: 1) потоковая - в упор не пойму как это все работает, при потоковой данные пишутся в xlog? а потом считываю на слейв? 2) файловая - пишется все транзакции на мастере в xlog и далее вручную копируется на слейв и дальше слейв читает xlog и применяет изменения?... тогда собственно какое великое отличие?


Привет! Скажу честно, я не знаю, какие там бывают виды репликаций. Но могу рассказать как это работает на практике.

Есть немало статей типа http://habrahabr.ru/post/106872/.

Там описано как это делать.

В репликации есть мастер-подчиненный. Мастер и подчиненный связываются между собой через сеть и через файловую систему посредством общей папки (или синхронизируемой папки).

Вначале базы выравниваются. Затем запускается мастер и подчиненный. Мастер сливает все транзакции по сети и пишет их в файловую систему. Подчиненный получает все по сети или из файловой системы. При этом в подчиненный писать ничего не получится — на запись работает только мастер.

Когда мастер падает, нужно создать(руками) специальный триггер-файл для подчиненного. Когда он его видит, он сворачивает репликацию и делает вид что он тут мастер. Теперь в него можно писать.

Если самый первый упавший мастер реанимировали, то теперь процедуру нужно повторить, но на этот раз бывший мастер станет подчиненным, а бывший подчиненный останется мастером. Т.е. в момент катастрофы они меняются местами.

Соответственно необходимо на бывшем мастере выровнять базы, все настроить на подчинение новому мастеру.

Я писал утилиту, которая автоматизирует весь этот процесс. Какие-то детали мог забыть, но могу попытаться ответить на конкретные вопросы, подглядывая в собственный код.

ien
()

какое великое отличие

В первом случае процесс копирования знает, какую часть файла стоит обрабатывать. Соответственно, уменьшается задержка доставки. При потере активного хоста, ты теряешь не последние 1-2 журнала, а последние 1-2 транзакции, что может быть полезно. На чёрных ящиках (без знания внутреннего устройства) аналогичного добиваться дорого.

DonkeyHot ★★★★★
()
Ответ на: комментарий от ien

ух ) так еще раз, как работает файловая репликация и поптоковая? в чем отличия настройки postgres, везде описывается я так понимаю потоковая

carter
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.