`
jormen_chen
  • 浏览: 3353 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多
[size=x-small]数据库水平拆分和垂直拆分区别


      案例:
    简单购物系统暂设涉及如下表:
1.产品表(数据量10w,稳定)
2.订单表(数据量200w,且有增长趋势)
3.用户表 (数据量100w,且有增长趋势)
以mysql为例讲述下水平拆分和垂直拆分,mysql能容忍的数量级在百万静态数据可以到千万


垂直拆分:
解决问题:
表与表之间的io竞争
不解决问题:
单表中数据量增长出现的压力
方案:
把产品表和用户表放到一个server上
订单表单独放到一个server上



水平拆分:
解决问题:
单表中数据量增长出现的压力
不解决问题:
表与表之间的io争夺
方案:
用户表通过性别拆分为男用户表和女用户表
订单表通过已完成和完成中拆分为已完成订单和未完成订单
产品表 未完成订单放一个server上
已完成订单表盒男用户表放一个server上
女用户表放一个server上(女的爱购物 哈哈)
[/size]
分享到:
评论
1 楼 45088648 2013-01-29  
数据库表多大应该拆分?

相关推荐

    数据库垂直拆分与水平拆分概念

     垂直拆分是要把表按模块划分到不同数据库表中(当然原则还是不破坏第三范式),这种拆分在大型网站的演变过程中是很常见的。当一个网站还在很小的时候,只有小量的人来开发和维护,各模块和表都在一起,当网站...

    数据库+分表分库+垂直拆分与水平拆分

    本文介绍了数据库中的分表分库技术,包括垂直拆分和水平拆分两种方式。垂直拆分是根据数据表中的列进行拆分,将不同的列分到不同的表中,适用于数据表中存在使用频率、敏感信息、大型文本信息和1对多关系等情况。...

    基于mybatis框架,数据库垂直、水平拆分及读写分离实现

    对spring整合mybatis的SqlSessionTemplate进行修改,对数据库数据库垂直、水平拆分及读写分离进行支持,并构建相应的模型。同时实现一致性哈希的分表策略。

    一分钟掌握数据库垂直拆分

    (1)水平拆分和垂直拆分都是降低数据量大小,提升数据库性能的常见手段 (2)流量大,数据量大时,数据访问要有service层,并且service层不要通过join来获取主表和扩展表的属性 (3)垂直拆分的依据,尽量把长度较...

    ChainSQL与分布式数据库以及数据库集群的区别.docx

    干货分享(一) " ChainSQL与分布式数据库以及数据库集群的区别 干货分享(一) " ChainSQL与分布式数据库以及数据库集群的...垂直拆分是把不同的表拆到不同的数据库中,而水平拆分是把同一个表拆到不同的数据库中。当

    基于MyBatis的数据库切分框架,可实现数据的水平切分和垂直切分

    它通过将数据水平或垂直拆分到多个数据库节点上,从而提高系统的并发处理能力和存储能力。您提供的 demo 使用了 MyBatis 这一流行的 ORM 框架,实现了数据的水平切分和垂直切分。 在水平切分中,您可能使用了诸如 ...

    分布式MySQL数据库中间件,支持数据的水平、垂直拆分,支持分库分表,支持读写分离,支持结果集合并,支持故障自动切换。.zip

    分布式MySQL数据库中间件,支持数据的水平、垂直拆分,支持分库分表,支持读写分离,支持结果集合并,支持故障自动切换。

    mysql面试题(涉及索引、事务、锁)

    mysql分库分表,水平拆分和垂直拆分,水平拆分后如何路由 MySQL 索引使用的注意事项 left join,right join,inner join 说说分库与分表设计 分库与分表带来的分布式困境与应对之策(如何解决分布式下的分库分表,...

    MySQL数据库设计、优化.pptx

    持续写入,避免瞬间压力 超长text/blob进行垂直拆分,并先行压缩 冷热数据进行水平拆分,LRU原则 快速更新大数据表禁止直接运行count(*)统计 MySQL数据库设计、优化全文共24页,当前为第3页。 规范 基础规范 单表行...

    史上最全数据库中间件详解

    垂直拆分、读写分离、分库分表(水平拆分)。每个拆分过程都能解决业务上的一些问题,但同时也面临了一些挑战。  1.1 垂直拆分 对于一个刚上线的互联网项目来说,由于前期活跃用户数量并不多,并发量也相对较小,所以...

    如何实现高容量大并发数据库服务|数据库分布式架构设计?

    数据库分布式改造要遵循“循序渐进”的拆分原则拆分方式有垂直拆分和水平拆分两种,选择拆分方式要根据企业自身业务发展需要。一般来说,是先做垂直拆分,再做水平拆分。在单一数据节点无法满足业务和用户增长需求的...

    MYCAT安装和使用.docx

    在linux mysql主从配置数据库的水平拆分与垂直拆分,与优化数据库,实现高可用,可以通过修改从库中的数据实现检测mysql是否已经实现了负载均衡.要求修改的数据必须不能为主键/外键,否则有问题.

    数据库表分割技术浅析(水平分割/垂直分割/库表散列)

    数据库表分割技术包含以下内容:水平分割/垂直分割/库表散列.接下来将对以上分割进行详细介绍,感兴趣的朋友可以了解下,对你日后维护数据库是很有帮助的

    大型网站架构改进历程:存储的瓶颈(四)

    在讲数据库水平拆分时候,我列出了水平拆分数据库需要解决的两个难题,它们分别是主键的设计问题和单表查询的问题,主键问题前文已经做了比较详细的讲述了,但是第二个问题我没有讲述,今天我将会讲讲如何解决数据表...

    数据库数据分片(分库分表)

    数据切分有两种类型:垂直拆分与水平拆分。 垂直拆分: 1.表的垂直拆分:将一个表中的字段拆分到多个表中 拆分原则: 把不常用的字段单独放在一张表; 把text,blob等大字段拆分出来放在附表中; 经常组合查询的列放在...

    单机到分布式的研究

    1、单机 2、单机负载警告,数据与应用分离 3、应用服务器警告,应用服务器集群 4、数据库压力过大,读写分离 5、数据库再遇瓶颈,数据库垂直拆分 6、单机数据库又遇瓶颈,水平拆分7、数据库解决问后,...

    MySQL数据库优化之分表分库操作实例详解

    主要介绍了MySQL数据库优化之分表分库操作,结合实例形式详细分析了mysql数据库分表分库垂直拆分、水平拆分相关原理以及应用案例,需要的朋友可以参考下

    PostgreSQL分区表(partitioning)应用实例详解

    项目中有需求要垂直分表,即按照时间区间将数据拆分到n个表中,PostgreSQL提供了分区表的功能。分区表实际上是把逻辑上的一个大表分割成物理上的几小块,提供了很多好处,比如: 1、查询性能大幅提升 2、删除历史...

    Timo:分布式MySQL数据库中间件,支持数据的水平、垂直拆分,支持分库分表,支持读写分离,支持结果集合并,支持故障自动切换

    Timo目前是实验性质,主要用于熟悉相关技术,实现个人想法,提高姿势水平。(●`・(エ)・´●) Timo Technical Terms [Timo中的术语介绍] (./doc/TimoTechnicalTerms.md) Quick Start [马上开始使用Timo!] (./doc/...

Global site tag (gtag.js) - Google Analytics