金融企业从自建MySQL数据库迁移RDS方案

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 原作者:阿里云解决方案架构师,云帅。金融企业客户对于数据库提出了更高的要求,而RDS可以很好的满足这些需求。对于自建数据库的企业,怎样迁移到云数据库RDS,本文详细展示了一个迁移案例的整体步骤。

为什么要从自建数据库迁移RDS

由于金融行业的特点,对于数据库的安全性、高可用、一致性提出了更高的要求,而RDS金融版就是专门为金融客户量身定做的,它具有以下优点:

高安全

具备提供IP白名单,防SQL注入,SSL加密传输,TDE数据加密等功能的能力

安全事前防护可设置允许连接实例的IP白名单,严格控制访问源;同时支持通过VPC来获取更高程度的网络访问控制

安全事中防护公网地址自动开启DDoS防护,保持业务永续;访问链路支持SSL加密,杜绝中间人攻击行为;支持开启透明数据加密(TDE),数据落盘自动加密,固守最后防线;通过高安全模式拦截SQL注入,远离拖库风险。

安全事后审计支持SQL审计功能,记录所有访问源和访问行为信息。对所有安全及故障事件做到有据可查。

高可用

提供双机热备、多可用区、异地容灾等多种类型的实例,满足不同级别的可用性要求

主备架构RDS实例采用主备架构,两个实例位于不同服务器,自动同步数据。主实例不可用时,系统会自动将数据库连接切换至备实例。

同城容灾在不同可用区部署主备实例,独立的电力、网络环境可提升数据可靠性。

异地容灾RDS for MySQL支持创建异地灾备实例,通过数据传输实现异地数据实时同步,在突发状况下,用户可将异地灾备实例切换为主实例,保障业务可用性。

一致性

搭建事前、事中、事后三层数据安全防护网,提供双机热备、同城、异地三中心部署架构,充分满足金融级合规一致性、可靠性要求

运维成本低

阿里云数据库专家多年数据库运维经验产品化,免去90%运维烦恼

备份恢复支持自定义备份策略,通过克隆实例恢复到任意时间点,找回误删数据

版本升级MySQL小版本自动在线热升级,及时修复已知Bug

监控报警资源和引擎双重监控,链接云监控自定义报警策略

故障切换秒级探测,分钟级切换,90% 连接保持无影响

性能诊断提供专家级自助式服务,解决60%的性能问题

易扩展

多种系列选配提供单机基础版和双机高可用版,贴近业务所需

自由弹性可按需随时升级内存、磁盘空间,紧随业务发展

独享高配独享套餐、独占物理机提供更稳定的性能,更优惠的价格;单实例最高支持60核CPU、470G内存, 50000 IOPS,3 TB 存储空间

只读实例横向扩展数据库读能力;每个只读实例拥有独立的链接地址,可由应用端控制压力分配

迁移方案

客户目标

搭建和构建在一个有数据强一致性保障的关系型数据库上,同时满足金融级别的可靠性要求,数据安全防护,提供双机热备、同城灾备的部署架构,充分满足金融级合规的要求。

迁移方法

迁移前做好充分的技术预演,制定详细的迁移方案,并且有充足的数据回滚方案。

做好完备的迁移前测试,使用尽可能模拟线上环境的测试环境,模拟整套迁移和回滚流程,保障数据的一致性。

使用阿里云的数据迁移工具DTS,最好迁移前的预检查、迁移中的增量迁移和迁移后的数据校验工作,保障迁移过程顺利且数据一致性。

迁移后最好数据的回流增量,以备故障后的回滚操作。

稳定运行一段时间后,源数据库备份销毁,正式迁移成功。

整体迁移步骤

云上资源评估-->资源准备-->测试环境测试-->系统停机-->全量迁移-->系统迁移-->系统测试割接-->数据增量回流

31b949b80c5822c618afbccdaa5270e3a7ebe61c

遇到的问题和解决方案

1 客户自建的Mysql是最新的5.7版本,但云上的RDS高可用的版本只支持5.6,所以涉及到一个降版本的迁移,风险需要评估。

解决方案:首先评估客户的5.7版本是哪个小版本,评估后发现版本不是很高,所以有些特性并没有使用;第二 评估5.6和5.7版本的区别,主要是在字段的blob类型上的区别,评估后发现客户并没有使用此类型字段;第三 在测试环境做好测试,根据备份文件尝试恢复迁移,确保数据库正式迁移没问题。第四 做好灾备方案,发现问题,及时回退。

2 在测试环境测试过程中发现数据全量到RDS以后,再增量回流,数据预检查失败。

原因:原因是客户的表名存在大小写的情况,而DTS迁移会忽略大小写,将表名变成全部小写,导致回流源数据增量的时候预检查失败,因为表名不一致。解决方案:两种解决方案 1. 使DTS的后台将预检查结果手工置为成功,跳过预检查进行增量 ,存在风险。2.将原表名里存在大写的表名手工改为小写,改成一致,然后再做增量迁移,客户最终评估后选择解决方案1。

3 客户在做从自建Mysql到RDS增量的时候失败。

原因:由于客户自建的mysql没有开启binlog日志,导致增量时无法读取日志,所以增量失败,需要开启该选项。解决方案:由于客户不知道如何配置该选项,同时担心重启源数据库的风险,故客户放弃配置,同时也放弃增量,愿意寻找业务低峰期进行停机全量迁移,同时数据量也不大,停机时间短,所以选择该方案执行。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
13天前
|
弹性计算 关系型数据库 数据库
手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨
阿里云瑶池数据库来开课啦!自建数据库迁移至云数据库 RDS原来只要一步操作就能搞定!点击阅读原文完成实验就可获得一本日历哦~
|
14天前
|
人工智能 小程序 关系型数据库
【MySQL】黑悟空都掌握的技能,数据库隔离级别全攻略
本文以热门游戏《黑神话:悟空》为契机,深入浅出地解析了数据库事务的四种隔离级别:读未提交、读已提交、可重复读和串行化。通过具体示例,展示了不同隔离级别下的事务行为差异及可能遇到的问题,如脏读、不可重复读和幻读等。此外,还介绍了在MySQL中设置隔离级别的方法,包括全局和会话级别的调整,并通过实操演示了各隔离级别下的具体效果。本文旨在帮助开发者更好地理解和运用事务隔离级别,以提升数据库应用的一致性和性能。
85 2
【MySQL】黑悟空都掌握的技能,数据库隔离级别全攻略
|
6天前
|
SQL Java 数据库连接
数据库迁移不再难:Flyway 与 Liquibase 大比拼,哪个才是你的真命天子?
【9月更文挑战第3天】数据库迁移在软件开发中至关重要,尤其在使用 ORM 框架如 Hibernate 时。为确保部署时能顺利应用最新的数据库变更,开发者常使用自动化工具。Flyway 和 Liquibase 是当前流行的两种选择,均能有效管理数据库版本控制。Flyway 采用 SQL 脚本表示变更,简单易用;Liquibase 支持多种脚本格式,功能更强大,适合复杂项目。本文将对比这两种工具的特点,并通过示例展示各自的优缺点,帮助开发者根据项目需求做出合适的选择。
13 1
|
8天前
|
前端开发 C# 设计模式
“深度剖析WPF开发中的设计模式应用:以MVVM为核心,手把手教你重构代码结构,实现软件工程的最佳实践与高效协作”
【8月更文挑战第31天】设计模式是在软件工程中解决常见问题的成熟方案。在WPF开发中,合理应用如MVC、MVVM及工厂模式等能显著提升代码质量和可维护性。本文通过具体案例,详细解析了这些模式的实际应用,特别是MVVM模式如何通过分离UI逻辑与业务逻辑,实现视图与模型的松耦合,从而优化代码结构并提高开发效率。通过示例代码展示了从模型定义、视图模型管理到视图展示的全过程,帮助读者更好地理解并应用这些模式。
22 0
|
8天前
|
存储 C# 关系型数据库
“云端融合:WPF应用无缝对接Azure与AWS——从Blob存储到RDS数据库,全面解析跨平台云服务集成的最佳实践”
【8月更文挑战第31天】本文探讨了如何将Windows Presentation Foundation(WPF)应用与Microsoft Azure和Amazon Web Services(AWS)两大主流云平台无缝集成。通过具体示例代码展示了如何利用Azure Blob Storage存储非结构化数据、Azure Cosmos DB进行分布式数据库操作;同时介绍了如何借助Amazon S3实现大规模数据存储及通过Amazon RDS简化数据库管理。这不仅提升了WPF应用的可扩展性和可用性,还降低了基础设施成本。
26 0
|
8天前
|
SQL 数据采集 关系型数据库
|
8天前
|
数据库 关系型数据库 MySQL
惊!Hibernate与MySQL的绝密优化技巧大揭秘,让你的数据库飞起来!
【8月更文挑战第31天】在企业应用开发中,结合使用持久层框架Hibernate与数据库管理系统MySQL可显著提升数据库交互效率。本文探讨了多项优化策略,包括配置二级缓存、采用单向关联减少JOIN操作、优化HQL查询语句以及合理使用MySQL索引。通过具体示例,文章详细讲解了如何实施这些优化措施,以期为企业应用提供更高效稳定的数据支持。
16 0
|
9天前
|
API Java 开发框架
【从零到精通】如何用Play Framework快速构建RESTful API?看完这篇你就懂了!
【8月更文挑战第31天】《Play Framework快速入门:从零开始构建RESTful API》介绍了如何使用高性能Web开发框架Play Framework构建简单的RESTful API。从环境搭建到项目创建,再到实现用户列表的增删查功能,本文档详细指导每个步骤,并解释核心概念。适合初学者快速上手。首先确保已安装JDK和sbt,然后通过sbt创建Play项目,接着定义控制器、模型及路由,最后运行应用进行测试。通过本教程,你将掌握构建RESTful API的基础知识,为进一步学习Play Framework打下坚实基础。
18 0
|
9天前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
65 0
|
17天前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决