我想重新启动我的Scylla数据库集群。但我不想丢失任何数据。
如果一个接一个地重启,是否会丢失任何数据?
发布于 2021-07-12 19:17:39
不,如果您正在执行滚动重启,则不会丢失数据。Scylla将数据复制到多个节点(通常是3个或更多)
根据您的复制因子(RF)和一致性级别(CL),您可能会在重新启动期间看到读或写操作失败。请在此处查看交互式计算https://docs.scylladb.com/getting-started/consistency/#consistency-level-calculator
发布于 2021-07-12 20:41:08
如果“重新启动节点”只涉及重新启动Scylla或重新启动运行它的内核,那么您是安全的: Scylla是一个分布式数据库,即使节点暂时从网络中消失,Scylla也被设计为支持持久性和可用性。当一个节点暂时关闭时,它的所有数据仍然可用于读取(从另外两个副本),并且写入继续正常工作,并且当它最终出现时,最终将被复制到关闭的节点(使用“暗示的切换”和/或“修复”机制)。
然而,如果你所说的“重新启动一个节点”是指更具破坏性的东西--用一个具有空存储的全新节点替换它,就像在一些云设置中节点具有临时存储一样。在这种情况下,您必须更加小心:如果节点的数据丢失,我们还有两个副本,数据库将继续可用,但您应该告诉群集将节点丢失的数据“流式传输”回节点-在继续对其他节点执行破坏性重启之前。如果你有RF=3,同时销毁三个节点,你肯定会丢失数据。
https://stackoverflow.com/questions/68344953
复制相似问题