基于日志归档主备同步,同步时间延时2分钟

【 使用环境 】生产环境
【 使用版本 】4.2.0_CE
【问题描述】
以基于日志归档的方式进行主备数据同步:

  1. obA设备开启日志归档模式,归档目的端为本地路径:/home/archive
  2. obA使用rsync程序将/home/archive文件内容同步到obB上
  3. obB创建备租户进行数据同步
    ALTER SYSTEM RESTORE standbymysql FROM ‘file:///home/archive,file:///home/databackup’ WITH ‘pool_list=xxpool’;
  4. watch程序监听/home/archive的修改,此时修改obA的一条数据,在obB备租户上展示修改超过1分钟

【问题】

  1. 修改的数据在日志归档架构的哪个文件??如何确认修改的记录有被日志归档记录到?
    (从而确认是rsync数据同步延迟 还是 日志归档的速度延迟导致?)
    OceanBase分布式数据库-海量数据 笔笔算数
  2. 如何调整参数加快obA日志归档速度或obB的数据同步速度?

【PS】:

  1. 调整并发度,时间一样超过1分钟被租户才同步到
    ALTER SYSTEM SET log_archive_concurrency = 100
1 个赞

收到,该问题我需要联系相关同学确认下,稍等。

记录租户数据变化的是这个/home/admin/back/piece_d1001r1p1/logstream_1001/log/下的 .obarc 文件,并非是只有业务数据的变化。

日志归档备份默认120s提交一次,控制参数 archive_lag_target。

因此你遇到2分钟数据才同步是因为这个参数提交频率,但是调低频率 是能增加你的同步频率但不一定是有业务数据变更,也可能是其他系统视图数据变化。这个需要注意下。

谢谢

如果是基于网络的主备同步,其同步的数据也和日志归档一样,包含其他系统视图数据变化+业务数据变更吗?

是的,不过网络主备同步是实时的。

主备通过物理备份日志归档方式,log_archive_concurrency可以加快主机日志归档的速度;那么假设在介质上日志归档已经同步了,备机如何快速的将日志归档redo到备库上??达到备库更快的处理数据同步。

可以试试 调大恢复性能参数ha_high_thread_score
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218386#10-title-ACTIVATE%20STANDBY%20命令相关