数据库上云实践
阿里巴巴-玄惭
自我介绍
玄惭
出自《天龙八部》
阿里巴巴数据库工程师
概览
上云场景
上云三部曲
上云产品
穹顶之下
视频发布当天,该APP由于流量过大导致瘫痪
云端之上
总结:快速完成扩容和弹性,云计算拯救了这个APP
上云场景
……
阿里云数据库(RDS)简介
关系型数据库服务(Relational Database Service,简称RDS)是一种稳定可靠、可弹性伸缩
的在线数据库服务。RDS采用即开即用方式,兼容MySQL、MSSQL、PG三种关系型数据库,
并提供数据库在线扩容、备份回滚、性能监测及审计分析等功能。
云数据库RDS
?
上云困难点
陌生的云环境 系统迁移成本 系统迁移风险
• 是否适合上云?
• 架构如何选择?
• 数据如何上云?
• 应用上云成本多
大?
• 迁移应用停机时间多
长?
• 能否快速回滚?
上云过程中的困难点:云产品架构推荐、改造成本评
估、数据迁移上云、最短停机方案及快速回滚方案
上云前
上云:三部曲
系统调研与评估、架构设
计、应用改造、压测
数据库迁移
数据库管理、诊断、优化
上云中
上云后
上云前:系统调研与评估
上云考虑:业务、成本、架构
上云技术:是否换用存储架构、迁移不停机、云产品的限制
上云前:架构设计
1.迁云架构最佳实践一:单实例架构
RDS(M) RDS(S)
参数配置:
内存:48G
IOPS:14000 IOPS
空间:1TB空间
支持:MySQL、MSSQL、PG
上云前:架构设计
2.迁云架构最佳实践二:只读节点
参数配置:
支持:MySQL()
应用场景:只读报表,读请求
RDS(M)
RDS(S)
只读节点1
只读节点2
上云前:架构设计
3.迁云架构最佳实践三:缓存服务OCS
RDS(M) RDS(S)
缓存服务(OCS)
RDS
参数配置:
OCS内存:20G
QPS:18000次/秒
上云前-架构设计
4.迁云架构最佳实践四:DRDS
参数配置:
支持:MySQL
应用场景:系统容量支持水平扩展
上云前-应用改造
R
D
S
产
品
的
限
制
1.不支持命令创建DB、账号
不支持linkserver、分布式事务
提供Oracle上云的解决方案
提供集中式到分布式的解决方案
上云前-压测
局域网、同一台主机
A机房 B机房
1. 性能压测
案例:应用从本地环境迁移上云后出现性能问题
C机房
上云中-数据库迁移
上云中-数据库迁移
全量校验
增量校验
结构迁移 全量迁移 增量迁移 应用切割
全量校验 增量数据已经追
平
应用选择停机迁
移方案
DTS可以满足用户跨数据库源、
应用无感知、数据强一致性等需求
,极大得降低了数据库迁移带来的
成本问题
应用选择不停机
迁移方案
上云后-数据库管理、诊断、优化
迁移 管理 诊断
上云后-数据库管理(DMS)
上云后-数据库诊断(CloudDBA)
1.诊断案例
上云后-数据库诊断
2.排查
1. Slow log
2. Show processlist
当前SQL的执行,包括执行状态、执行时间
3. Explain
表的读取顺序
哪些索引可以使用
哪些索引被实际使用
表之间的引用
每张表预估多少行被优化器查询
CPU 100%
IOPS 100%
连接数 100%
常见原因:
没有添加合适的索引;
隐式转换导致索引失效;
MySQL子查询导致sql执行过慢;
MySQL myisam存储引擎的表;
上云后-数据库优化
3.自动诊断建议
SELECT , FROM info a, reg_info b
WHERE =
and = ‘1000000000';
慢SQL:
建议:alter table reg_info add index
ind_reg_info(no)
原因: 没有在reg_info表上添加no的索引,导致对reg_info
表进行全表扫描
上云产品简介-DTS
数据传输服务(DTS)是提供数据迁移、数据实时同步的数据传输服务。
同时,还推出上云改造评估、去IOE改造等多种增值服务
数据迁移
数据实时同步
上云增值服务