复合主键Vs cassandra中的普通单主键

时间:2014-09-20 11:55:10

标签: solr cassandra hive datastax-enterprise datastax

我正在使用DSE4.5,我有一个带有5个复合主键(行键)和10个列的cassandra表。 阅读时我会使用solr和hive。

如果我使用所有五个复合键的组合创建具有单列rowkey的相同表并将其用作主键,那么我观察读取(来自solr和hive)并且写入(在cassandra上)性能将增加读取i的cos我在每列上通过solr创建索引。

当我在复合主键表中通过复制命令插入1000万条记录时,花了20分钟 与单列行键一样,花了4分钟。(这个时差是由于聚类键)? Ans也从hive中读到了响应时间的巨大差异。

=============================================== ===================================== 我当前的表结构如下:复合主键(年份,季度,月份,用户ID,日期时间)和其他10个列。我的读取查询将过滤用户ID和日期时间或按年份和用户ID(实际上它不是固定的)由solr和hive 。因此,在这种情况下,分区列是年份和其他方法我连接所有5列并在单独的列中使其成为单个主键。通过这样做,我获得了良好的插入性能以及从solr和hive的良好读取。

通过对每行完成此分区。

现在我的问题是:这是一个好习惯吗?

由于我的阅读请求未得到修复,可能是从分区键开始过滤,也可能不是   1.这些cassandra表中的数据分区是否会影响solr索引,或者如果我使用single(串联5列)列并通过solr创建索引对我来说更好?

  1. 如果我在表中有数十亿行,那么代表每行完成分区(因为分区键是唯一的)然后它会产生任何问题吗?
  2. 如果我们只讨论插入,这两种方法(复合键和单列主键)之间的性能是否存在差异?

    具有两个数据中心的节点数量 1,DC 1 solr,1cassandra 2,DC 1 solr,1cassandra,1 hadoop

    RF-3

    请建议.. 感谢

0 个答案:

没有答案