2015-02-17 1 views
0

Мое понимание рекомендуемого подхода кластеризации Cassandra заключается в обеспечении того, чтобы каждый узел в кластере получал равномерное распределение данных путем хеширования уникального идентификатора документа. Мой вопрос в том, есть ли способ изменить это и определить настраиваемый ключ для «разумного» маршрутизации документа на определенный узел в кластере?Cassandra: контроль того, какой узел получает данные

В моем сценарии у меня есть данные, относящиеся к определенному объекту (думаю, клиент-проект-задача-элемент) По всем моим данным; У меня будет достаточно предметов, требующих горизонтального масштабирования; однако каждый поиск всегда будет относиться к заданной клиент-проектной задаче, для которой набор данных имеет лишь умеренный размер.

Есть ли способ создать этот тип разметки/маршрутизации (разные имена, которые я видел для одной и той же вещи) в Кассандре?

Thanks; Brent

ответ

0

Подход кластеризации в Кассандре предназначен не только для равного распределения данных. Это также гарантирует, что все операции чтения/записи распределены по кластеру для ускорения этих операций. В дополнение к этому, скорее всего, у вас будет коэффициент репликации более 1, чтобы обеспечить избыточность данных, чтобы сбой узла не привел к потере данных.

Вернемся к вашему вопросу и вашему собственному ответу. Если вы используете один и тот же ключ раздела для данных, это гарантирует, что раздел Cassandra будет хранить основную копию данных на одном и том же узле, и даже больше, он сохранит их в том же разделе («широкая строка» в старой способ именования).