【 使用环境 】测试环境
【 OB or 其他组件 】 OB
【 使用版本 】
【问题描述】清晰明确描述问题
老师您好,看相关报道oceanbase集中式版本在多个金融机构推广,但是我查看官方文档,主备租户目前只支持异步同步,想了解一下在failover模式下,集中式版本是如何保障数据零丢失的?一直很困惑,感谢
【 使用环境 】测试环境
【 OB or 其他组件 】 OB
【 使用版本 】
【问题描述】清晰明确描述问题
老师您好,看相关报道oceanbase集中式版本在多个金融机构推广,但是我查看官方文档,主备租户目前只支持异步同步,想了解一下在failover模式下,集中式版本是如何保障数据零丢失的?一直很困惑,感谢
您的问题涉及到OceanBase在高可用性部署方案下的数据保护机制。根据您提到的情况,确实存在一定的理解难点,因为通常来说异步复制模式下是很难保证数据的零丢失(RPO=0)。不过,OceanBase通过其特有的技术架构设计和高级特性支持实现了一定条件下的数据零丢失保障。下面将基于OceanBase的设计原理来解答您的疑惑。
OceanBase使用Paxos协议:正如日志流和副本概述 → 分布式一致性协议所述,OceanBase采用Paxos协议在同一日志流各副本间同步事务日志,只有当多数派副本同步成功后才会提交事务。这种做法确保了即使某个节点发生故障,只要大多数副本存活,就能保证数据不会丢失。
默认读写强一致:主副本上的读写操作保持强一致性,这意味着一旦客户端收到写入成功的确认,那么数据已经被持久化到至少一个其他副本中。
综上所述,在特定条件下,通过合理的分布式部署策略、充分利用OceanBase内置的一致性保障机制以及可选的企业级高级特性,即使是采用传统的异步复制模型也能够在实际应用中为用户提供接近于RPO=0的数据安全保障。然而需要注意的是,具体实施细节和效果可能会依据实际应用场景有所不同,建议针对具体的使用案例进一步咨询OceanBase技术支持团队获取最准确的信息。
详情请参考: