Нужна схема Кассандры - PullRequest
       30

Нужна схема Кассандры

0 голосов
/ 11 апреля 2011

HI Просто начал исследовать Кассандру и немного запутался. Не могли бы вы предложить схему для следующего:

Схема: email, city, items1[], items2[]

Ввод: cityId, item1, item2

Мне нужно:

select email 

where city=cityId 

and item1 is NOT in items1[] 

and item2 is NOT in items2[]

Возможно ли это?

1 Ответ

2 голосов
/ 14 апреля 2011

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

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

См. http://www.datastax.com/dev/blog/whats-new-cassandra-07-secondary-indexes для более подробной информации.

Cassandra не предоставляет отрицаниетак что ваши условия «НЕ в элементах 1 []», возможно, должны проверяться клиентом, а не узлами Cassandra.Сколько возможных значений есть для ваших items1 и items2 (всего несколько или тысячи?).

Возможно, вам потребуется настроить семейство столбцов исключительно для ответа на этот конкретный тип запроса, то есть таблицу поискас каким-то составным ключом на основе item1 и item2.Тем не менее, это может быть сложно поддерживать на стороне сервера, если есть много потенциальных значений item1 и item2, и дорого получать данные на стороне клиента!

...