我在Cassandra中创建帐户数据。最常根据帐户ID查询帐户。但是,通常会通过登录名来查询帐户。我创建了一个包含主键的用户表(account_id和login_name)。因此,我必须"允许过滤"在表上按login_name查询。
有没有更好的方法来创建没有可过滤表影响的表?
答案 0 :(得分:3)
一种可能的方法是定义一个新表,该表在主键中具有完全相同的元素,但顺序相反:(login_name, account_id)
。您仍然可以将您提供的表保留为参考表,该表存储所有相关的帐户数据,但是这个新表将允许您基于login_name
进行更优化的查询。我不确定与查询相比你会获得多少奖励"允许过滤" ...但是这种"数据重复"查询优化是NoSQL DB中的常规过程。
HTH。