MySQL数据库优化方案一
原理
结构图
主要解决问题
- 单机数据库容量瓶颈: 随着数据量和访问量的增长,单机数据库会遇到很大的挑战,依赖硬件升级并不能完全解决问题。
- 单机数据库扩展困难:传统数据库容量扩展往往意味着服务中断,很难做到业务无感知或者少感知。
- 传统数据库使用成本高: 当业务数据和访问量增加到一定量时,传统数据库需要依赖特定的高端存储和小型机设备,成本曲线快速上升。
实施
- 兼容性测试
- 性能测试(部分业务逻辑可能需要调整)
- 数据迁移:阿里云数据传输服务DTS
需要考虑的问题
- 后续是否会继续使用MySQL数据库
- SQL兼容 : 不支持视图、存储过程、触发器、游标。管理后台受影响比较严重
- SQL拆分键使用不合理,会引起全表扫描,响应较慢。这样的情况出现之后,访问响应时间比单节点响应时间还要高
- DRDS 本身仅支持单分库的事务,暂不能支持多分库的事务(需要使用阿里云全局事务中间件才可以实现)
优势
- 可动态扩展(只需增加预算)
风险
- 实现难度较大
- 部分业务逻辑需要调整(数据库不兼容、或者部分功能不支持)
- 不能部分部署,必须所有问题全部解决,本方案才能顺利部署
成本
当前数据库成本
总计:389元/月
- RDS(8核2400M,连接数:600 IOPS:1200) : 389元/月
本方案实施后(单个RDS实例,实际需要性能提升,至少需要两个实例)
总计:3460元/月
- 据库服务DRDS(4核4G) : 1480元/月
- RDS(4核8G,50G存储, 连接数:2000 IOPS:5000) : 990元/月 * 2