RDS-DRS-DWS数据复制链路优化方案比对
【摘要】 背景介绍• 随着业务的发展,RDS的负载在逐渐增长,同时还会有新的RDS到DWS的表级同步链路需求• 随着链路数量的增加,RDS上的资源在数据同步上消耗越来越大• 为了提高系统的可靠性,建议采用增加中间库方案来优化数据复制链路方案一:通过主库实现表级同步方案解释:• 表级同步的全量同步和增量同步都是从RDS生产库上获取数据• 同步的全量阶段,对源端RDS生产库上有一定压力,可在业务低峰期实施...
背景介绍
• 随着业务的发展,RDS的负载在逐渐增长,同时还会有新的RDS到DWS的表级同步链路需求
• 随着链路数量的增加,RDS上的资源在数据同步上消耗越来越大
• 为了提高系统的可靠性,建议采用增加中间库方案来优化数据复制链路
方案一:通过主库实现表级同步
方案解释:
• 表级同步的全量同步和增量同步都是从RDS生产库上获取数据
• 同步的全量阶段,对源端RDS生产库上有一定压力,可在业务低峰期实施
优势:
• 无需额外的RDS实例和DRS链路,成本较低
• 生产库有HA机制,如果主库挂了,备库承接同步任务的源端角色,保证了同步链路的可靠性
• 执行online ddl时,数据同步没有时延
劣势:
• 全量阶段或者同步任务较多时,对生产库有一定压力
方案二:通过备库全量主库增量实现表级同步
方案解释:
• 表级同步的全量同步从生产备库实例,增量同步从RDS生产库主实例获取数据
优势:
• 无需额外的RDS实例和DRS链路,成本较低执行online ddl时,数据同步没有时延
劣势:
• 对于生产主库的可靠性有影响
方案三:通过中间库实现表级同步
方案解释:
• 创建一个RDS中间库,利用DRS的在线迁移能力,一次性从RDS生产库获取全量数据,并实时从RDS生产库同步增量数据
• 所有到DWS的表级同步任务,都从RDS中间库实施全量+增量同步
优势:
• 所有表级同步任务都从RDS中间库抽取数据,对RDS生产库没有任何影响
• 满足一定条件,从RDS生产库到DWS的无时延
• DRS在线迁移阶段有限流能力,所以全量迁移阶段对RDS生产库影响较小
劣势:
• 增加了一个DRS在线迁移任务和一个RDS中间库(主备),成本增加
• 如果在RDS生产库上做online DDL会导致RDS中间库的时延较大
方案四:通过只读节点实现表级同步
方案解释:
• 在RDS生产库上创建一个只读实例,在RDS生产库只读实例上打开log_slave_update参数
• 所有到DWS的表级同步任务,都从RDS生产库只读上实施全量+增量同步
优势:
• 所有表级同步任务都从RDS生产库只读上抽取数据,对RDS生产库没有任何影响
劣势:
• 增加了一个RDS生产库只读(单机),成本增加
• 只读节点挂掉,需要修复只读节点,并重试任务,影响表级同步链路的可靠性
• 需要在只读节点上后台修改log_slave_update参数,属于非标操作
• 如果在RDS生产库上做online DDL会导致RDS生产库只读的时延较大
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)