【摘要】 微认证:MySQL数据库迁移上云 前言 目标 数据库上云的背景与优势 传统数据库面临的难题 云上数据库带来的经济效益 云数据库与传统数据库对比 个人总结 云数据库省事,花钱少,性能高;自购服务器搭建麻烦,花钱多,性能差。 云数据库是高速增长的百亿级市场 数据库上云是必然趋势 选择迁移目标 数据库解决方案对比 首先考虑云数据库 华为云数据库服务 SQL数据库——面向传统OLTP数据库业务 N…
微认证:MySQL数据库迁移上云
前言
华为云提供了以华为云数据库RDS为基础结合DAS、DRS、CDM服务实现数据库轻松迁移上云的解决方案。
目标
- 了解云上数据库的优势与价值
- 区分不同数据库迁移的方法与特点
- 描述RDS和CDM的迁移流程与技术原理
- 区分DRS和CDM的适用场景
数据库上云的背景与优势
传统数据库面临的难题
- 高投入
- 周期长
- 难运维
- 不灵活
云上数据库带来的经济效益
- 即开即用
- 实时生产目标实例
- 响应时间快,公网费用低
- 无需额外支出license费用
- 弹性伸缩
- 根据业务情况弹性伸缩资源
- 按需开支
- 灵活调整实例规格
- 运维便捷
- 实例状态信息实时监控
- 专业的数据库管理平台
- 一键式扩容
- 完全兼容
- 兼容原生数据库引擎
- 兼容现有的程序和工具
- 方便迁移数据库
云数据库与传统数据库对比
性能项目 | 云数据库RDS | 自购数据库搭建数据库服务 |
---|---|---|
服务可用性 | 8C|32G性能最高达23000QPS。 | 需要购买额外设备,自建主从,自建RAID。 |
数据可靠性 | 超高IO单盘最大IOPS33000,数据持久性达99.9999999%。 | 需要购买额外设备,自建主从,自建RAID。 |
系统安全性 | 防DDoS攻击,流量清洗;及时修复各种数据库安全漏洞。 | 需要购买昂贵的硬件设备和软件服务,需要自行检测和修复安全漏洞等。 |
数据库备份 | 支持自动备份,手动备份,自定义备份,选择备份周期、修改备份策略。 | 需要购买设备,并自行搭建设置和后期维护。 |
软硬件投入 | 无需投入软硬件成本,按需购买,弹性伸缩。 | 数据库服务器成本相对较高,对于SQL Server需支付许可证费用。 |
系统托管 | 无需托管。 | 需要自购2U服务器设备,如需实现主从,需要购买两台服务器,并进行自建。 |
维护成本 | 无需运维。 | 需要投入大量人力成本,招聘专业的DBA进行维护。 |
部署扩容 | 弹性扩容,快速升级,按需开通。 | 需采购和原设备匹配的硬件,需托管机房的配合,需部署设备,整体周期较长。 |
资源利用率 | 按实际结算,100%利用率。 | 考虑峰值,资源利用率低 |
个人总结 云数据库省事,花钱少,性能高;自购服务器搭建麻烦,花钱多,性能差。
云数据库是高速增长的百亿级市场
数据库上云是必然趋势
- 成本驱动
- 技术趋势
- 业务诉求
选择迁移目标
- ECS自建数据库
- 云数据库
数据库解决方案对比
自建数据库 | 数据库on云服务器 | 云数据库 | |
---|---|---|---|
自购并安装服务器、系统、数据库等软硬件 | 自购并安装数据库软件 | 无需购买和安装任何软硬件 | |
昂贵的机房托管费用 | 云服务器租用费用 | 只需支付服务费用 | |
昂贵的DBA成本 | 昂贵的DBA成本 | 减少DBA投入和成本 | |
应用优化 | 用户 | 用户 | 用户 |
数据库弹性伸缩 | 用户 | 用户 | 云服务提供商 |
数据库高可用 | 用户 | 用户 | 云服务提供商 |
数据备份与恢复 | 用户 | 用户 | 云服务提供商 |
数据库软件版本升级或打补丁 | 用户 | 用户 | 云服务提供商 |
数据库软件安装 | 用户 | 用户 | 云服务提供商 |
操作系统版本升级或打补丁 | 用户 | 云服务提供商 | 云服务提供商 |
操作系统安装 | 用户 | 云服务提供商 | 云服务提供商 |
服务器部署及维护 | 用户 | 云服务提供商 | 云服务提供商 |
机架堆叠 | 用户 | 云服务提供商 | 云服务提供商 |
机房、电力、空调、网络等基础设施 | 用户 | 云服务提供商 | 云服务提供商 |
首先考虑云数据库
以下情况不考虑云数据库
- 要求超出了云数据库限制或需要云数据库无法支持的功能,则考虑ECS数据库服务器
- 为了完全控制操作系统及软件的访问和管理,则考虑ECS数据库服务器
- ECS数据库服务器需要自行管理备份、复制和集群的问题
华为云数据库服务
SQL数据库——面向传统OLTP数据库业务
关系型数据库服务RDS
- MySQL
- PostgreSQL
- SQL Server
NoSQL数据库——面向海量扩展业务
文档型数据库服务DDS
- MongoDB
分布式缓存服务DCS
- Redis
- Memcached
数据库生态——构建完整的数据库解决方案
- 分布式数据库中间件DDM
- 数据库安全服务DBSS
- 数据复制服务DRS
- 数据管理服务DAS
关系型数据库RDS
Relational Database Service(关系型数据库服务,RDS)
华为云关系型数据库RDS是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的在线关系型数据库服务。
RDS MySQL的优势
MySQL是一个真正的多用户、多线程SQL数据库服务器,是全球最受欢迎的开源关系型数据库,良好的跨平台能力,支持大部分主流操作系统平台上运行。
- 高可用
- 支持AZ内/跨AZ高可用主备架构
- 安全防护
- 支持VPC、子网、安全组、SSL连接、审计日记,确保数据安全性
- 备份恢复
- 最高达35天的系统自动备份,PITR任意时间点恢复,支持手动创建快照,轻松应对灾难恢复
- 轻松扩容
- 最多支持5个只读副本,扩展读负载
- 一键CPU&内存/扩容
- 在线磁盘扩容
- 数据迁移
- 支持数据迁移让业务轻松上云
- 高性能
- 全面支持MySQL5.7
- 推出兼容MySQL5.6的优化版
- 性能大幅提升,解决复制延迟问题
数据管理服务DAS
Data Admin Service(数据管理服务,DAS)是一款专业的简化数据库管理工具,提供良好的可视化操作界面,大幅提高工作效率,让数据管理变得安全、简单。
- 支持关系型数据库实例的管理
- 支持ECS自建库实例的数据管理
数据库迁移的解决方案
传统数据库迁移原因
- 磁盘空间不够
- 一些老项目,选用的机型并不一定适用于数据库,随着时间的推移,磁盘很有可能出现短缺。
- 业务出现瓶颈
- 项目中采用单机承担现有的读写业务,业务压力增大,不堪重负。如果IO压力在可接受的范围,会采用读写分离方案。
- 设备性能瓶颈
- 设备性能瓶颈主要在磁盘IO能力、内存、CPU,此时除了针对瓶颈做一些优化外,选择迁移是不错的方案。
- 项目改造
- 数据库跨机房,增加节点或者不同业务共用一台服务器,为了缓解服务器压力以及方便维护,也会做迁移。
传统MySQL数据库迁移方案概览
MySQL迁移主要技术是围绕数据做工作,所以就是在保证业务平稳持续地运行的前提下做备份恢复。
问题就是如何快速安全地进行备份恢复。
- 备份
- 备份前提:考虑数据量大小,源库业务可停机时长,主从关系、读写分离顺序
- 备份策略:全量备份、增量备份
- 备份方法:物理备份或使用迁移工具
- 传输
- 网络因素:网络耗时、断点续传
- 传输方式:直接拷贝、使用工具
- 传输距离:rsync适用于本地异构设备传输和文件同步;异地使用硬盘快递
- 恢复
- 恢复条件:数据量大小和备库业务可停机时长
- 恢复方式: 直接导入或使用工具
- 恢复检验:数据一致性、主从一致性、业务读写正常
传统数据库迁移方案比较
迁移方法 | 优点 | 缺点 | 适用场景 |
---|---|---|---|
数据库直接导出,拷贝文件到新服务器,在新服务器上导入 | 1. 会重建数据文件,减少数据文件的占用空间 2. 兼容性最好 3. 导出导入很少发生问题,需求灵活 | 使用传统导出导入时间占用长 | 适用于业务瓶颈或项目改造等需要变动数据表结构的迁移 |
使用第三方迁移工具:mysqldump、mysqlpump、Xtrabackup等 | 1. 设置完成后传输无人值守,自动完成 2. 兼容性强,跨版本 | 1.不能导入数据量大的数据库 2. 不够灵活,设置繁琐 3. 传输时间长,异常后很难从异常的位置继续传输 | 适用于业务可停机时间较长的数据库的导入与导出 |
数据文件和库表结构文件直接拷贝到新服务器,挂载到同样配置的MySQL服务下 | 1. 时间占用短,文件可断点传输,操作步骤少 2. 备份和恢复速度相对较快 | 可移植性差,不同版本和操作系统之间不兼容 | 适用于数据量大,业务可停机时间长的数据库的迁移 |
华为云数据复制DRS
Data Replication Service(数据复制服务,DRS)是一种易用、稳定、高效,用于数据库在线迁移和数据库实时同步的云服务。DRS围绕云数据库,降低了数据库之间数据流通的复杂性,有效地帮助您减少数据传输的成本
华为云DRS适用场景
- DB在线迁移:业务不中断或者中断时间非常短
- DB实时同步:基于数据库日志处理的技术。不同于批量同步,批量同步是非实时的,在某些时间点是同步的,大部分时间点是非同步的
什么时候用DRS?
- 业务可中断时间非常短
- 数据库数据量非常大
- 需要一个简单、省心的迁移服务
云数据迁移CDM
Cloud Data Migration(云数据迁移,CDM)提供同构/异构数据源之间批量数据迁移服务,帮助实现数据自由流动。支持自建和云上的文件系统,关系数据库,数据仓库,NoSQL,大数据云服务,对象存储等数据源。
CDM应用场景
- 本地数据迁移上云
- 云上数据迁移到本地
- 云上服务之间的数据迁移
DRS与CDM的定位区别与关系
DRS:用于数据库在线迁移和数据库实时同步的云服务。
CDM:提供同构/异构数据源之间批量数据迁移服务,帮助实现数据自由流动。
困惑点:CDM对标的是数据集成服务,一般是做数据导入数据仓库的场景,也可以用于一小部分的迁移场景
区别点:
- 是否在意业务中断时间?数据量是否大于100GB?迁移是否要简单,易用?
- YES——DRS
- NO——DRS/CDM
华为云数据库迁移的技术原理
华为云DRS在线迁移场景
- VPC网络内的数据库在线迁移
- 客户ECS自己数据库迁移至RDS/DDS
- RDS之间的数据迁移
- RDS之间的数据同步
- 通过公网的数据库在线迁移
- 其他云数据库迁移至华为RDS/DDS
- 用户本地数据库迁移至RDS/DDS
- 通过VPN做在线迁移
- 本地数据中心数据库迁移至RDS/DDS
- 混合云间的数据同步
- 容灾
- RDS/DDS作为用户本地数据库的灾备
传统主从结构的的数据库迁移
- 搭建主从关系
- mysqldump导出数据
- 收集指定库需要的账号以及权限
- 使用rsync传输到目标库
- 导入数据到目标库,数据同步到目标从库
- 上述完成后,迁移源库业务到目标库,观察业务状态
- 如果业务没有问题,证明迁移成功
内网下自建MySQL数据库的迁移
- 准备RDS主备数据库
- 测试源数据库和目标端华为云云数据库MySQL实例之间的网络是否互通
- 收集账号与权限
- 使用DRS选择业务低峰期开始正式的数据库迁移
数据库迁移的华为云实践
MySQL数据库迁移上云实践
- DAS数据库管理:通过数据导入目标数据表对数据进行备份或迁移
- DRS数据复制:云数据库迁移的主要解决方案
- CDM云数据迁移:使用CDM整库迁移功能,迁移数据库
DRS引导式迁移流程