mapreduce - 如何评价Cassandra的性能?

标签 mapreduce cassandra cassandra-2.0 query-performance

我是 Cassandra 的新手。我对Cassandra数据库进行了一些研究和测试,我得到了一些问题:

  1. 鉴于 Cassandra 鼓励数据的非规范化和重复,当多个列族中存在的数据仅从其中一个列族更新时,如何保证数据一致性?

  2. 表中的列数会影响查询性能吗?

  3. 查询返回的记录数越多,性能是否越差?

  4. 什么情况下在 Cassandra 中使用 MapReduce 有用?

最佳答案

Given that Cassandra encourage denormalization and duplication of
data, when data that are present in multiple column families are
updated from just one of the column families how data consistency is guaranteed?

这就是原因BATCH是在 Cassandra 中引入的。即使使用 BATCH,您仍然处于分布式系统中,并且在对数据进行建模时需要进行这样的思考。既然你没有具体的问题,我们将继续从理论上讨论。

The number of columns in a table affects query performance?

与其说是列数,不如说是每个分区的大小。分区越大,Cassandra 的某些内部机制(例如压缩)就越难以发挥作用。如果您不熟悉数据在磁盘上的存储方式,我建议您查看 THIS教程。

It's true that the greater the number of records returned by a query, its performance is worse?

这是物理学。更多数据 = 更多 IO、带宽、GC 收集 ETC 的对象。鉴于 Cassandra 是作为事务性数据存储构建的,它不是为极大的数据返回/全表扫描而构建的(很少有真正的分布式系统)。上面链接的教程很好地解释了。

What kind of circumstances is useful to use mapreduce in Cassandra?

如果您有兴趣在 Cassandra 上运行分析,我建议您选择使用 Spark,因为在商业和开源级别优化 Spark 和 Cassandra 的关系方面已经做了很多工作。当您熟悉 Cassandra 的工作方式时,我建议您查看 THIS如果您有兴趣在 Cassandra 上进行任何类型的分析,请参阅教程。它涉及商业产品,但概念/教程也适用于开源。

关于mapreduce - 如何评价Cassandra的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34206482/

相关文章:

couchdb - 使用 CouchDb map/reduce 更快地获取不同数组组件的最小值和最大值?

Cassandra:对于单节点集群,键空间复制因子 >1 会增加磁盘空间使用吗?

hadoop - Pig 过滤器因意外数据而失败

cassandra - 如何降级 Cassandra 3.0.0 -> 2.x?

java - Servlet 执行 Hadoop MapReduce 作业并显示结果

Hadoop、Mapreduce - 无法获取 locatedblock 的 block 长度

mongodb - 计算日期在日期范围内的记录数?

cassandra - 比较 : Aerospike vs Cassandra

cassandra - token 感知 Astyanax 连接池在节点上连接而不在节点上分配连接

cql3 - cassandra 中列的默认排序顺序?