【问题标题】:Verifying data consistency between data centers in cassandra在 cassandra 中验证数据中心之间的数据一致性
【发布时间】:2017-08-03 12:19:15
【问题描述】:

我维护一个带有 2 个数据中心的 cassandra 集群。现在我要在现有集群中添加新的数据中心。重建数据后,如何验证新数据中心数据的一致性?

【问题讨论】:

  • 你这是什么意思?好像数据被正确复制了?
  • 如何确保旧 DC 中的数据在新 DC 中完全复制?

标签: cassandra distributed-system data-consistency nosql


【解决方案1】:

使用来自每个 DC 的 LOCAL_QUORUM 读取并进行比较是最直接的。

修复从压缩任务中的 sstables 构建分区哈希,并比较它们的范围,这比单独读取数据更有效。您可以从代码中提取该部分来构建一个工具来做同样的事情......或者如果您可以运行(完全而不是增量)修复。它记录它发现的差异。

【讨论】:

  • 两个建议都很有趣,我猜第一个取决于数据集的大小,第二个听起来像是一个有趣的项目
  • 运行完全修复将是 IO 密集型任务。还有其他建议吗?我听说我们可以运行 spark 工作来做到这一点。有什么想法吗?
  • spark 作业也会读取所有数据。不同之处在于,在读取所有数据后,修复作业只会发送要比较的数据的 merkle 树(哈希),而 spark 会将所有数据流式传输过来进行比较。但是,如果您想了解细节,可以在 local_quorum 阅读 spark 作业或脚本,了解更多详细信息。
猜你喜欢
  • 2013-05-09
  • 1970-01-01
  • 2018-01-07
  • 2018-09-01
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
  • 2020-03-28
  • 2016-02-16
相关资源
最近更新 更多