cassandra - Cassandra 中的默认一致性级别和仲裁设置以及调整它们的最佳实践是什么
问题描述
我刚开始学习 Cassandra,想知道是否有默认的一致性级别和仲裁设置。在我看来,有很多参数(如复制器数、仲裁数)可以调整以平衡一致性与性能,这些设置是否有最佳实践?默认设置是什么?
非常感谢。
解决方案
cassandra 中的默认 READ 和 WRITE 一致性为 ONE。
可以为每个查询指定一致性。CONSISTENCY
可以从 cqlsh 使用命令来检查当前一致性值或设置新的一致性值。
复制因子是所需数据的副本数。
决定一致性取决于诸如是写入繁重的工作负载还是读取繁重的工作负载,一次可以处理多少个节点故障等因素。
理想情况下,LOCAL_QUORUM READ & WRITE 将为您提供强大的一致性。
quorum = (sum_of_replication_factors / 2) + 1
例如,使用 3 的复制因子,仲裁为 2 个节点 ((3 / 2) + 1 = 2)。集群可以容忍一个副本down。与QUORUM类似,LOCAL_QUORUM级别是根据与协调节点相同的数据中心的复制因子计算的。即使集群有多个数据中心,quorum 也仅使用本地副本节点计算。
推荐阅读
- entity-framework - 如果参数可能为空,则从 sql 选择中获取值
- fonts - Pygame 表面调整大小
- java - AsynchronousSocketChannel 如何保持读取?
- image - 枕头:将 TIFF 从灰度 16 位转换为 8 位会产生全白图像
- sql - 需要指导在数据库中创建父子关系
- regex - 如何在 PowerShell 中使用正则表达式替换
- typescript - 如何判断 rxjs 主题的观察者是否已完成事件处理?
- c++ - 如何强制谷歌基准运行多次迭代?
- javascript - 不断出错 - 尝试播放音频时 - 为什么?
- arrays - 检查子数组是否为山形