12.MySQL应用架构演变

MySQL应用架构演变

1.总览

  • 单机单库
  • 主从架构
  • 分库分表
  • 云数据库

2.单机单库

介绍

一个简单的小型网站或者应用背后的架构可以非常简单,数据存储只需要一个MySQL Instance就能满足数据读取和写入需求(这里忽略掉了数据备份的实例),处于这个的阶段系统,一般会把所有的信息存到一个MySQL Instance里面

图示

问题

  • 数据量大引起的存储空间不够和性能问题
  • 可用性问题(就一台机器)

3.主从架构

介绍

v2.0架构主要解决v1.0下的高可用和读扩展问题,通过给Instance挂载从库解决读取的压力,主库宕机也可以通过主从切换保证高可用。在MySQL的场景下就是通过主从结构(双主结构也属于特殊的主从),主库抗写压力,通过从库来分担读压力,对于写少读多的应用,v2.0主从架构完全能够升任

图示

问题

  • 无法解决写并发高的问题
  • 数据过多存储不下的问题

4.分库分表

介绍

对于v1.0和v2.0遇到写入瓶颈和存储瓶颈时,可以通过水平拆分来解决,水平拆分和垂直拆分有较大区别,垂直拆分拆完的结果,每一个实例都是拥有全部数据的,而水平拆分之后,任何实例都只有全量的1/n的数据

图示

问题

  • 数据增删改查路由问题(被路由到那个库处理这个请求)
  • 数据拆分问题(数据要怎么被拆分到多个库中)
  • 数据一致性问题(分库分表之后存在分布式事务问题)

5.云数据库

介绍

云数据库(云计算)现在是各大IT公司内部作为节约成本的一个突破口,对于数据存储的MySQL来说,如何让其成为一个saas(Software as a Service)是关键点。MySQL作为一个saas服务,服务提供商负责解决可配置性,可扩展性,多用户存储结构设计等这些疑难问题

图示

相关推荐
Pocker_Spades_A39 分钟前
基于代价模型的连接条件下推:复杂SQL查询的性能优化实践
数据库·sql·性能优化
huan19911042 分钟前
Python使用PyMySQL操作MySQL完整指南
数据库·python·mysql
双星系统1 小时前
ABB机器人DSQC 679示教器电缆选型与故障排查(附原装型号对照表)
网络·数据库·机器人·工业4.0·工业机器人
5G行业应用1 小时前
6G未来网络架构ATHENA愿景——《2026韩国SK电讯6G白皮书》
网络·架构
TDengine (老段)1 小时前
TDengine 视图功能使用
大数据·数据库·servlet·时序数据库·tdengine·涛思数据
TDengine (老段)1 小时前
TDengine IDMP 运维指南 —— 部署架构
大数据·运维·数据库·架构·时序数据库·tdengine·涛思数据
Zzzzmo_1 小时前
【MySQL】索引详解
数据库·mysql
balmtv1 小时前
Linux(CentOS)安装 MySQL
linux·mysql·centos
ai产品老杨2 小时前
消融协议壁垒:基于GB28181/RTSP融合网关的多品牌设备统一接入与边缘推流架构
架构
huangliang07032 小时前
postgresql 日志中文乱码
数据库·postgresql