MySQL,数据库水平拆分和垂直拆分区别

Anonymity | | 访问(176)

  数据库水平拆分和垂直拆分区别(以mysql为例)

  案例:

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

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

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

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

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

  垂直拆分:

  解决问题:

  表与表之间的io竞争

  不解决问题:

  单表中数据量增长出现的压力

  方案:

  把产品表和用户表放到一个server上

  订单表单独放到一个server上

  水平拆分:

  解决问题:

  单表中数据量增长出现的压力

  不解决问题:

  表与表之间的io争夺

  方案:

  用户表通过性别拆分为男用户表和女用户表

  订单表通过已完成和完成中拆分为已完成订单和未完成订单

  产品表 未完成订单放一个server上

  已完成订单表盒男用户表放一个server上

  女用户表放一个server上(女的爱购物 哈哈)