BpFile(id=225, bpId=25, name=MySQL迁移PolarDB, author=null, keyword=迁移,数据库扩容,RDS性能扩展, description=介绍POLARDB的核心需求场景和MySQL迁移到POLARDB的最佳实践。, position=null, ossUrl=bp-HECM1UXFK4VKCXSY.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=0, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
场景描述
(1)弹性场景:线上活动压⼒突增,RDS数
据库升级耗时长,来不及升级。业务具有周期
性,波峰波谷明显(如活动期,假期等)。
(2)大数据量查询场景:业务发展很快,没有
时间做分库分表的改造。上百台ECS连接同一
台数据库,高并发下单库性能要求高。
(3)全局读一致性场景:读写分离后,刚更新
的数据需要能实时查询到。
解决问题
1.RDSMySQL或自建MySQL遇到性能或容
量瓶颈;
2.MySQL到PolarDB双向链路如何打通;
3.如何用好PolarDB。
产品列表
⚫专用网络VPC、负载均衡SLB、弹性公网IP
⚫云数据库RDS MySQL
⚫云数据库PolarDB
⚫数据迁移服务DTS
, templateId=null, freetry=null, visitTime=null, visitCount=null, video_url=null, buttonName=null, buttonUrl=null, targetId=null, partner=null, partnerUrl=null, partnerLogo=null, cooperation=, cooperationList=null)
1
MySQL迁移 PolarDB 最佳实践
场景描述
PolarDB产品优势
(1)弹性场景:线上活动压⼒突增,RDS数
据库升级耗时长,来不及升级。业务具有周期
性,波峰波谷明显(如活动期,假期等)。
(2)大数据量查询场景:业务发展很快,没有
时间做分库分表的改造。上百台 ECS连接同一
台数据库,高并发下单库性能要求高。
(3)全局读一致性场景:读写分离后,刚更新
的数据需要能实时查询到。
解决问题
1. RDS MySQL或自建 MySQL遇到性能或容
部署架构图
量瓶颈;
2. MySQL到 PolarDB双向链路如何打通;
3. 如何用好 PolarDB。
产品列表
⚫ 专用网络 VPC、负载均衡 SLB、弹性公网 IP
⚫ 云数据库 RDS MySQL
⚫ 云数据库 PolarDB
⚫ 数据迁移服务 DTS
2文档模板(手册名称)/Error! Use the Home tab to apply
云服务器 ECS(产品名称) 标题 to the text that you want to appear here.
阿里云
MySQL迁移 PolarDB
最佳实践
文档版本:20150122(发布日期) II
3 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 MySQL迁移 PolarDB最佳实践
025
文档编号
V1.3
文档版本
2020-01-20
版本日期
文档状态 外部发布
制作人 明中
审阅人
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2019-04-10
明中 敬海,行夜 创建
V1.1 2019-05-06
明中 增加快速验证脚本
V1.2 2019-08-30
明中 敬海 跟进 PolarDB升级,文档刷新
V1.3 2020-01-20
明中 增加概览页
V1.4 2020-10-30
阿瑟 更新模版
I
4 前言
前言
概述
本实践介绍 PolarDB的核心需求场景和 MySQL迁移到 PolarDB的最佳实践。
应用范围
上云客户直接选择 PolarDB承载业务;
云上客户从 RDS MySQL迁移到 PolarDB。
名词解释
⚫ VPC:Virtual Private Cloud,简称 VPC。基于阿里云创建的自定义私有网络, 不同的专
有网络之间二层逻辑隔离,可以在自己创建的专有网络内创建和管理云产品实例,比如
ECS、负载均衡、RDS等。在创建前,您需要结合具体业务,规划 VPC和交换机的数
量及网段等。
⚫ PolarDB:PolarDB 是阿里云自研的下一代关系型云数据库,100% 兼容 MySQL,存储
容量最高可达 100 TB,性能最高提升至 MySQL 的 6 倍,单库最多可扩展到 16 个节
点,适用于企业多样化的数据库应用场景。PolarDB 采用存储和计算分离的架构,所有
计算节点共享一份数据,提供分钟级的配置升降级、秒级的故障恢复、全局数据一致性
和免费的数据备份容灾服务。PolarDB 既融合了商业数据库稳定可靠、高性能、可扩展
的特征,又具有开源云数据库简单开放、自我迭代的优势,而成本只有商用数据库的
1/10。
⚫ RDS:Relational Database Service,简称 RDS,是一种稳定可靠、可弹性伸缩的在线
数据库服务。基于阿里云分布式文件系统和 SSD盘高性能存储,RDS支持 MySQL、
SQL Server、PostgreSQL、PPAS和 MariaDB引擎,提供了容灾、备份、恢复、监
控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。
II
5 前言
⚫ DTS:Data Transmission Service,简称 DTS, 是一种集数据迁移、数据订阅及数据实
时同步于一体的数据传输服务。解决远距离、毫秒级异步数据传输难题。
III
6 目录
目录
文档版本信息 .................................................................... I
法律声明 ........................................................................ I
前言 ........................................................................... II
目录 ........................................................................... IV
最佳实践概述 .................................................................... 5
前置条件 ........................................................................ 7
资源规划 ........................................................................ 8
1. 部署云上 VPC网络 ............................................................ 10
1.1. 进入阿里云控制台 ...................................................... 10
1.2. 搜索VPC .............................................................. 10
1.3. 进入规划区域 .......................................................... 11
1.4. 按云上规划创建主数据中心 VPC .......................................... 11
2. 部署云上测试 ECS环境 ........................................................ 13
2.1. 选购ECS实例 .......................................................... 13
2.2. 安装MySQL Client ..................................................... 16
3. 创建 RDS实例并初始化 ........................................................ 18
3.1. 创建RDS实例 .......................................................... 18
3.2. 创建RDS高权限账号,编辑白名单 ........................................ 20
3.3. 创建RDS只读节点 ...................................................... 23
3.4. 等待只读节点创建完成,申请读写分离地址 ................................ 24
4. 构造测试数据 ................................................................ 27
4.1. 构造实际查询测试数据 .................................................. 27
4.2. 构造大表数据 .......................................................... 33
5. 创建 PolarDB实例并初始化 .................................................... 37
5.1. 创建PolarDB实例 ...................................................... 37
5.2. 数据库初始化 .......................................................... 39
5.3. 增加只读实例 .......................................................... 41
6. RDS MySQL和PolarDB对比测试 ................................................ 44
6.1. 手工数据库全量备份 .................................................... 44
6.2. 弹性:新增只读节点 .................................................... 46
7. 数据库切换和回切 ............................................................ 47
7.1. 测试数据迁移结束,切换 PolarDB为主库 .................................. 47
7.2. 等待切换完成 .......................................................... 49
7.3. 验证数据库读写权限(先验证 PolarDB) .................................. 49
7.4. 回迁 .................................................................. 51
8. 从PolarDB迁移回 RDS MySQL .................................................. 53
8.1. 删除原DTS链路和 RDS MySQL数据库数据 .................................. 53
8.2. PolarDB源库构建小批量待迁移数据 ...................................... 54
8.3. PolarDB创建DTS迁移账户,打开 binlog设置(需重启实例) ............... 56
8.4. 创建DTS迁移链路 ...................................................... 58
F&Q ............................................................................ 64
IV
7 资源规划
最佳实践概述
应用场景
核心需求一:弹性
典型场景:线上活动压⼒突增,RDS数据库升级耗时长,来不及升级。业务具
有周期性,波峰波谷明显(如活动期,假期等)。
典型行业:游戏、教育。
核心需求二:大容量(单机查询性能强劲)
业务发展很快,没有时间做分库分表的改造。上百台 ECS连接同一台数据库,
高并发下单库性能要求高。
典型行业:互金、教育。
核心需求三:全局读一致性
典型场景:读写分离后,刚更新的数据需要能实时查询到。大表变更低延迟需
求。
典型行业:新零售、娱乐。
核心需求四:性价比高,TB级数据量下易运维
典型场景:集群存储按需付费,高可用节点能用来作只读节点,多副本下存储成
本控制。TB级数据备份速度快,对业务 0干扰。
典型行业:SaaS开发商、教育、行业通用。
核心需求五:快速执行部分复杂查询
典型场景:OLTP系统能兼容且快速执行部分 OLAP查询 SQL。
典型行业:行业通用。
核心需求六:零开发成本迁移
典型场景:数据库迁移 SQL无需重新设计、适配和联调等工作。
典型行业:行业通用。
5
8 资源规划
技术架构
本实践基于如下图所示的技术架构和主要流程
方案优势
⚫ 本实践对比使用 RDS和 PolarDB,了解 PolarDB的常规使用和弹性优势;
⚫ TB级数据迁移,通过 SQL查询加速 Endpoint体验 SQL加速优势;
⚫ 涉及大数据量迁移下 DTS配置的最佳实践和 troubleshoot;
⚫ MySQL迁移到 PolarDB,PolarDB迁移到 MySQL链路打通,解除上 PolarDB
的后顾之忧;
⚫ RDS和 PolarDB性价比论证,获取两种数据库的性价比差异;
⚫ PolarDB两节点功能相当于 RDS高可用版加一个只读节点,存储按量付费,资
源利用更合理。
6