在cassandra中需要多个索引

时间:2014-01-23 17:43:36

标签: cassandra cql3 datastax cassandra-2.0

我们正在从oracle迁移到cassandra。我们要求对应用程序进行最小的更改。

当我在cassandra上做POC时,出现了三个问题。

  1. 在Oracle中,我们创建了多个复合索引,但是我找不到任何文件说cassandra会支持它。是否可以创建多个复合索引?如果没有任何建议。

  2. 我们的Txn表在where子句中使用了15列中的7列。没有索引我不能把那个列放在where子句中。即使我创建了多个二级索引,在where子句中,Casandra将选择一个具有低基数的列,并且它不会使用我创建的其他二级索引。还有其他改善性能的方法吗?

  3. 在布尔数据类型上创建索引的问题。这就是我们决定创建一个table / columnfamily的方式

  4. 创建表部门( emp_name varchar, emp_id int, dept_id int, dept_name varchar, 活动布尔值, 主键(dept_id,emp_id));

    在应用程序中,我们有如下查询 1. select * from dept where dept_name ='software';      我为dept_name创建了二级索引。所以这个问题就解决了。

    1. 从dept_id = 1001和active ='Y'的dept中选择*;  我觉得很难为这个查询创建索引。由于活动列是布尔类型,因此创建辅助索引无用。如果没有索引,我将无法在where子句中包含该条件。
    2. 对我的疑问有任何建议吗?

0 个答案:

没有答案