关于数据库系统的 Republication Lags

2023年 12月 20日 79.9k 0

Republication Lags ( 复制延迟)是指在主从数据库复制环境中,从库数据同步落后于主库的时间间隔。

如果复制延迟比较严重,会对系统有不好的影响,如:

1. 数据不一致

从库的数据状态会落后主库,查询从库如果读取到过期数据,会造成数据不一致的情况。

2. 高可用性降低

如果主库宕机,需要故障转移到从库提供服务,但此时从库的数据状态不是最新的,可能会有比较长的服务中断时间。

3. 主从切换困难

主从之间数据差距大,进行切换需要的时间更长,可能需要重新建立复制,同步期间整个系统无法对外服务。

4. 增加主库压力

主库需要保持较长时间的binary log以供从库追赶及重建复制关系,增加了存储以及备份的负载。

5. 影响其他服务

其他依赖于从库提供实时数据的服务会受到影响,例如报表、数据分析等会基于过期的数据展现,减少准确性。

所以,严重的复制延迟最终会降低系统的高可用性,增加故障转移复杂度,也会对主库及其他相关服务造成额外的负面影响。因此,要把复制延迟控制在较小的范围。

主要成因:

1、网络延迟:

主库与从库之间的网络如果存在延迟或中断,会直接导致复制数据的传输速度下降,从而加大复制延迟。

2、服务器性能:

如果从库的服务器性能比主库差很多,那么处理并应用主库传来的binary log的速度会很慢,也会延长复制时间。

3、事务过大:

主库上如果有大量的大事务执行,会占用大量IO并加重从库的负载,从而造成从库迟迟不能追上主库。

4、批量操作:

如批量insert或load data这类批量操作也会增加复制延迟。

应对方法包括:

  • 升级网络链路,减少网络延迟。
  • 使用性能较好的服务器作为从库,并适当增加从库数量分摊负载。
  • 控制大事务的执行频率和次数,拆分大事务为小事务执行。
  • 减少批量操作,不要一次性执行过多的批量操作语句。
  • 适当缓存策略,一部分数据更新而不立即复制。
  • 辅助使用中间层缓存系统,减轻主从复制的压力。

通过上述策略,可以有效地控制和减小主从复制的延迟。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论