拆分其实又分垂直拆分和水平拆分

案例: 简单购物系统暂设涉及如下表:

1.产品表(数据量10w,稳定)

2.订单表(数据量200w,且有增长趋势)

3.用户表 (数据量100w,且有增长趋势)

以 MySQL 为例讲述下水平拆分和垂直拆分,MySQL能容忍的数量级在百万静态数据可以到千万

垂直拆分

解决问题:表与表之间的io竞争

不解决问题:单表中数据量增长出现的压力

方案: 把产品表和用户表放到一个server上 订单表单独放到一个server上

水平拆分

解决问题:单表中数据量增长出现的压力

不解决问题:表与表之间的io争夺

方案:用户表 通过性别拆分为男用户表和女用户表,订单表 通过已完成和完成中拆分为已完成订单和 未完成订单,产品表 未完成订单放一个server上,已完成订单表盒男用户表放一个server上,女用户表放 一个server上(女的爱购物 哈哈)。