数据库水平拆分和垂直拆分区别
- 案例:
-
简单购物系统暂设涉及如下表:1.产品表(数据量10w,稳定)2.订单表(数据量200w,且有增长趋势)3.用户表 (数据量100w,且有增长趋势)以mysql为例讲述下水平拆分和垂直拆分,mysql能容忍的数量级在百万静态数据可以到千万垂直拆分:解决问题:表与表之间的io竞争不解决问题:单表中数据量增长出现的压力方案:把产品表和用户表放到一个server上订单表单独放到一个server上水平拆分:解决问题:单表中数据量增长出现的压力不解决问题:表与表之间的io争夺方案:用户表通过性别拆分为男用户表和女用户表订单表通过已完成和完成中拆分为已完成订单和未完成订单产品表 未完成订单放一个server上已完成订单表盒男用户表放一个server上女用户表放一个server上(女的爱购物 哈哈)
怎么进行表的水平拆分和垂直拆分这个要根据业务来定,水平拆分就是分库分表但是表结构全一样。垂直拆分就是把一张宽表分成多个小表把经常一起使用的列放到一起。不过无论怎么做都要先了解业务场景。
原文链接:http://blog.csdn.net/zljjava/article/details/38422387