Репликация Кассандры в сетевой топологииСтратегия - PullRequest
0 голосов
/ 29 февраля 2020

Я только начал узнавать о Кассандре. У меня есть сомнения в NetworkTopologyStrategy. Итак, как мы знаем, узлы в Cassandra делятся на основе значения ha sh ключей разделения. Если это так во время операции записи с коэффициентом репликации 3, данные записываются в общей сложности 3 узлами.

1-й в узле, который подпадает под значение ключа ha sh. А следующие две реплики записаны в разных стойках одного и того же ЦОД. Будет ли этот второй узел иметь тот же индекс значения ha sh или они будут отличаться.

Если он отличается, не будут ли данные записываться в другом индексе значения ha sh?

Просьба дать некоторые разъяснения по этому ..

Ответы [ 2 ]

1 голос
/ 29 февраля 2020

Все копии будут иметь одинаковое значение ha sh. Кассандра будет использовать эти значения ha sh для вычисления двоичных деревьев ha sh, называемых деревьями Меркле, которые используются исправлением для выявления несоответствий в версиях записей.

Если вы интересно, есть объяснение этому процессу здесь .

0 голосов
/ 01 марта 2020

Пространство клавиш, созданное с несколькими D C, обычно имеет следующую структуру:

CREATE KEYSPACE cycling
  WITH REPLICATION = { 
   'class' : 'NetworkTopologyStrategy',
   'datacenter1' : 3,
   'datacenter2' : 2 
  } 
AND DURABLE_WRITES = true ;

Обратите внимание, что в центре данных 1 будет 3 реплики строки и 2 в центре данных 2. Когда данные записываются в Cassandra, каждый D C будет соответствовать коэффициенту репликации, как определено в определении пространства ключей.

  1. Операция записи для строки будет выполнена на ответственном узле для токена для данного ключа раздела. Реплики для этой строки будут записаны в два последующих узла в кластере по часовой стрелке в лучшем случае.

  2. Такая же последовательность выполняется в другом D C, datacenter2 в этом примере, но только с двумя скопированными строками

Будет ли этот 2-й узел иметь такой же индекс значения ha sh или они будут отличаться?

Назначение разделов узлам выполняется на основе токенов, сгенерированных разделителями и Murmur3Partitioner по умолчанию.

...