2016-02-25 1 views
0

У меня есть таблица SQL со следующей структурой -Cassandra 12:59 отношения

Ticket_info

ticket_num int 
region  text 
division text 
error_count text 
PRIMAR KEY (ticket_num,region) 

Как дб билет может вырасти большой, мы планируем хранить в Кассандре.

Единственная проблема заключается в том, что пользователь может запросить любое из полей, показанных выше.

Я планирую денормализовать данные как таковые -

Ticket_info_region

ticket_num int 
region  text 
PRIMAR KEY (ticket_num,region) 

Ticket_info_division

ticket_num int 
division  text 
PRIMAR KEY (ticket_num,division) 

Ticket_info_error_count

ticket_num int 
error_count  text 
PRIMAR KEY (ticket_num,error_count) 

С вышеуказанной структурой я вижу 2 вопроса.

  1. Должен ли я вручную объединять результаты, если пользователь дает несколько условий?

  2. С несколькими таблицами, как я могу поддерживать целостность данных. Например: после того, как я вставляю в таблицу области, если таблица разделения не работает, у меня будут проблемы с целостностью.

ответ

2
  1. Не используйте Кассандру, чтобы запросить все таблицы вместе. Если такое условие необходимо, используйте cassandra, интегрированную с solr/elasticsearch. В Datastax имеется реализация solr.

  2. Использование Batch updates для атомных обновлений. Это гарантирует, что все ваши обновления будут выполнены, а в случае сбоя ничего не будет обновлено.

+0

Спасибо .. Есть бесплатная версия программного обеспечения? – user1050619

Смежные вопросы