OceanBase主备库搭建,备库数据翻倍

文章讨论了OceanBase中备集群数据量增大问题,当max_kept_major_version_number设置为1时,大分区恢复可能导致磁盘使用率不均。提出了两种解决方案:关闭自动rebalance并手动迁移分区,或调整max_kept_major_version_number减小majorsstable大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ob创建备集群后,备集群磁盘数据量是主库两倍了?
主备库数据冻结版本参数max_kept_major_version_number默认都是2,设置备集群数据冻结版本参数为1时,主备集群数据盘一致
OceanBase的主备库的同步流程是这样,先复制分区到备库,然后restore分区的sstable数据,然后再追归档。本来restore就会有一定的宏块放大问题,分区restore完成这个分区才能参与rebalance,如果没有特别大的分区的时候,能很好很快的负载均衡,如果有特别大的分区的时候,如果其他数据都恢复完成或者大部分分区都恢复完成时这时候备集群的同个zone内的各个server磁盘使用率应该是比较平均的,这个大分区retore之前rs不知道这个分区多大,就会造成restore这个分区的时候把磁盘打爆,所以该文章主要简单写了两个办法,一种是关闭自动rebalance,手动迁移一些分区给这个分区腾出空间,一种是修改max_kept_major_version_number使表的major sstable变小。

### OceanBase 数据配置与同步机制 OceanBase 数据通过多副本架构实现高可用性和数据一致性,其配置和同步机制基于 Paxos 协议来保障数据的安全性与可靠性。以下是关于 OceanBase 配置、同步机制以及部署方案的具体说明: #### 1. 多副本架构 OceanBase 使用分布式架构设计,在集群中每个分区组(Partition Group, PG)都会维护多个副本,通常至少有三个副本。这些副本分布在不同的服务器上,形成一个 Paxos 组合[^2]。 #### 2. 同步机制 OceanBase同步机制依赖于 Paxos 协议,该协议确保在分布式环境中达成一致共识。具体来说: - 当客户端发起写请求时,事务会被提交到 Leader 副本。 - Leader 将操作日志广播给 Follower 副本,并等待多数派确认后才返回成功响应。 - 这种方式被称为 **强同步复制**,能够有效防止单点故障并提供较高的数据安全性。 #### 3. 配置 为了进一步提升系统的可靠性和容灾能力,OceanBase 支持跨地域的数据中心级份解决方案——即异地多活或多数据中心部署模式。在这种场景下: - 不同地区的机房之间可以通过异步或半同步的方式进行增量数据传输; - 如果源端发生灾难,则目标站点可以快速接管业务流量而无需长时间恢复过程[^4]。 #### 4. 部署方案 对于生产环境中的大规模应用需求而言,推荐采用三地五中心甚至更多数量节点组成的复杂拓扑结构来进行全方位防护。例如,“两地三中心”的典型布局如下所示: - 在同城设立两个高性能计算资源池作为要工作单元; - 另外在一个较远距离的城市建立第三个低延迟互联线路连接起来的小规模冗余保护单位[^1]。 ```bash # 示例命令:创建租户时指定zone信息以支持多地部署 obclient -h$HOST -u$USER -p$PASSWORD \ -e "CREATE RESOURCE UNIT ru_test MIN_CPU 1 MAX_CPU 2 MEMORY_SIZE '2G'; CREATE TENANT t_test ZONE_LIST=('zone1','zone2','zone3') PRIMARY_ZONE='RANDOM' RESOURCE_UNIT=ru_test;" ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值