2017-09-26 89 views
0

我有一個列字段,其中包含字段userid,名稱,性別,電子郵件,狀態。在userid中,電子郵件是主鍵。如何索引cassandra中經常更新的字段

我已經創建了tinyint類型的二級索引。

CREATE CUSTOM INDEX users_status_idx ON custom.users (status) USING 'org.apache.cassandra.index.sasi.SASIIndex'; 

狀態值不斷更新(每日2000萬條記錄)。

啓動程序時,需要0秒從數據庫中檢索數據。隨着時間的增加,檢索數據的時間增加。

什麼是索引這種類型的字段(狀態)的最佳方式是什麼?

+0

Is * crore * 10M? – xmas79

回答

1

也許,最好的辦法就是通過增加兩個(或更多,這取決於國家的,你有多少)一個表,對各狀態你通常查詢非規範化的數據,並四處走動的用戶,這些表之間。如果每天更改狀態的用戶數量非常多,則需要特別注意桌面設計,例如聰明的分區鍵,以避免墓碑問題。

+0

另外我想補充一點,對於大量的數據,您應該考慮未來的模式更改,導致完整的索引重建(如果更改它,會發生這種情況)會對生產造成很大的影響。你也可以使用自定義索引,如基於lucene的stratio(https://github.com/Stratio/cassandra-lucene-index) –