如何索引cassandra中经常更新的字段
问题描述:
我有一个列字段,其中包含字段userid,名称,性别,电子邮件,状态。在userid中,电子邮件是主键。如何索引cassandra中经常更新的字段
我已经创建了tinyint类型的二级索引。
CREATE CUSTOM INDEX users_status_idx ON custom.users (status) USING 'org.apache.cassandra.index.sasi.SASIIndex';
状态值不断更新(每日2000万条记录)。
启动程序时,需要0秒从数据库中检索数据。随着时间的增加,检索数据的时间增加。
什么是索引这种类型的字段(状态)的最佳方式是什么?
答
也许,最好的办法就是通过增加两个(或更多,这取决于国家的,你有多少)一个表,对各状态你通常查询非规范化的数据,并四处走动的用户,这些表之间。如果每天更改状态的用户数量非常多,则需要特别注意桌面设计,例如聪明的分区键,以避免墓碑问题。
+0
另外我想补充一点,对于大量的数据,您应该考虑未来的模式更改,导致完整的索引重建(如果更改它,会发生这种情况)会对生产造成很大的影响。你也可以使用自定义索引,如基于lucene的stratio(https://github.com/Stratio/cassandra-lucene-index) –
Is * crore * 10M? – xmas79