java - Cassandra 的读取性能在复制过程中几乎保持不变

标签 java cassandra cassandra-2.0

我正在对 8 个节点的 cassandra 进行压力测试,尽管我增加了复制因子,但读取性能几乎是恒定的。我向集群插入了 1000000 个对象,恰好有 2 个对象会被多次读取,因此这 2 个对象变得非常流行。其他的统一随机访问。因为我只读取对象(初始插入后不写入),所以我期望增加复制因子时读取性能会提高。相反,它几乎保持不变。您能帮忙找出这种行为吗?

最佳答案

增加复制因子不会提高读取性能。复制因子提供了数据可用性的概念。这意味着,如果相应的节点出现故障,则将从复制节点检索数据。因此,无论您的复制因子是什么,查询时间都将相同。

引用http://www.datastax.com/documentation/cassandra/1.2/cassandra/architecture/architectureClientRequestsRead_c.html

您可以了解 cassandra 读取的工作原理。如果您想提高读取性能,那么您的数据建模应该处于良好的状态。这意味着您的列族架构和查询应该支持良好的读取性能。如果没有您的列族架构和查询,就很难进一步解释(我同意@kdgregory 评论)。对于数据建模,请参阅 http://www.datastax.com/documentation/cql/3.0/cql/ddl/ddl_anatomy_table_c.html

关于java - Cassandra 的读取性能在复制过程中几乎保持不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27367500/

相关文章:

java - 如何将键盘快捷键添加到我们网络应用程序中的 GWT 按钮?

cassandra - 主键相关的CQL3查询排序时的情况和错误

java - 代码约定规则放在哪里?

java - Android TextView : onClick after Moving TextView

database - 在我的场景中,Cassandra (CQL) 架构/表看起来与 RDBMS 相同

Cassandra 错误处理

database - 如何使用 CQL 在 Cassandra 中切换 Keyspace?

java - cassandra中varchar/文本的最大长度

java - 服务器上的只读 SQLite

cassandra - 在 Cassandra 列中存储 JSON 字符串的有效方法?