• ADADADADAD

    MySQL垂直切分和水平切分概念和优缺点介绍[ mysql数据库 ]

    mysql数据库 时间:2024-12-24 19:10:54

    作者:文/会员上传

    简介:

    数据的切分(Sharding)根据其切分规则的类型,可以分为两种切分模式。一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,这种切可以称之为数据的垂直(纵向)切分;另外一种则

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    数据的切分(Sharding)根据其切分规则的类型,可以分为两种切分模式。一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,这种切可以称之为数据的垂直(纵向)切分;另外一种则是根据表中的数据的逻辑关系,将同一个表中的
    数据按照某种条件拆分到多台数据库(主机)上面,这种切分称之为数据的水平(横向)切分。

    垂直切分
    一个数据库由很多表的构成,每个表对应着不同的业务,垂直切分是指按照业务将表进行分类,分布到不同的数据库上面,这样也就将数据或者说压力分担到不同的库上面, 如下图:



    垂直切分的优缺点介绍:
    优点:
    拆分后业务清晰,拆分规则明确。
    系统之间整合或扩展容易。
    数据维护简单。
    缺点:
    部分业务表无法join,只能通过接口方式解决,提高了系统复杂度。
    受每种业务不同的限制存在单库性能瓶颈,不易数据扩展跟性能提高。
    事务处理复杂。
    由于垂直切分是按照业务的分类将表分散到不同的库,所以有些业务表会过于庞大,存在单库读写与存储瓶颈,所以就需要水平
    拆分来做解决。


    水平切分
    相对于垂直拆分,水平拆分不是将表做分类,而是按照某个字段的某种规则来分散到多个库之中,每个表中包含一部分数据。简单来说,我们可以将数据的水平切分理解为是按照数据行的切分,就是将表中的某些行切分到一个数据库,而另外的某些行又切
    分到其他的数据库中,如下图:



    水平切分的优缺点介绍:
    优点:
    拆分规则抽象好,join操作基本可以数据库做。
    不存在单库大数据,高并发的性能瓶颈。
    应用端改造较少。
    提高了系统的稳定性跟负载能力。
    缺点:
    拆分规则难以抽象。
    分片事务一致性难以解决。
    数据多次扩展难度跟维护量极大。
    跨库join性能较差。


    垂直切分和水平切分共同的特点和缺点有:
    引入分布式事务的问题。
    跨节点Join的问题。
    跨节点合并排序分页问题。
    多数据源管理问题。

    MySQL垂直切分和水平切分概念和优缺点介绍.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysql概念介绍