Насколько масштабируемы автоматические вторичные индексы в Cassandra 0.7? - PullRequest
8 голосов
/ 21 февраля 2011

Насколько я понимаю, автоматические вторичные индексы генерируются для локальных данных узла.

В этом случае запрос по вторичному индексу включает все узлы, хранящие часть семейства столбцов, чтобы получить результаты (?), Поэтому (если я прав), если данные распределены по 50 узлам, тогда 50 узлов участвуют в одном запросе?

Как далеко это масштаб? Является ли это более масштабируемым, чем ручные вторичные индексы (семейство столбцов с инвертированным индексом)? Несколько узлов или сто узлов?

Ответы [ 2 ]

4 голосов
/ 23 февраля 2011
1 голос
/ 06 сентября 2011

Да, если вам нужно извлечь все проиндексированные строки, тогда запросы индекса охватывают все узлы.Но это на самом деле более эффективно, чем создание собственного индекса! Подробности здесь.

Однако, если вы просматриваете только несколько строк, и каждая запись индекса отображается на очень много строк, то, вероятно, самый первый узел сможет ответить на ваш вопрос.Ваш запрос будет включать только один узел.Из списка рассылки Apache:

Первый узел может ответить на вопрос, если вы запросили меньше строк, чем имеется на первом узле.Отсюда и «низкое количество элементов» в том, что вы цитировали.

(Джонатан Эллис, здесь .)

(я также разместил вопрос в рассылкеlist, дополнительный вопрос к вашему вопросу, инквизитор , потому что я не совсем понял ответ на ваш вопрос (ссылка на него есть в ответе Шильдмейера). *

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