【PolarDB·进阶推荐】从ECS上的自建MySQL同步至PolarDB MySQL
PolarDB是阿里巴巴自主研发的下一代关系型分布式云原生数据库,可完全兼容MySQL,具备简单易用、高性能、高可靠、高可用等优势。通过数据传输服务DTS(Data Transmission Service),您可以将自建的MySQL数据库同步至PolarDB MySQL,本文以ECS上的自建MySQL为例介绍配置流程。
前提条件
已创建PolarDB MySQL集群,详情请参见创建PolarDB MySQL集群。
注意事项
- DTS在执行全量数据初始化时将占用源库和目标库一定的读写资源,可能会导致数据库的负载上升,在数据库性能较差、规格较低或业务量较大的情况下(例如源库有大量慢SQL、存在无主键表或目标库存在死锁等),可能会加重数据库压力,甚至导致数据库服务不可用。因此您需要在执行数据同步前评估源库和目标库的性能,同时建议您在业务低峰期执行数据同步(例如源库和目标库的CPU负载在30%以下)。
- 全量初始化过程中,并发INSERT会导致目标集群的表碎片,全量初始化完成后,目标集群的表空间比源库的表空间大。
- 如果数据同步的源库没有主键或唯一约束,且记录的全字段没有唯一性,可能会出现重复数据。
支持同步的SQL操作
| 操作类型 | SQL操作语句 |
|---|---|
| DML | INSERT、UPDATE、DELETE、REPLACE |
| DDL |
|
功能限制
- 不兼容触发器
当同步对象为整个库,且库中的触发器(TRIGGER)会更新库内某个表时,可能导致源和目标库的数据不一致。相关解决方案请参见源库存在触发器时如何配置同步作业。
- RENAME TABLE限制
RENAME TABLE操作可能导致同步数据不一致。例如同步对象只包含某个表,如果同步过程中源实例对该表执行了重命名操作,那么该表的数据将不会同步到目标库。为避免该问题,您可以在数据同步配置时将该表所属的整个数据库作为同步对象。
·····
相关推荐
藏经阁-ECS生长万物:开源-174.pdf
数据库在数据库部分,手册介绍了如何基于ECS搭建和使用SVN版本控制系统、PolarDB-X数据库和PostgreSQL数据库。SVN是一种流行的版本控制系统,广泛应用于软件开发和项目管理中。
阿里云有奖体验:用PolarDB-X搭建一个高可用系统.doc
**创建实验资源**:在开始实验前,你需要在阿里云实验室创建ECS实例,该实例预装了CentOS 8.5操作系统和PolarDB-X集群。实验资源的创建可能需要1-3分钟时间。2.
基于AnalyticDB for MySQL构建实时数据仓库.pdf
DTS支持多种数据源,包括MySQL、DRDS、PolarDB等,并提供了丰富的功能,比如多数据源支持、多粒度同步、灵活的映射规则以及友好的用户界面等。
数据库平滑上云的最佳实践-谦昀 .pdf
**云数据库服务矩阵** - 包括MySQL、SQL Server、Redis、MongoDB、HBase、POLARDB等多种类型的数据库服务,满足不同业务场景需求。
MySQL全面优化全攻略
推荐使用Raid10配置,以及强制回写(ForceWriteBack)模式,确保数据的一致性和安全性。


