Cassandra的二级索引Vs DSE solr索引

时间:2013-09-24 16:36:41

标签: solr cassandra datastax-enterprise secondary-indexes

我想知道Cassandra二级指数与DSE的DSE solr索引的性能差异。

我们有一些CF没有放置二级索引,因为我们认为二级索引会(最终)导致重读/写CF的重大性能问题。我们试图转向Solr以允许搜索这些CF,但看起来像加载索引模式修改CF以在感兴趣的列上具有二级索引。

想知道Solr索引是否与Cassandra的二级索引不同?并且,它最终是否会导致对具有大数据集和大量读/写的CF的查询(插入/读取)速度慢?如果是这样,你会建议自定义索引(我们想避免)吗?顺便说一句 - 我们也在使用(试图使用)Solr进行空间搜索。

感谢您提供的任何建议/链接。


更新:为了更好地理解为什么我问这些问题,看看我是否提出了正确的问题 - 我们的用例说明:

我们正在收集传感器事件 - 很多!我们将它们存储在时间序列CF(EventTL)和瘦CF(事件)中。因为我们在事件CF中大量编写(插入和更新),所以我们不会放置任何二级索引。我们现在的查询仅限于通过事件或通过EventTL事件的时间范围的单个事件(除非我们创建额外的胖CF以允许对事件的其他属性进行范围查询)。

这就是DSE(Solr + Cassandra)可以帮助我们的地方。我们认为利用Solr搜索将允许我们避免创建额外的胖CF以允许搜索事件的其他属性并允许我们一次搜索多个属性(位置+文本/属性)。但是,在为Event by Solr添加索引模式后,查看事件CF的定义是如何更改的,这表明创建了二级索引。这导致了这些索引是否会在Event(最终)中插入/更新行时产生问题的问题。我们要求能够“快速”插入新事件 - 因为事件可能会以每秒1000+的速度传入。

2 个答案:

答案 0 :(得分:2)

  

想知道Solr索引是否与Cassandra的二级索引不同?

DSE Search使用Cassandra二级索引API。

  

并且,它最终会导致对具有大数据集和重量级的CF的慢查询(插入/读取)   读/写?

在超过给定服务器群集的最佳性能阈值之前,Lucene和Solr容量规划是一个好主意。

  

如果是这样,你会建议自定义索引(我们想避免)吗?顺便说一下 - 我们也是   (尝试使用)Solr进行空间搜索。

DSE搜索查询与Apache Solr查询一样快。

答案 1 :(得分:1)

由于您的用例是空间搜索,我不认为Cassandra的二级索引功能对您有用。这里有一篇关于二级索引的相当简明的文章,您可能会发现它很有用:http://www.datastax.com/docs/1.1/ddl/indexes

您应该可以使用Solr执行此操作。

这是一篇应与您相关的帖子:

http://digbigdata.com/geospatial-search-cassandra-datastax-enterprise/