1. ADB PG DTS同步链路
1) DTS
• ADB PG数据同步可以使用阿里云数据同步工具DTS,同步数据源来自上游数据库系统,可以是RDS MySQL、RDS PG等关系型数据库,ADB PG作为数据仓库是目标数据库。
• DTS一般是完成订阅、捕捉全量和增量的数据,转化为ADB PG识别的语法,并将这些数据插入到数据库中。
2) ADB PG使用同步链路的目标场景
• 数据在线迁移、实时同步、异地灾备(读写分离、双活)。
3) ADB PG数据仓库使用限制
• 每个表列数最多1600列
• 每个表行数最多2^48行
• 部分支持修改字段类型:如int->bigint、bigint->decimal
• 非法值不支持写入(如2020-05-00 00:00:00、100:00:00等)
• 不支持的类型同步数据不可使用(如GEOMETRY、POINT、LINESTRING、POLYGON等类型)
• 列/表/数据库名称最长63个字符
• 不支持unsigned类型
注意
• 写入ADB PG已有的重复数,内部会执行delete&insert,内部会执行耗时较长。
• 热点行更新性能不佳。
• 内部使用copy/insert语法执行写入,极限性能受限于master节点配置。
参考
• ADB PG内核限制
https://help.aliyun.com/document detail/157891.html
• DTS使用限制
https://help.aliyun.com/document_detail/149450.html
2. 数据同步监控-用户侧
DTS数据同步的监控可以在控制台查看,ADB PG数据同步监控可以登录ADB PG控制台的监控信息页面查看。
监控信息包括协调节点连接数、计算节点连接数、实例总存储水位、实例存储总使用量、计算节点数、临时尾盘文件大小,在协调节点连接数图表中可以看到连接数的急剧上升,因为有大量数据落库导致。
通过此页面可以监控DTS链路,重点关注CPU、CPU使用率、IO吞吐率。在单独通过DTS数据同步的场景下,master节点连接数、CPU使用率都是相对恒定的,如果某天master节点连接数、CPU使用率发生比较大的波动,需要检查下数据链路是否工作正常。
3. 链路典型问题排查
场景:热点行更新场景。
现象:没有达到限流,RT不高,节点负载也不高,但是速度就是不高。
排查方式:
• 执行任务诊断,非常严重的热点行更新是会被诊断到的。
• 咨询客户源库是否有热点行更新的情况。
• 此问题排查较复杂,可以找DTS值班同学协助排查。
优化方式:
• 目前DTS没有很好的处理方式,一旦确认源库有热点行更新情况,并且关注整体性能,建议客户把热点行更新的表从同步对象中去掉。