【问题标题】:When does Cassandra acknowledgement the write?Cassandra 何时确认写入?
【发布时间】:2021-01-09 16:24:34
【问题描述】:

Cassandra 是否在写入提交日志后立即确认写入?还是等待写入也写入 memtable 以便向客户端发送成功?

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    将数据写入 commitlogmemtable 即表示写入成功。 同样对于 rf > 1 的多节点集群,这取决于您为写入设置的一致性级别。

    【讨论】:

      【解决方案2】:

      DSE Architecture guide:

      写入一致性级别决定了必须有多少副本节点响应成功确认才能将写入视为成功。 成功意味着数据已写入提交日志和内存表

      这是有道理的,因为可能无法将数据写入 memtable,例如,如果所有 memtable 仍在刷新,并且没有剩余空间可用于新的写入 - 在这种情况下,Cassandra 将返回错误.如果机器断电或进程崩溃,写入提交日志只会降低您丢失数据的机会。

      【讨论】:

        猜你喜欢
        • 2017-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-29
        • 2015-04-14
        • 2020-09-25
        • 2017-06-03
        • 2019-11-12
        相关资源
        最近更新 更多