Cassandra Partitioning: столкновения при разделении ключа в таблице - PullRequest
0 голосов
/ 19 октября 2018

Мы знаем, что узлы в Кассандре содержат токены.Таким образом, в кластере из 4 узлов, скажем, узел 1 равен 25, узел 2 равен 50, узел 3 равен 75 и узел 4 равен 100. Это также означает, что узел 1 отвечает за диапазон 0-25.Теперь это означает, что если какой-либо хэш ключа разделения дает значение токена, скажем, 3, то эта запись с этим ключом разделения отправляется на узел 1.Таким образом, токены в основном определяют локальность данных.Теперь в таблице T1, где у вас есть первичный ключ ((COL1), COL2) с ключом раздела COL1 плюс столбцы кластеризации COL2, есть ли вероятность, что могут быть две записи с разными значениями ключа раздела (примечание: столбец ключа разделатот же COL1, но значение отличается для двух записей (например, v1 и v2), но при хешировании они приводят к одному и тому же токену и, следовательно, к одному и тому же узлу, но к двум разным разделам?Вкратце, могут ли два значения ключа секционирования v1 и v2 (разумеется, из двух записей) ключа секционирования COL1 в таблице T1 иметь одинаковое значение хэш-функции, то есть токен (и, следовательно, очевидно, один и тот же узел, но два разных раздела)?И наоборот, можно ли получить 1 токен из двух разных значений одного и того же столбца ключа раздела?Если да, то можем ли мы сделать вывод, что соотношение между значением ключа раздела и токеном равно n: 1, а соотношение между узлом: токеном - 1: n?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...