2015-10-22 2 views
1

documentation for Cassandra consistency levels говорит об уровне EACH_QUORUM Консистенции:Семантика EACH_QUORUM только с одним Кассандрой дата-центром

записываемых должны быть записаны в журнал фиксаций и memtable на кворуме реплик узлов во всех центрах обработки данных. Используется в нескольких центрах центров обработки данных ...

Что такое семантика уровня согласованности EACH_QUORUM, когда имеется только один центр обработки данных? Я могу думать о двух возможностях:

  • Термин «все» включает в себя случай, там только как один, так EACH_QUORUM требует записи должны быть записаны на кворуме узлов в центре подошвы данных.
  • Уровень согласованности предназначен только для , когда у вас несколько центров обработки данных (формулировка «Используется в нескольких кластерах центров обработки данных» является ограничительной, а не описательной) и не должна использоваться, если у вас есть только один центр обработки данных. В этом случае используйте вместо этого QUORUM.

ответ

2

После нескольких экспериментов с использованием Cassandra 2.1.5 и драйвером Datastax Java 2.1.5, я обнаружил, что реализован (если не предназначен семантику) является то, что уровень EACH_QUORUM консистенции работает только тогда, когда вам имеют более одного центра обработки данных. Драйвер Java не работает EACH_QUORUM, когда есть только один центр обработки данных, бросая UnavailableException, который жалуется, что доступны 0 узлов. Записывает с использованием QUORUM работы.

Поэтому не использует уровень EACH_QUORUM, если у вас есть только один центр обработки данных. Вместо этого используйте QUORUM.

Смежные вопросы