传统应用层逻辑分库DB迁移阿里云DRDS+RDS分布式数据库

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云原生数据库 PolarDB 分布式版,标准版 2核8GB
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
简介: 随着互联网快速发展,我们的结构化关系数据库在高并发、海量数据的情况下面临单机扩展性问题,首先是单机数据库容量瓶颈,单机数据库在业务高速增长的情况下依赖硬件升级也会到达天花板,并且使用成本变得非常高,而且扩展性的复杂性也是比较高,传统数据库扩容往往意味着服务中断,很难做到业务无感知或者少感知。

随着互联网快速发展,我们的结构化关系数据库在高并发、海量数据的情况下面临单机扩展性问题,首先是单机数据库容量瓶颈,单机数据库在业务高速增长的情况下依赖硬件升级也会到达天花板,并且使用成本变得非常高,而且扩展性的复杂性也是比较高,传统数据库扩容往往意味着服务中断,很难做到业务无感知或者少感知。

    通过数据水平切换来现实分库可以帮助提升数据库整体性能、横向扩展性,切分后有效的降低了单台机器的访问负载,同时最大限度的降低了数据库服务节点宕机后的损失。

    

传统应用业务层逻辑或组件分库实现方式

8947d2a7aac0f0c67547674d0b1bcab3234307bc

                                应用和数据库按业务地域水平拆分     

 26a154bd9b1b4b32a402bb55710a6cd8e9b9bc46

                                应用JDBC驱动层组件封装实现水平拆分

 

传统模式的分库我们看以看到有把系统应用及数据库按业务属性(比如城市、区域、类型等)水平拆分为多个独立分系统,通过在接入层做路由;另外就是在应用通过封装JDBC Driver组件来实现访问分库,类似于通过MySQL的JDBC驱动访问MySQL。传统模式的分库方式虽然使用简单实用容易上手,但是版本难以控制/问题难以追踪排除,并且DB连接仍然和传统数据库一样无法收敛。

 

阿里云DRDS+RDS分布式数据库功能及优势

042267be6f48a9fb6787a06b64f0ab0bc6619caf

基于阿里云DRDS+RDS实现的分布式数据库数据读写存储集群化,不受单机限制,业务使用的连接数也无限制,DRDS中间件服务节点及后端RDS存储服务点都可以支持横向和纵向升级扩展,支持多种拆分模式规则,实现数据水平拆分;兼容 MySQL 协议和大部分 MySQL SQL 语法,无业务侵入式使用读写分离,提供全面的运维和监控能力:

     分库分表:支持 RDS/MySQL 的分库分表,在创建分布式数据库后,只需选择拆分键,DRDS 就可以按照拆分键生成拆分规则,实现数据水平拆分。
透明读写分离:通过使用 RDS 只读实例或者 MySQL 备机实现读写分离,帮助应用解决事务、只读实例或者备机挂掉、指定主备访问等细节问题,对应用无侵入,在 DRDS 控制台即可完成读写分离相关操作。
数据存储平滑扩容:当出现数据存储容量和访问量瓶颈时,DRDS 支持在线存储容量扩展,扩容无需应用改造,扩容进度支持可视化跟踪
服务升降配:DRDS 实例可以通过改变资源数量实现服务能力的弹性扩展。
分布式运维指令集:DRDS 提供独有分布式数据库运维指令集,如 SHOW SLOW、TRACE、SHOW NODE 等指令,快速发现和定位问题。
全局唯一数字序列:DRDS 支持分布式全局唯一且有序递增的数字序列。满足业务在使用分布式数据库下对主键或者唯一键以及特定场景的需求。
数据库账号权限体系:DRDS 支持类单机 MySQL 账号和权限体系,确保不同角色使用的账号操作安全。
分布式事务:DRDS 结合分布式事务套件 GTS,可以支持分布式事务,保证分布式数据库数据一致性。
监控报警:DRDS 支持对核心资源指标和数据库实例指标的实时监控和报警,如实例 CPU、网络 IO、活跃线程等,实时发现资源和性能瓶颈。

 

   

数据迁移-多分库DB数据迁移到DRDS+RDS分布式单个逻辑库

     目前阿里云提供数据迁移工具DTS或数据集成等产品,另外数据集成开源版Datax可以下载部署支持更灵活的方式;

     数据传输(数据传输(Data Transmission)是阿里云提供的一种支持RDBMS(关系型数据库)、NoSQL、OLAP等多种数据源之间数据交互的数据服务。它提供了数据迁移、实时数据订阅及数据实时同步等多种数据传输能力。通过数据传输可实现不停服数据迁移、数据异地灾备、跨境数据同步、缓存更新策略等多种业务应用场景)是阿里云提供的一种支持RDBMS(关系型数据库)、NoSQL、OLAP等多种数据源之间数据交互的数据服务。它提供了数据迁移、实时数据订阅及数据实时同步等多种数据传输能力。通过数据传输可实现不停服数据迁移、数据异地灾备、跨境数据同步、缓存更新策略等多种业务应用场景

Mysql到DRDS数据迁移指导手册: https://help.aliyun.com/document_detail/48470.html

 

数据集成是稳定高效、弹性伸缩的数据同步平台,提供丰富的异构数据源之间数据高速稳定的数据移动及同步能力。丰富的数据源支持:文本存储(FTP/SFTP/OSS/多媒体文件 等)、数据库(RDS/DRDS/MySQL/PostgreSQL 等)、NoSQL(Memcache/Redis/MongoDB/HBase 等)、大数据(MaxCompute/ AnalyticDB/HDFS 等) 、MPP数据库(HybridDB for MySQL等)

迁移工具

部署方式

迁移方式

优势

DTS

PAAS云服务

全量+增量

不停服迁移/白屏化操作

数据集成

PAAS云服务

全量

支持数据库类型丰富/白屏化操作/同步任务管理

Datax

自建部署

全量

灵活,可满足复杂数据迁移场景

 

  

1.     对于传统分库方式往DRDS+RDS的数据迁移,分库数比较少/要求不停服的情况下可以使用DTS,主要是因为每个源分库需要创建一个数据迁移任务,如果分库数较多,那么创建迁移任务的工作量也是很大的;另外对于目标数据源结构变化大,需要源数据库多表合并jion迁移到目标库的场景不适应DTS,可以使用数据集成

2.     分库数较多和需要源数据库多表合并jion迁移到目标库,比如几十上百分库数的,建议使用数据集成或datax来迁移数据;但不支持增量迁移,要实现增量迁移的需要源表有insert或update时间戳

目录
相关文章
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
245 82
【YashanDB知识库】MySQL迁移至崖山char类型数据自动补空格问题
**简介**:在MySQL迁移到崖山环境时,若字段类型为char(2),而应用存储的数据仅为'0'或'1',查询时崖山会自动补空格。原因是mysql的sql_mode可能启用了PAD_CHAR_TO_FULL_LENGTH模式,导致保留CHAR类型尾随空格。解决方法是与应用确认数据需求,可将崖山环境中的char类型改为varchar类型以规避补空格问题,适用于所有版本。
【YashanDB知识库】Kettle迁移MySQL到YashanDB
本文介绍了使用Kettle将MySQL数据库中的中文数据迁移到YashanDB的方法,解决因YMP不支持Latin1字符集导致的乱码问题。提供了Windows和Linux两种环境下的操作步骤,包括配置JAVA环境、解压作业包、设置数据库连接(MySQLInput与YashanOutput)、修改表列表配置文件及运行迁移任务。Windows环境支持图形界面便于调试,Linux环境网络性能更优。通过详细的操作指南,确保数据迁移成功并可重试无冲突。
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】字符集latin1的MySQL中文数据如何迁移到YashanDB
本文探讨了在使用YMP 23.2.1.3迁移MySQL Server字符集为latin1的中文数据至YashanDB时出现乱码的问题。问题根源在于MySQL latin1字符集存放的是实际utf8编码的数据,而YMP尚未支持此类场景。文章提供了两种解决方法:一是通过DBeaver直接迁移表数据;二是将MySQL表数据转换为Insert语句后手动插入YashanDB。同时指出,这两种方法适合单张表迁移,多表迁移可能存在兼容性问题,建议对问题表单独处理。
【YashanDB知识库】字符集latin1的MySQL中文数据如何迁移到YashanDB
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
从 MySQL 到时序数据库 TDengine:Zendure 如何实现高效储能数据管理?
TDengine 助力广州疆海科技有限公司高效完成储能业务的数据分析任务,轻松应对海量功率、电能及输入输出数据的实时统计与分析,并以接近 1 : 20 的数据文件压缩率大幅降低存储成本。此外,taosX 强大的 transform 功能帮助用户完成原始数据的清洗和结构优化,而其零代码迁移能力更实现了历史数据从 TDengine OSS 与 MySQL 到 TDengine 企业版的平滑迁移,全面提升了企业的数据管理效率。本文将详细解读这一实践案例。
43 0

推荐镜像

更多