Репликация центра обработки данных Cassandra по сравнению с репликацией центра обработки данных Couchbase

Я пытаюсь понять разницу между репликацией центра обработки данных, реализованной в Cassandra и в Couchbase. Это похоже на Cassandra, если у меня есть два центра обработки данных (DC), все мои данные реплицируются в обоих. В то время как в Couchbase два контроллера домена содержат разные данные, и их можно вручную настроить для репликации подмножества данных между разными контроллерами домена. Это правильно?

Как клиент может узнать, где находятся данные в Couchbase? Что произойдет, если я запрошу у DC1 данные, хранящиеся в DC2?

Как в Couchbase вся система узнает, где реплицируются данные?

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


person cesare    schedule 25.03.2013    source источник


Ответы (3)


Couchbase Cross Datacenter Replication (XDCR) реплицирует все данные из исходного ведра в целевое ведро (непрерывно).

Если у вас есть сегмент A в центре обработки данных в Нью-Йорке и сегмент B в центре обработки данных в Сан-Франциско, и вы настраиваете XDCR из сегмента A в сегмент B, все данные в сегменте A реплицируются в сегмент B. Вы не можете настроить дополнительный фильтр. Однако эта репликация является только одним направлением. Таким образом, если вы также записываете данные непосредственно в корзину B, у вас не будет всех данных в обоих центрах обработки данных. Если вы хотите, чтобы все данные находились в обоих центрах обработки данных, вы также должны настроить XDCR из корзины B в корзину A. В руководстве это называется двунаправленной репликацией. В этой конфигурации с двумя кластерами вы получите все данные во всех центрах обработки данных.

Couchbase Client SDK настроены для работы с одним кластером. Это означает, что клиент должен знать, к какому кластеру подключаться. Если в вашем кластере в Нью-Йорке хранятся данные, отличные от данных в кластере в Сан-Франциско, ваше приложение должно иметь логику, чтобы знать, где искать данные.

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

«Умная карта кластера», упомянутая Робином, используется для поиска данных в пределах одного кластера. Важно понимать, что это не позволит найти данные, хранящиеся в разных регионах.

person mschoch    schedule 26.03.2013
comment
Большое тебе спасибо! Это исчерпывающий ответ, который я искал! Я просил его для подготовки относительной работы бумаги. Несчастливому было очень трудно найти ссылки на такое поведение Couchbase. Не могли бы вы предложить какой-либо документ, относящийся к этому? - person cesare; 27.03.2013
comment
Вы, вероятно, уже обращались к руководству. Кроме того, вы можете посмотреть веб-семинар. - person mschoch; 27.03.2013

Обратите внимание, что более поздние версии Couchbase (4.0 и выше) XDCR позволяют фильтровать. Простое регулярное выражение для имен ключей позволяет реплицировать выбранное подмножество данных между центрами обработки данных. Подробнее см. на http://developer.couchbase.com/documentation/server/4.0/xdcr/xdcr-filtering-setup.html

person Ian McCloy    schedule 20.10.2016

В Couchbase кросс-репликация данных работает от корзины к корзине. Couchbase поддерживает два типа репликации — двунаправленную и однонаправленную. Если вы используете Bi-Directional, оба набора данных будут одинаковыми. Если вы используете Uni-Directional, теоретически у вас может быть 1 набор данных больше, чем другой, но, как правило, это не так.

Клиентские SDK знают, где находятся данные в Couchbase, потому что они используют интеллектуальную карту кластера. Эта карта кластера постоянно отслеживает, где находятся данные, поэтому отправляет запросы на правильный узел.

person Robin Johnson    schedule 25.03.2013
comment
Спасибо! Итак, у каждого клиента есть полная карта того, где хранятся данные, верно? Если да, то как клиент выбирает ближайший дата-центр? Это что-то непрозрачное для клиента, верно? - person cesare; 25.03.2013
comment
Да, в текущей версии Couchbase 2.0.x все данные корзины реплицируются в целевой кластер. - person Tug Grall; 26.03.2013