HERO联盟知识学堂第一期——数据库工程师进阶之路——化繁为简,从“新”开始——LV2——MySQL数据库迁移上云

【摘要】 微认证:MySQL数据库迁移上云 前言 目标 数据库上云的背景与优势 传统数据库面临的难题 云上数据库带来的经济效益 云数据库与传统数据库对比 个人总结 云数据库省事,花钱少,性能高;自购服务器搭建麻烦,花钱多,性能差。 云数据库是高速增长的百亿级市场 数据库上云是必然趋势 选择迁移目标 数据库解决方案对比 首先考虑云数据库 华为云数据库服务 SQL数据库——面向传统OLTP数据库业务 N…

微认证:MySQL数据库迁移上云

前言

华为云提供了以华为云数据库RDS为基础结合DAS、DRS、CDM服务实现数据库轻松迁移上云的解决方案。

目标

  • 了解云上数据库的优势与价值
  • 区分不同数据库迁移的方法与特点
  • 描述RDS和CDM的迁移流程与技术原理
  • 区分DRS和CDM的适用场景

数据库上云的背景与优势

传统数据库面临的难题

  • 高投入
  • 周期长
  • 难运维
  • 不灵活

云上数据库带来的经济效益

  1. 即开即用
  • 实时生产目标实例
  • 响应时间快,公网费用低
  • 无需额外支出license费用
  1. 弹性伸缩
  • 根据业务情况弹性伸缩资源
  • 按需开支
  • 灵活调整实例规格
  1. 运维便捷
  • 实例状态信息实时监控
  • 专业的数据库管理平台
  • 一键式扩容
  1. 完全兼容
  • 兼容原生数据库引擎
  • 兼容现有的程序和工具
  • 方便迁移数据库

云数据库与传统数据库对比

性能项目 云数据库RDS 自购数据库搭建数据库服务
服务可用性 8C|32G性能最高达23000QPS。 需要购买额外设备,自建主从,自建RAID。
数据可靠性 超高IO单盘最大IOPS33000,数据持久性达99.9999999%。 需要购买额外设备,自建主从,自建RAID。
系统安全性 防DDoS攻击,流量清洗;及时修复各种数据库安全漏洞。 需要购买昂贵的硬件设备和软件服务,需要自行检测和修复安全漏洞等。
数据库备份 支持自动备份,手动备份,自定义备份,选择备份周期、修改备份策略。 需要购买设备,并自行搭建设置和后期维护。
软硬件投入 无需投入软硬件成本,按需购买,弹性伸缩。 数据库服务器成本相对较高,对于SQL Server需支付许可证费用。
系统托管 无需托管。 需要自购2U服务器设备,如需实现主从,需要购买两台服务器,并进行自建。
维护成本 无需运维。 需要投入大量人力成本,招聘专业的DBA进行维护。
部署扩容 弹性扩容,快速升级,按需开通。 需采购和原设备匹配的硬件,需托管机房的配合,需部署设备,整体周期较长。
资源利用率 按实际结算,100%利用率。 考虑峰值,资源利用率低

个人总结 云数据库省事,花钱少,性能高;自购服务器搭建麻烦,花钱多,性能差。

云数据库是高速增长的百亿级市场

数据库上云是必然趋势

  • 成本驱动
  • 技术趋势
  • 业务诉求

选择迁移目标

  1. ECS自建数据库
  2. 云数据库

数据库解决方案对比

自建数据库 数据库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数据库服务器,是全球最受欢迎的开源关系型数据库,良好的跨平台能力,支持大部分主流操作系统平台上运行。

  1. 高可用
  • 支持AZ内/跨AZ高可用主备架构
  1. 安全防护
  • 支持VPC、子网、安全组、SSL连接、审计日记,确保数据安全性
  1. 备份恢复
  • 最高达35天的系统自动备份,PITR任意时间点恢复,支持手动创建快照,轻松应对灾难恢复
  1. 轻松扩容
  • 最多支持5个只读副本,扩展读负载
  • 一键CPU&内存/扩容
  • 在线磁盘扩容
  1. 数据迁移
  • 支持数据迁移让业务轻松上云
  1. 高性能
  • 全面支持MySQL5.7
  • 推出兼容MySQL5.6的优化版
  • 性能大幅提升,解决复制延迟问题

数据管理服务DAS

Data Admin Service(数据管理服务,DAS)是一款专业的简化数据库管理工具,提供良好的可视化操作界面,大幅提高工作效率,让数据管理变得安全、简单。

  • 支持关系型数据库实例的管理
  • 支持ECS自建库实例的数据管理

数据库迁移的解决方案

传统数据库迁移原因

  1. 磁盘空间不够
  • 一些老项目,选用的机型并不一定适用于数据库,随着时间的推移,磁盘很有可能出现短缺。
  1. 业务出现瓶颈
  • 项目中采用单机承担现有的读写业务,业务压力增大,不堪重负。如果IO压力在可接受的范围,会采用读写分离方案。
  1. 设备性能瓶颈
  • 设备性能瓶颈主要在磁盘IO能力、内存、CPU,此时除了针对瓶颈做一些优化外,选择迁移是不错的方案。
  1. 项目改造
  • 数据库跨机房,增加节点或者不同业务共用一台服务器,为了缓解服务器压力以及方便维护,也会做迁移。

传统MySQL数据库迁移方案概览

MySQL迁移主要技术是围绕数据做工作,所以就是在保证业务平稳持续地运行的前提下做备份恢复。
问题就是如何快速安全地进行备份恢复。

  1. 备份
  • 备份前提:考虑数据量大小,源库业务可停机时长,主从关系、读写分离顺序
  • 备份策略:全量备份、增量备份
  • 备份方法:物理备份或使用迁移工具
  1. 传输
  • 网络因素:网络耗时、断点续传
  • 传输方式:直接拷贝、使用工具
  • 传输距离:rsync适用于本地异构设备传输和文件同步;异地使用硬盘快递
  1. 恢复
  • 恢复条件:数据量大小和备库业务可停机时长
  • 恢复方式: 直接导入或使用工具
  • 恢复检验:数据一致性、主从一致性、业务读写正常

传统数据库迁移方案比较

迁移方法 优点 缺点 适用场景
数据库直接导出,拷贝文件到新服务器,在新服务器上导入 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在线迁移场景

  1. VPC网络内的数据库在线迁移
  • 客户ECS自己数据库迁移至RDS/DDS
  • RDS之间的数据迁移
  • RDS之间的数据同步
  1. 通过公网的数据库在线迁移
  • 其他云数据库迁移至华为RDS/DDS
  • 用户本地数据库迁移至RDS/DDS
  1. 通过VPN做在线迁移
  • 本地数据中心数据库迁移至RDS/DDS
  • 混合云间的数据同步
  1. 容灾
  • RDS/DDS作为用户本地数据库的灾备
    image

传统主从结构的的数据库迁移

  • 搭建主从关系
  • mysqldump导出数据
  • 收集指定库需要的账号以及权限
  • 使用rsync传输到目标库
  • 导入数据到目标库,数据同步到目标从库
  • 上述完成后,迁移源库业务到目标库,观察业务状态
  • 如果业务没有问题,证明迁移成功

内网下自建MySQL数据库的迁移

  • 准备RDS主备数据库
  • 测试源数据库和目标端华为云云数据库MySQL实例之间的网络是否互通
  • 收集账号与权限
  • 使用DRS选择业务低峰期开始正式的数据库迁移
    image

数据库迁移的华为云实践

MySQL数据库迁移上云实践

  1. DAS数据库管理:通过数据导入目标数据表对数据进行备份或迁移
  2. DRS数据复制:云数据库迁移的主要解决方案
  3. CDM云数据迁移:使用CDM整库迁移功能,迁移数据库

DRS引导式迁移流程































© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享