【问题标题】:Cassandra write performance regarding consistency level关于一致性级别的 Cassandra 写入性能
【发布时间】:2014-03-14 02:06:27
【问题描述】:

这是 cassandra 文档中关于写入的引用 (LINK)

如果受影响行键的所有副本都关闭,它仍然是 如果使用写一致性级别 任何。在这种情况下,提示和写入的数据存储在 协调节点,但在提示之前无法读取 被写入拥有该行的实际副本。任何 一致性级别提供绝对的写入可用性,但代价是 一致性,因为无法保证写入的数据何时会被写入 可用于读取(取决于副本关闭的时间)。 使用 ANY 一致性级别也可能增加 集群,因为协调节点必须临时存储额外的行 每当副本无法接受写入时。

我的问题是:如果我们使用一致性级别 ANY 写入 cassandra 是否比使用一致性级别 ONE 时写入要慢?

【问题讨论】:

    标签: nosql cassandra


    【解决方案1】:

    当适当的副本节点在写入时不可访问时,会生成提示。然后在请求协调器节点上本地序列化写入请求。一旦一个有效的副本节点变得可用并且协调节点知道它,请求就会被传递给新的可用副本。

    在此背景下,需要考虑两种写入时场景:

    1) 受影响的行至少有一个副本。在这种情况下,ANYONE 的一致性级别没有区别。写入只是转到副本,并且不会触发提示切换。 没有性能差异

    2) 受影响行的所有副本都已关闭。这是提示进入图片的地方。对于一致性ANY,在请求时需要在协调节点上完成额外的工作,因为提示会写入本地系统表以供以后重播。使用一致性ONE,您只会在相同情况下获得拒绝写入。 ONE 会将写入失败暴露给客户端,并且会比ANY 更快

    基本上,权衡是拒绝请求与将工作推送到剩余节点,但仅当负责存储该行的节点关闭时

    【讨论】:

    • 就是这样,谢谢...我不确定这些提示是一直发生还是仅以防万一...有道理:)
    猜你喜欢
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    • 2018-06-13
    • 2015-10-09
    • 2017-01-09
    • 2018-07-26
    • 1970-01-01
    相关资源
    最近更新 更多