Данные суперколонки 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

Другие вопросы по тегам