Как DSE распространяет данные? - PullRequest
0 голосов
/ 07 апреля 2019

Мы используем DSE с Cassandra + Solr.

Я не уверен, как это распространяет данные, скажем, у нас есть 6 узлов, коэффициент репликации 3.

Наша платформа использует все 6 узлов для запроса данных, я запрашиваю один узел из 6, есть вероятность, что данные будут отсутствовать?

Или мне нужно иметь тот же коэффициент репликации, что и количество узлов, которые у меня есть, если я хочу использовать все узлы платформы.

Как это работает?

Ответы [ 2 ]

0 голосов
/ 07 апреля 2019

В Кассандре каждый узел хранит некоторые части данных.При создании кластера каждый узел будет отвечать за определенную часть данных.Это определяется на основе значения токена, назначенного этому узлу.Теперь, когда вы вставляете или выбираете данные, каждая вставка или выбор будет иметь ключ раздела.На основе этого ключа раздела вычисляется хеш-значение, и данные отправляются на узел, который отвечает за это конкретное значение токена.

Если имеется 6 узлов и RF = 3, то в кластере у вас есть 3 копиицелые данные.Первичная копия хранится на основе вышеуказанной концепции.Реплики будут храниться в зависимости от класса репликации, который вы указали при создании пространства ключей.Если вы берете SimpleStrategy, он сохраняет реплику на следующем узле по часовой стрелке, то есть реплика узла 1 будет храниться на узле 2 и узле 3, а реплика узла 2 будет храниться на узле 3 и узле 4 и т. Д.

Если вы запрашиваете узатем на одном узле на основе ключа раздела запрос будет отправлен конкретному узлу, который отвечает за ключи этого раздела.Чтобы узнать, на какой узел будет отправлен ваш запрос, вы можете использовать утилиту nodetool.

nodetool getendpoints <keyspace> <table> <key> 

Это даст вам Ip узла, куда будет отправлен запрос для получения результата

0 голосов
/ 07 апреля 2019

Если у вас 6 узлов и RF 3, это означает, что в вашем кластере кассандры существует 3 копии данных.Доступность данных также зависит от уровня согласованности.если вы используете ОДНУ согласованность и 2 узла вниз, то также получите данные без потерь, но если согласованность ДВА, QOURAM, ТРИ или ВСЕ, сценарий будет другим.

...