【问题标题】:CQL query with QUORUM consistency returning large result set具有 QUORUM 一致性的 CQL 查询返回大型结果集
【发布时间】:2015-09-15 09:25:54
【问题描述】:

我们有一个返回大约 8000 行的 CQL 查询。由于未满足 QUORUM 一致性,我们偶尔会看到查询超时。在做了一些调查之后,我们怀疑这是因为一个或多个行在不断变化,所以 Cassandra 无法在给定的 10 秒(rpc 超时)内获得某些行的 QUORUM 一致性。我想联系 Cassandra 开发社区,询问是否有人成功地对返回大型结果集而行不断变化的查询使用 QUORUM 一致性,还是我们只使用 ONE 的一致性?

感谢任何输入。

【问题讨论】:

  • 您使用什么客户端来查询这些行?
  • Datastax Java 客户端 2.1.6

标签: cassandra cql


【解决方案1】:

行发生变化的事实似乎不是这里的问题。 获得法定人数并不意味着从法定人数中获取最新数据,而只是从法定人数中获得答案。如果数据在仲裁中不匹配,时间戳将决定哪些数据“获胜”并返回。

使用适当的数据模型对 8000 行进行仲裁应该没有问题(您可以提取数十万行并保持仲裁一致性,甚至更多)。

尝试设置一个相当小的页面大小(100 条记录),并将您的查询拆分为每个分区一个异步查询。 还要检查您的节点是否在超时时没有过载。

如果您想进一步了解需要改进的地方以及您如何访问数据(哪种语言、驱动程序等),请向我们提供您的表模型和查询。

【讨论】:

    猜你喜欢
    • 2013-04-07
    • 1970-01-01
    • 2017-10-11
    • 2020-02-04
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    • 2017-08-11
    • 2014-09-21
    相关资源
    最近更新 更多