Определения режимов репликации? - PullRequest
6 голосов
/ 28 марта 2011

В настоящее время я изучаю различные NoSQL и RDBMS на предмет их возможностей репликации для построения распределенных систем.

Читая несколько статей и книг, у меня возникает ощущение, что некоторые продавцы или авторы используют свои собственные определения в отношении терминов

  • Master-Master Replication (Репликация между двумя серверами)
  • Master-Slave Replication (Репликация между несколькими серверами для увеличения скорости чтения, запись возможна только для главного сервера)
  • Multi-Master Replication (= Peer-to-Peer?)
  • Одноранговая репликация (репликация между n узлами, каждый может читать / писать)
  • Слияние репликации (?)

Например: некоторые смешивают термины Мастер-Мастер и Peer-to-Peer как одно и то же, в то время как в Mysql docus, например, я обнаружил, что они различаются между Master-Master и Multi-Master (= Peer-to-Peer? ??) Репликация.

В чем разница в репликации между несколькими мастерами и в одноранговой сети? Является ли вариант использования репликации Multi-Master в большей степени ориентированным на кластеризацию, в то время как одноранговая сеть ориентирует распределенный контент на распределенные приложения?

Я бы хотел разобраться и убедиться, что у меня есть правильное понимание в этих терминах, поэтому, возможно, обсуждение здесь поможет объединить некоторые знания.

С уважением, Крис

Редактировать: добавлена ​​репликация слиянием в список и некоторые пояснения, как я их понимаю ...

1 Ответ

3 голосов
/ 01 апреля 2011

Что касается CouchDB, история проста. Вот оно:

Для CouchDB существует только один режим репликации. Источник копирует все свои данные в целевое устройство, с дополнительным фильтром да / нет. Я описал репликацию CouchDB в другом вопросе. Ключевым моментом является то, что «репликация» - это просто клиент БД. Он подключается к обеим кушеткам, читает из источника и пишет в цель.

Любая другая архитектура с большим изображением (одноранговая, мультимастерная, мастер-подчиненная) - это просто реализация разработчиков или системных администраторов. Например, если GET s распределены по многим кушеткам, но POST идут на одну центральную кушетку, которая реплицируется на другие, то это фактически ведущий-раб. Если вы поместите CouchDB в каждом крупном городе для повышения производительности, и они будут реплицироваться непосредственно друг с другом, это будет репликация с несколькими мастерами.

В сообществе CouchDB, особенно в проектах и ​​презентациях Криса Андерсона, репликация «равный-равному» - это концепция, в которой CouchDB присутствует везде: мобильные телефоны, центры обработки данных, телефонные столбы. И репликация происходит непосредственно между кушетками децентрализованно, без централизованного управления или архитектуры, как сама сеть.

...