zoukankan      html  css  js  c++  java
  • 数据库水平拆分和垂直拆分区别

    案例:
        简单购物系统暂设涉及如下表:
    1.产品表(数据量10w,稳定)
    2.订单表(数据量200w,且有增长趋势)
    3.用户表 (数据量100w,且有增长趋势)
    以mysql为例讲述下水平拆分和垂直拆分,mysql能容忍的数量级在百万静态数据可以到千万
     
    垂直拆分:
    解决问题:
    表与表之间的io竞争
    不解决问题:
    单表中数据量增长出现的压力
    方案:
    把产品表和用户表放到一个server上
    订单表单独放到一个server上
     
    水平拆分:
    解决问题:
    单表中数据量增长出现的压力
    不解决问题:
    表与表之间的io争夺
     
    方案:
    用户表通过性别拆分为男用户表和女用户表
    订单表通过已完成和完成中拆分为已完成订单和未完成订单
    产品表 未完成订单放一个server上
    已完成订单表盒男用户表放一个server上
    女用户表放一个server上(女的爱购物 哈哈)

    怎么进行表的水平拆分和垂直拆分这个要根据业务来定,水平拆分就是分库分表但是表结构全一样。垂直拆分就是把一张宽表分成多个小表把经常一起使用的列放到一起。不过无论怎么做都要先了解业务场景。

    原文链接:http://blog.csdn.net/zljjava/article/details/38422387

  • 相关阅读:
    caffe学习笔记(1)安装
    windows下遍历文件夹
    图像处理之OpenCV
    OpenCV的安装和使用
    使用cpplint检测代码规范
    图像处理之原理
    Python 在cmd中import模块成功,但是在jupyter notebook中No module xxx found
    Win10上使用VS2015编译Caffe2
    Win10, VS2017环境下OpenCV3.4.2的配置
    C++ main函数的参数
  • 原文地址:https://www.cnblogs.com/gotodsp/p/6511122.html
Copyright © 2011-2022 走看看