2016-02-25 45 views
0

我有以下結構的SQL表 -卡桑德拉一對一的關係

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. 不要使用卡桑德拉查詢所有表一起。如果需要這樣的條件,請使用與solr/elasticsearch集成的cassandra。 Datastax提供了一個solr實現。對於原子更新使用Batch updates。這將確保您的所有更新都已執行,如果發生故障,則不會更新任何內容。

+0

謝謝..是否有免費版本的軟件? – user1050619