LINUX.ORG.RU
 
gh0stwizard

[PostgreSQL] Выбор решения для репликации


0

2

Задача:

Нужна репликация одной базы pgsql на двух серверах, расположенных в разных частях Земли. Ping/speed: ~150ms/1Mbps.

Условия:

1. Асинхронная запись на оба сервера. По сути они оба являются мастерами. Этим должно гарантироваться максимальный быстрый доступ к базе со стороны приложения.

2. Важность мгновенной синхронизации выше чем надежность при падении сервера одного из серверов (бэкапы/heartbit/load balance решают).

Вычитал возможные решения здесь:

http://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling

Пришел к выводу, что лучше всего подходит Bucardo, но с упором на надежность привлекает pgpool-II. К сожалению, до этого репликацией не занимался для таких расстояний.

Вопрос по большей части подсказать какой вариант лучше, в чем минусы/плюсы, реалистичность той или иной реализации?

Другой вопрос, как много трафика есть сама репликация? Есть ли сжатие и шифрование?

Заранее спасибо.

СКАЖИ СВОЕМУ КОМПЬЮТЕРУ, ЧТОБЫ ЗАПЕР ДВЕРЬ

любительская автоматизация; устройство с открытой прошивкой
исходные тексты всех программ, открытые библиотеки
http://www.unicontrollers.com/products/unc01x

[#]  

Спасибо за ваще сообщение.

Но, лично мой совет, поймав себя на мысли что вам нужен master-master , ищите ошибку в схеме.

* ()
[#]  
mironov_ivan
>>-----Цитата---->>

1. Асинхронная запись на оба сервера. По сути они оба являются мастерами. Этим должно гарантироваться максимальный быстрый доступ к базе со стороны приложения.

<<-----Цитата----<<

А если на два сервера клиенты одновременно попробуют записать взаимно противоречивые данные?

***** ()
[#]  
gh0stwizard

Вобщем, решил использовать bucardo. Схема, удовлетворяющая моим условиям в простонародье называется "multi-master". Результаты выложу в ближайшую неделю.

***** ()
[#] Ответ на: комментарий от mironov_ivan 18.11.2010 18:37:22  
gh0stwizard

>А если на два сервера клиенты одновременно попробуют записать взаимно противоречивые данные?

Этот этап называется multi-master conflict resolution. Делится на два вида асинхронный(bucardo) и синхронный (pgcluster).

Презенташка с кратким описанием, где все расписано:
http://momjian.us/main/writings/pgsql/replication.pdf

***** ()
[#] Ответ на: комментарий от gh0stwizard 19.11.2010 0:32:25  
mironov_ivan
>>-----Цитата---->>

Этот этап называется multi-master conflict resolution. Делится на два вида асинхронный(bucardo) и синхронный (pgcluster).

Презенташка с кратким описанием, где все расписано:

http://momjian.us/main/writings/pgsql/replication.pdf

<<-----Цитата----<<

Спасибо за ссылку, почитаем...

***** ()