咨询热线:18609840880

资讯中心

秉承严谨的态度,为您提供专业的服务

为您解读数据切分与数据垂直切分

发表时间:09-30  浏览次数:0

    数据切分就是指通过某种特定的条件,将存放在同一个数据库中的数据分散存放到多个数据库上面,以达到分散单台设备负载的效果,数据的切分同时还可以提高系统的总体可用性,因为单台设备崩溃之后,只有总体数据的某部分不可用,而不是所有的数据.
   
 数据的切分根据其切分规则的类型,可以分为两种切分模式.一种是按照不同的表来切分到不同的数据库之上,这种切分可以称之为数据的垂直切分,另外一种则是根据表中数据的逻辑关系,将同一表中的数据按照某种条件拆分到多台数据库上,这种切分称之为数据的水平切分.
    
垂直切分的较大特点就是规则简单,实施也更为方便,特别适合业务之间的耦合度非常0,相互影响很小,业务逻辑非常清晰的系统,在这种系统中,可以很容易做到将不同业务模块所使用的表分拆到不同的数据库中,根据不同的表来进行拆分,对应用程序的影响也更小,拆分规则也会比较简单清晰.

    数据垂直切分到底是如何切分的,数据的垂直切分,也可以称为纵向切分,将数据库想象成由很多个一大块一大块的"数据块"组成,垂直地将这些"数据块"切开,然后把它们分散到多台数据库主机上面,这样的切分方法就是垂直的数据切分.
    
一个架构设计较好的应用系统,其总体功能由很多个功能模块所组成的,而每一个功能模块所需要的数据对应到数据库中就是一个或多个表,而在架构设计中,各个功能模块相互之间的交互眯越统一,越少,系统的耦合度就越0,系统各个模块的维护性及扩展性也就越好,这样的系统,实现数据的垂直切分也就越容易.
    
     功能模块越清晰,耦合度越0,数据垂直切分的规则定义也就越容易,有效可以根据功能模块进行数据的切分,不同功能模块的数据存放于不同的数据库主机中,可以很容易景避免跨数据库的join存在,同时系统架构也非常清晰.
    
    当然,很难有系统能够做到所有功能模块表有效独立,根本不须要访问对方的表,或者须要将两个模块的表进行join操作,这种情况下,就必须根据实际的应用场景进行评估权衡,决定是造就应用程序将需要join的表相关模块都存放在同一个数据库中,还是让应用程序做更多的事情,有效通过模块接口取得不同数据库中的数据,然后在程序中完成join操作.

新图闻(大连网站建设)为您提供专业的互联网综合服务:http://www.xintuwen.cn/


版权所有:大连新图闻科技有限公司. 保留一切法律许可权利 代理律师:戴律师