本方案旨在介绍如何通过阿里云云原生数据库 PolarDB 分布式版(简称 PolarDB-X),实现自建 MySQL 数据库向云原生分布式架构的平滑迁移与系统能力升级,助力企业突破传统单机数据库在扩展性、高可用性方面的瓶颈,构建高性能、高可靠的数据服务底座,满足业务快速增长的数据处理需求。
本方案的默认设置在部署完成后,将在阿里云上建立一个如图所示的环境。在实际部署过程中,您可以根据具体的资源规划调整部分设置,但最终生成的运行环境将与下图基本相似。
1、创建资源,资源创建预计需要25分钟

2、使用生成的账号和密码登录控制台
3、登录云原生数据库 PolarDB 分布式版,在登录实例对话框,输入DATABASE:db_mysql2polardb、 数据库账号:test_user及数据库密码,单击登录。


4、验证全量数据,SELECT * FROM t_mysql2polardb LIMIT 20;
5、验证增量数据,连接ECS,登录 MySQL 数据库。
6、回到 DMS 数据管理服务查询 PolarDB-X 数据库中数据,在SQLConsole页面中执行如下SQL。
7、在 ECS 实例上登录 PolarDB-X 数据库。


8、切换主可用区。

9、ECS 实例中,验证 PolarDB-X 服务是否切换成功。
10、在 MySQL 社区版中,模拟由间隙锁(GAP Lock)引起的事务阻塞及提交过程。
11、在 PolarDB-X 数据库中,模拟由间隙锁(GAP Lock)引起的事务阻塞及提交过程。
对比测试发现,GAP 锁在社区版 MySQL 中会导致事务锁等待,进而阻塞提交;而在相同场景下,PolarDB-X 未出现等待现象,事务可正常提交,体现出其在锁处理策略上的优势。