自建业务数据库正在面临的挑战
1. 有活动上线,压力突增,数据库却来不及扩容了;
2. 采用读写分离,刚更新的数据,却查询不到了;
3. 数据的主从复制经常中断;
4. 多台应用服务器用同一台数据库,高并发下性能出现问题了;
5. 数据库数据量持续增长(TB级别),业务发展速度快,没有时间和资源做分库/分表改造;
6. 库备份会锁表,需要和业务错峰进行;
云数据库的优势
阿里云数据库全面超越自建数据库,众多顶尖专家,业内名流加持,开源数据库内核优化,拥有业界领先的数据库自研能力,客户场景覆盖最全面。
云上业务数据库选型及迁移方案
MySQL生态的痛点问题及迁移方案
痛点问题
库备份会锁表,需要和业务错峰进行;
数据量持续增长(TB级别),业务发展速度快,没有时间做分库/分表改造;
采用读写分离,刚更新的数据,却查询不到;
压⼒突增,数据库来不及扩容;
多台应用服务器同一台数据库,高并发下性能出问题;
主从复制经常中断
云数据库RDS(MySQL版本)
a) 使用范围:
适用数据量在2T以下
按线下版本,选择RDS对应的MySQL版本(5.5,5.6,5.7或8.0)
b) 迁移工具:
使用DTS工具的数据迁移、数据实时同步功能;完成数据的全量和增量同步,同时支持数据回流到线下mysql源库。
c) 优势:
99.95%的服务可用性;
99.9999%的数据可靠性;
系统安全性:防DDoS攻击,云上自动的及时修复各种数据库安全漏洞;
数据库备份:自动备份;
部署扩容:快速部署,弹性扩容,极低人工运维
监控与报警:CloudDBA提供了自动的对磁盘、IOPS、CPU、网络流量等关键指标的监控和告警机制。
云数据库PolarDB for MySQL(并发读优化)
a) 适用范围:
数据量即将超过2T;
利用只读实例做读写分离,但是数据同步的延迟高,
大规模数据量的升级等场景,花费时间过长,影响业务连续性
目前支持mysql 5.6 版本
b) 迁移工具:
使用DTS工具的数据迁移、数据实时同步功能,完成数据的全量和增量同步
c) 优势:
弹性:自动扩容,无需规划,对于具有周期性,波峰波谷明显的业务有明显受益;
全局读一致性:读写分离,刚被更新的数据实时能查询到;
集群存储按需付费:高可用节点能用来作只读节点,多副本下存储成本控制;
零开发成本迁移:数据库迁移SQL无需重新设计、适配和联调等工作。
高可用性:Active-Active架构,可读写的主节点与只读节点间可以做failover
分布式数据库DRDS+RDS(MySQL版本)(并发写优化)
a) 适用范围:
云下使用了读写分离,但当面临高并发写入的时候,仍然无法很好支撑,需要更好的性能。
b) 迁移工具:
无直接工具使用,需要客户(伙伴)进行一定的改造。
c) 优势:
水平拆分:贴合业务的拆分方案,让操作聚焦少量数据,利用分布式特性,提升操作效率;
扩展性:分库分表本身是增加可读写的实例,因为读写性能都会提升;
分布式事务:可以根据场景要求设置事务的策略级别,以达到AP或者CP的效果
弹性:通过增减节点,让数据服务容量得到线性增加
全局唯一数字ID:为满足高性能写入,设置全局递增ID
安全性:SQL审计功能
Oracle生态的痛点问题及迁移方案
痛点问题
集中式架构,海量数据(1T,1亿条)后效率急剧下降
对于数据的升级硬件需要迁移数据,升级周期长,无法从容应对突如其来的业务高峰;
RAC集群架构看起来很美好,但是在多节点(>8个)以后性能无法按节点数线性提升;
灾备系统DG,会浪费一整套同样的硬件完全无法承担负载,Active DG需要另外购买一整套企业版+ADG license,远超硬件投资
云数据库RDS(PPAS版本)
a) 适用范围:
高度兼容Oracle语法;兼容范围涵盖:PL/SQL、数据类型、高级函数、表分区等;
涉及到存储过程触发器等功能需要PLSQL到Jave的转换改造;
b) 迁移工具:
评估和迁移工具ADAM
c) 优势:
对Oracle的高度兼容:兼容Oracle数据类型、PL/SQL,比其他迁移方案降低90%工作量;
同城容灾:HA企业级架构全双冗余保障,同城双中心;
存储的低成本:基于OSS云存储实现外部表处理,原理上用户空间无限扩展;满足数据冷热生命周期的管理需求;
高性能表分区:提供高性能表分区实现,兼容Oracle语法;
云数据库PolarDB-O
a) 适用范围:
自建Oracle数据库的版本为9i、10g、11g或12c版本;
兼容Oracle引擎,存储容量最高可达100TB,单库最多可扩展到16个节点,适用于企业多样化的数据库应用场景;
b) 迁移工具:
使用ADAM将自建Oracle数据库的结构迁移至PolarDB-O集群,然后使用DTS进行数据迁移;
c) 优势:
良好的兼容性:100+函数及数据库包、PL/SQL语法、表分区语法、Hint优化标记、类AWR性能分析报告、DUAL表、序列;
使用习惯的连续性:后续业务开发依然可以用Oracle语法;
云数据库RDS(MySQL版本)
a) 适用范围:
数据量小于100G;并且没有使用Oracle的高级功能;
涉及数据模型重构等改造工作;
b) 迁移工具:
评估和迁移工具ADAM;
c) 优势:
更低的成本;
更开放的社区和技术生态;
分布式数据库DRDS+RDS(MySQL版本)
a) 适用范围:
拥抱开源生态,能接受数据库类型的转换;
高并发写的需求,读写分离的需求,希望具有比Oracle更好的扩展性,更低的扩展成本;
涉及语法修改,数据模型重构等改造工作;
b) 迁移工具:
评估和迁移工具ADAM;
c) 优势:
分库分表:贴合业务的拆分方案,让操作聚焦少量数据,利用分布式特性,提升操作效率;
扩展性:分库分表本身是增加可读写的实例,因为读写性能都会提升;
分布式事务:可以根据场景要求设置事务的策略级别,以达到AP或者CP的效果
弹性:通过增减节点,让数据服务容量得到线性增加
全局唯一数字ID:为满足高性能写入,设置全局递增ID
安全性:SQL审计功能
SQL Server生态的痛点问题及迁移方案
痛点问题
运维成本的增加,license费用的持续增高;
需要读写分离的方案,满足高并发读的需求;
需要主备架构,满足容灾的需求
云数据库RDS(SQL Server版本)
a) 适用范围:
支持2012标准版,2012企业版,2016标准版,2016企业版,2012web版本、2017企业集群版。
线下购买独立实例成本昂贵的问题;
需要更快速便捷的数据库备份、迁移等功能;
b) 迁移工具:
1. 基于全量备份和增量备份的上云路径(业务中断时间控制在分钟级别):
使用SSMS备份本地数据库;
上传备份到OSS(openAPI或者OSSbrowser);
从OSS备份恢复数据库;
2. 基于DTS的迁移(业务不停服务的情况下,数据库迁移上云):
使用DTS的表结构迁移、全量数据迁移以及增量数据迁移;
c) 优势:
高可用:拥有秒级主备库切换能力,且还支持跨机房容灾切换。主备库数据都是三份拷贝,数据可靠性比9个9更高;
分布式事务:实现100%支持分布式事务和Linked Server,在同一个VPC内,可以自由创建Linked Server,实现跨库查询和分布式事务;
备份数据上云:支持将原生SQL Server备份文件上传到同地域OSS上,然后利用一键恢复至云数据库,引擎层面实现100%兼容;
云数据库RDS(SQL Server 2017集群版)
a) 适用范围:
严格高可用性需求,例如金融行业等
读写分离的需求;
迁移到RDS for SQL Sever 2017的集群版本
b) 迁移工具:
评估工具Database Assessment Tool
迁移工具:DTS
c) 优势:
高可用、读写分离,最大支持一主一备高可用架构和七个只读实例,支持横向扩展集群读能力;
适用场景:
利用只读实例分担流量高峰读请求;
独立隔离分析任务到只读实例。
PG生态的痛点问题及迁移方案
痛点问题
扩容的挑战,扩容花费的时间长;
数据库并发性问题: pg采用抢占资源的方式;
分布式集群技术不成熟;
数据同步的挑战: 某个实例有问题,若尝试在线恢复,时间很长;
云数据库RDS(Postgre SQL版本)
a) 适用范围:
数据量在6T以下,适用云盘30T以下;
按线下版本,选择RDS对应的PG版本(9.4、10或者11),推荐使用11版本;
b) 迁移工具:
使用DTS工具的数据迁移、数据实时同步功能,完成数据的全量和增量同步;
支持业务无停迁移;
c) 优势:
时空信息的处理能力:支持PostGIS,自研Ganos时空引擎,基于GeoSQL处理多维几何对象、移动对象轨迹等各类空间/时空信息;
多种数据模型的支持:JSON、XML、KV等;
全文检索能力:无需额外文本搜索的引擎;
低存储成本:基于OSS的云存储扩展,原理上支持2TB以上存储空间无限扩展;
安全稳定:白名单,审计等功能
云数据库PolarDB for PG
a) 适用范围:
数据量在6T以上;
读一致性、毫秒级延迟(物理复制)或者无锁备份等诉求;
b) 迁移工具:
使用pg_dumpall,pg_restore等工具完成自建PostgreSQL的全量数据迁移;
c) 优势:
计算节点和存储分离,快速弹性,应对不确定的业务增长,无锁备份;
性能:集群包含一个主节点和最多15个只读节点,满足高并发场景对性能的要求,尤其适用于读多写少的场景;
海量存储:支持上百TB级别数据,存储空间无需手动配置,根据数据量自动伸缩,您只需为实际使用的数据库容量付费。
“零”停机平滑数据迁移
同构数据源间数据迁移:
支持MySQL->MySQL、SQL Server-> SQL Server、PostgreSQL-> PostgreSQL、MongoDB-> MongoDB、Redis-> Redis、Oracle-> Oracle等多种数据源到RDS的上云迁移
异构数据源间数据迁移:
支持Oracle->MySQL、MySQL->DRDS、MySQL->OceanBase、DB2->MySQL等异构数据源间的数据迁移。
热迁移:
支持数据的结构迁移、全量迁移、增量迁移,通过结构、全量、增量迁移可帮助用户将数据实时同步到目标端,实现“零停机”的上云迁移。
多种数据源间的数据实时同步
轻松支持异地灾备、异地多活及数据实时分析等应用场景
丰富的同步场景:
支持RDS->RDS、RDS->NewSQL、NoSQL->NoSQL等多个场景的同步。如支持MySQL->MySQL、MySQL->AnalyticDB for MySQL、Redis->Redis等多个场景的数据同步,打通各种数据库生态,支持用户多样的业务场景。
双向同步:
支持MySQL <—>MySQL双向实时同步,帮助用户构建高效、安全、稳定的“双活”数据中心。
【云技术在线】提供数据库迁移上云方案的咨询和实施服务。