大规模数据库迁云解决方案

简介: 很多的大型业务,有着非常繁杂的业务逻辑,随着上云迁云的趋势,越来越多的数据库需要在迁移和搬迁的路上。那么大型系统的数据库,如何高效稳定的搬迁,就需要研究下细节了。

很多的大型业务,有着非常繁杂的业务逻辑,随着上云迁云的趋势,越来越多的数据库需要在迁移和搬迁的路上。那么大型系统的数据库,如何高效稳定的搬迁,就需要研究下细节了。

1、业务评估和技术选型
首先要确定自己的业务有用到多少种产品,以数据库来说,需要知道自己使用了哪些数据库,比如MySQL,Redis等多种不同的数据库。

值得注意的是:
1)不同的云厂商,同一类别的产品,名字可能不同。
比如mongodb,在AWS叫做documentDB,在Azure叫做cosmosDB。 这当中的技术实现也会有些许差别,但总归可以看做一类。

2)相同的类别,但是可能特性和社区版有差异。
比如MySQL的开源分支有Oracle版,percona版,mariadb版本。
Redis也有社区集群和codis集群这种区别。

3) 阿里云企业版的特性
MySQL为例,我们有高度兼容的社区优化版 AliSQL,也有企业版XDB 三节点
Redis 我们也有社区版,和企业版TairDB
这些企业版特性,都是针对社区版功能,做了特性深度改造,同时一般都是由阿里内部长期使用,除了特性上优化,稳定性也是经得起考验。

2、实施过程
在搞清楚对标的产品后,下一步就是要做具体的迁云实施

大规模的搬站,往往不仅仅是数据库的搬站,还包括应用的搬迁。 所以一般都会有一个切换时间,在运维窗口期,统一的把应用和数据库同步切换到云平台。
有些场景特别的复杂,比如多套应用相互有依赖,无法单独剥离,如果无法一起搬迁。 则要考虑分批搬迁,这样就会有一个新的要求。

即: 已经切换的应用,需要走阿里云的数据库链路,同时还要考虑保留一条反向链路,作为兜底回滚。 没有切换的关联应用数据库,则需要走本地只读,或者远程读写访问。

这样的双活场景,能够有效保障切换和没切换的应用,都能正常工作。同时提供兜底回滚方案,避免中间过程的问题。 我们的DTS 双向同步,则能很好的实现这样的逻辑。

3、 实施细节
数据库的搬迁,还存在一些细节,需要大家注意。
首先,不能在迁移的过程中,大规模使用大事务、DDL、热点写等情况。 这些都会带来同步链路的延迟,如果有双活业务,那么需要非常重视,可能导致不一致读,引发业务问题。

其次,我们的双向同步中,只有正向链路具备同步DDL的能力,反向链路只能同步DML。 如果反向链路的源,需要做DDL,则会被忽略。 另外,如果使用了ghostptosc等开源无锁表结构变更的情况,这些工具生产的影子表,因为不会被同步,所以影子表的增量,会导致DTS链路报错。

相关文章
|
1月前
|
关系型数据库 MySQL Java
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
51 0
|
1月前
|
数据库
数据库创建之主文件不能容纳副本的解决方案
数据库创建之主文件不能容纳副本的解决方案
31 1
|
3月前
|
运维 数据库 数据库管理
云数据库问题之阿里云在运营商领域数据库替换的整体解决方案要如何实现
云数据库问题之阿里云在运营商领域数据库替换的整体解决方案要如何实现
|
3月前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
5天前
|
算法 安全 数据库
数据库死锁的解决方案有哪些?
【10月更文挑战第28天】数据库死锁是数据库管理中的一个常见问题
31 15
|
12天前
|
关系型数据库 MySQL 数据库
一个 MySQL 数据库死锁的案例和解决方案
本文介绍了一个 MySQL 数据库死锁的案例和解决方案。
17 3
|
22天前
|
NoSQL 数据管理 关系型数据库
利用阿里云的尖端数据库解决方案增强游戏数据管理
利用阿里云的尖端数据库解决方案增强游戏数据管理
|
1月前
|
SQL 数据库
SQL-serve数据库不能连接本地服务器的解决方案
SQL-serve数据库不能连接本地服务器的解决方案
128 0
|
3月前
|
XML 分布式数据库 数据库
【计算机三级数据库技术】第13章 大规模数据库架构--附思维导图
文章概述了分布式数据库、并行数据库、云计算数据库架构和XML数据库的基本概念、目标、体系结构以及与传统数据库的比较,旨在提供对这些数据库技术的全面理解。
42 1
|
4月前
|
关系型数据库 分布式数据库 数据库
PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。
【7月更文挑战第3天】PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。通过数据分片和水平扩展支持微服务弹性,保证高可用性,且兼容MySQL协议,简化集成。示例展示了如何使用Spring Boot配置PolarDB,实现服务动态扩展。PolarDB缓解了微服务数据库挑战,加速了开发部署,为云原生应用奠定基础。
289 3