Thread: Re: Multi-Master asynchronous replication

Re: Multi-Master asynchronous replication

From
"alexey kolosov"
Date:
On Tue, 24 Apr 2007 20:25:49 +0600, Mykola Dzham <i@levsha.org.ua> wrote:

>  Alexey Kolosov wrote:
>> Есть ли подобное решение для PostgreSQL?
>
> А оно возможно? Это же прямой путь к рассинхронизации нод кластера.

Мы подобную штуку реализовали на Visual FoxPro 7, но dbf себя изжил...
Там это просто и главное работает :)

http://postgresmen.ru/files/IZ_rit2007.pdf - если верить этому то и
PostgreSQL это тоже умеет :)

Re: Multi-Master asynchronous replication

From
Alex Gorbachenko
Date:
On Tue, 24 Apr 2007 21:22:32 +0600
alexey wrote:

>http://postgresmen.ru/files/IZ_rit2007.pdf - если верить этому то и
>PostgreSQL это тоже умеет :)

асинхронный мастер-мастер ? не умеет. да и синхронный тоже. pgcluster
на реальных задачах не живёт вообще никак. база размером в десяток
гигабайт и весьма посредственным количеством обращений (5-10 qps)
вгоняет pgcluster в ступор.

и асинхронный мастер-слейв тоже. если "верить этому", то будет уметь.

--
np: Bruce Dickinson - Road To Hell

Attachment

Re: Multi-Master asynchronous replication

From
"Ivan Zolotukhin"
Date:
Реально работающей асинхронной мульти-мастер репликации в общем виде
нет ни в одной базе, даже коммерческой. Проблемы идеологические, а
именно -- разрешение конфликтов.

Если у вас в одном мастере в таблице users пользователь aaa поменял
свой телефон в колонке phone, а на другом мастере у него же поменяли
колонку address, то replication engine в момент синхронизации
обнаружит конфликт в данной строке. Что ему с ним делать?
Автоматически система сможет принять решение только в том случае, если
администратором была задана policy, разрешающая данный конфликт. А так
как задать абсолютно все policy не представляется возможным, неизбежно
будут возникать ситуации (подчеркиваю, речь идет об _общем_ случае
асинхронной мульти-мастер репликации), когда система будет требовать
мануального разрешения конфликтов.

Так что спрашивайте конкретнее, описывая задачу более подробно. В
настоящее время для решения сложных задач репликации я бы
порекомендовал писать решение самостоятельно на фреймворке обобщенной
очереди PgQ компании Skype. Но его тоже нужно изучать и тестировать,
опыт ее реального использования пока есть только в Skype.

А более общая мысль еще проще: нужно стараться уходить от асинхронного
мульти-мастера, он в некотором роде является архитектурным
антипаттерном, это нужно понимать.


On 4/25/07, Alex Gorbachenko <agent_007@immo.ru> wrote:
> On Tue, 24 Apr 2007 21:22:32 +0600
> alexey wrote:
>
> >http://postgresmen.ru/files/IZ_rit2007.pdf - если верить этому то и
> >PostgreSQL это тоже умеет :)
>
> асинхронный мастер-мастер ? не умеет. да и синхронный тоже. pgcluster
> на реальных задачах не живёт вообще никак. база размером в десяток
> гигабайт и весьма посредственным количеством обращений (5-10 qps)
> вгоняет pgcluster в ступор.
>
> и асинхронный мастер-слейв тоже. если "верить этому", то будет уметь.
>
> --
> np: Bruce Dickinson - Road To Hell
>
>

Re: Multi-Master asynchronous replication

From
Alexey Kolosov
Date:
В сообщении от 25 апреля 2007 Ivan Zolotukhin написал(a):
> Реально работающей асинхронной мульти-мастер репликации в общем виде
> нет ни в одной базе, даже коммерческой. Проблемы идеологические, а
> именно -- разрешение конфликтов.
Разрешение конфликтов - это конечно серьёзно. Будут разрешатся скорее всего
мануально. В данный момент у нас есть решение для комплекса программ,
написанных на Visual FoxPro 7-9 и схема применяемая там вполне успешно
функционирует уже в течении нескольких лет. Конфликты случаются очень редко и
разруливаются руками. Но DBF себя изжил... Физические ограничения на 2Гб
таблицы и пр. Поэтому принято решение перенести эту схему на рельсы
PostgreSQL. Нет штатного решения - напишем сами! Это даже лучше - будем
досконально знать как это работает.

> Так что спрашивайте конкретнее, описывая задачу более подробно. В
> настоящее время для решения сложных задач репликации я бы
> порекомендовал писать решение самостоятельно на фреймворке обобщенной
> очереди PgQ компании Skype. Но его тоже нужно изучать и тестировать,
> опыт ее реального использования пока есть только в Skype.
Обязательно посмотрю... Там, кстати, упоминается Slony-I как идейный
вдохновитель.

> А более общая мысль еще проще: нужно стараться уходить от асинхронного
> мульти-мастера, он в некотором роде является архитектурным
> антипаттерном, это нужно понимать.
Понимаем, но реалии жизни вынуждают. :) Тяжела и неказиста жизнь простого
программиста! :)

--
 [5005747] / [http://ego.b0b.org/about/]
[11C607AC] / [5E2B 1445 912B 490A 5524  EA39 A36C 7E67 11C6 07AC]