【问题标题】:How to restart scylla db cluster without any data loss如何在不丢失任何数据的情况下重新启动 scylla db 集群
【发布时间】:2021-09-21 11:27:48
【问题描述】:

我想重新启动我的 Scylla 数据库集群。但我不想丢失任何数据。

如果我一个接一个地重启,我会丢失任何数据吗?

【问题讨论】:

    标签: scylla


    【解决方案1】:

    不,如果您进行滚动重启,您不会丢失数据。 Scylla 保持数据在多个节点(通常是 3 个或更多)之间复制

    根据您的复制因子 (RF) 和一致性级别 (CL),您可能会在重新启动期间看到读取或写入操作失败。在此处查看交互式计算https://docs.scylladb.com/getting-started/consistency/#consistency-level-calculator

    【讨论】:

      【解决方案2】:

      如果“重新启动节点”仅涉及重新启动 Scylla 或重新启动运行它的内核,那么您是安全的:Scylla 是一个分布式数据库,旨在支持持久性和可用性,即使节点暂时从网络中消失也是如此.当一个节点暂时关闭时,它的所有数据仍然可供读取(从其他两个副本),并且写入继续正常工作,并最终在它最终出现时复制到关闭节点(使用“提示切换”和/或“修复”机制)。

      但是,如果“重新启动节点”意味着更具破坏性 - 将其替换为具有空存储空间的全新节点,例如在某些节点具有临时存储的云设置中。在这种情况下,您必须更加小心:如果节点的数据丢失,我们还有两个副本,并且数据库继续可用,但是您应该告诉集群将节点丢失的数据“流式传输”回节点 - 在继续对其他节点执行此破坏性重启之前。如果你的RF=3,同时销毁三个节点,肯定会丢失数据。

      【讨论】:

        猜你喜欢
        • 2021-02-11
        • 2023-01-11
        • 1970-01-01
        • 2021-09-03
        • 2012-04-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-25
        相关资源
        最近更新 更多