OB集群副本强同步的原理是什么?

OB集群副本强同步的原理是什么?

1 个赞

@论坛小助手 帮帮我

OceanBase 集群副本强同步的原理基于 Multi-Paxos 分布式一致性协议。这种协议确保数据在主副本故障时能够无损恢复,即在数据更新时,不仅会在主副本上写入数据,还会同步到多个从副本。一旦主副本发生故障,可以从副本中选举新的主副本继续提供服务,而不会丢失任何数据。事务日志会被持久化并同步到多数派副本,基于 Paxos 协议确保日志数据在多数派副本中持久化成功。

检索到的文档如下:

  1. 多副本一致性协议
  2. OceanBase 数据库概述
1 个赞
  1. 副本架构与Paxos协议
    OceanBase采用Multi-Paxos分布式一致性协议来保证副本间的强一致性:
    日志流副本:同一日志流的数据会被拷贝到多个机器上,这些拷贝称为副本(Replica)
    Paxos组:每个日志流及其副本构成一个独立的Paxos组
    角色分配:每个Paxos组中有一个主副本(Leader)和多个从副本(Follower)

  2. 强同步机制
    日志同步流程
    REDO日志复制:通过复制事务REDO日志的方式实现数据同步
    多数派确认:必须保证多数派副本同步成功才能提交事务
    实时同步:不会出现类似MySQL主从复制中的异步延时问题

  3. 读写一致性保证
    主副本(Leader)
    具备强一致性读和写能力
    所有写操作必须通过主副本来执行
    默认情况下读写操作都在主副本上保证强一致
    从副本(Follower)
    具备弱一致性读能力
    允许读取稍旧版本的数据
    不参与强一致性写操作

  4. 高可用保障
    故障恢复:主副本故障时,能保证从副本的数据无损恢复
    容错能力:在少数派副本故障的情况下依然能够提供无损的数据库服务
    数据安全:通过分区复制、日志同步等方式防止数据丢失

  5. 副本类型
    OceanBase支持多种副本类型:
    全功能型副本:参与Paxos组,具备完整功能
    日志型副本:主要用于日志同步
    只读型副本:非Paxos副本,不参与选举投票

1 个赞

日志流吧

1 个赞

AI真是强大

1 个赞