【发布时间】:2016-05-24 12:43:29
【问题描述】:
我有一个要求,对 C* 表中相对较大的分区进行实时过滤和排序 ~ 2-30 亿行,每行有一百多列。应该可以对列的任何组合进行过滤和排序。我们尝试了 Apache Solr (DataStax Enterprise 4.8) 来完成这项工作,但遇到了下一个问题:
- Solr 索引在频繁和批量数据更新的情况下会失效
- 有时 Solr 只是不重建索引(等待数小时)
- Solr 只能读取 CL=ONE,因此数据可能不一致
所以现在我们寻找另一种方法。我们现在正在尝试 Apache Spark 1.4。但看起来排序性能并不令人满意 - 2 bln 行大约需要 1.5 分钟(我们的目标约为 1-2 秒)。可能是因为我们在 Spark 学习的一开始就做错了什么。此外,我了解更多的处理器内核和内存可能会更好的性能。
今天我读到了关于内存索引的 Apache Inginte。对于我们的案例来说,它可能是更好的工具吗?
所以现在我只是在寻找执行此类工作的工具的建议。
谢谢。
p.s.:DataStax Enterprise 4.8、Apache Cassandra 2.1.9.791、Apache Solr 4.10.3.1.172、Apache Spark 1.4.1.1。
【问题讨论】:
标签: java apache-spark solr cassandra ignite