Данные суперколонки cassandra из одного раздела или нескольких?
Предположим, у меня есть семья суперколонок. Также предположим, что у меня есть несколько разделов, работающих на разных машинах. Мои данные семейства суперколонок выглядят следующим образом (для одной строки)
RowKey: 4818d991-9df5-4899-aa07-461f4ed19996
=> (super_column=4dddb83e-4096-428d-8d1b-8b0235ae772f,
(column=1322847333862, value=, timestamp=1322847333863001)
(column=1322847637237, value=, timestamp=1322847637237000)
(column=1322847837206, value=, timestamp=1322847837206001)
(column=1322848197819, value=, timestamp=1322848197819000))
Теперь мне интересно, если я сделаю запрос к семейству суперколонок для возврата данных / подколонок для {row, super_column}, будут ли все значения этих подколонок возвращаться с одного компьютера или с другого компьютера? В основном это вопрос - происходит ли разбиение на уровне строки, уровня super_column или уровня столбца? А также, даже если только что вернулись с одного компьютера, будет ли порядок всех подколонок возвращаться как есть, как показано выше?
1 ответ
Разбиение выполняется на уровне строк, то есть вся строка хранится на одном компьютере (возможно, с копиями на других машинах, в зависимости от коэффициента репликации).
Подколонки хранятся в отсортированном порядке в соответствии с именами столбцов - супер столбец может указывать компаратор как для имени супер столбца, так и для имен вложенных столбцов. См. http://www.datastax.com/docs/0.8/ddl/column_family