监理公司管理系统 | 工程企业管理系统 | OA系统 | ERP系统 | 造价咨询管理系统 | 工程设计管理系统 | 甲方项目管理系统 | 签约案例 | 客户案例 | 在线试用
X 关闭
合同管理软件

当前位置:工程项目OA系统 > OA系统企业版 > 相关软件 > 合同管理软件

合同管理系统数据拆分方案

申请免费试用、咨询电话:400-8352-114

  一、背景

  中国联通合同系统从2010年开始建设,2010年12月份正式开始使用,作为一个全国使用的集中制建设系统,用于支撑联通全国用户的合同管理,进行合同的全生命周期管理。从各省历史数据迁移到各省每年新增的数据使用情况来看,系统关键数据量以及非常大,目前数据库文件大概2T,系统使用人数规模为30w人,每天待办数量达到20w,系统并发达到1000。在这四年中,合同系统的容量经历了每年指数级的提升,如果不进行数据库拆分,这么大的开销单靠一台物理db完全是支撑不了的,所以必须对单点的物理db进行拆分。

  二、数据拆分常用的方法

  Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题;不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直拆分,即把关系紧密(比如同一业务模块)的表切分出来放在一个物理db上;如果表并不多,但每张表的数据非常多,这时候适合水平拆分,即把表的数据按某种规则(比如按ID散列)拆分到多个物理db上;当然,现实中更多是这两种情况混杂在一起,这时候需要根据实际情况做出选择,也可能会综合使用垂直与水平拆分,从而将原有数据库切分成类似矩阵一样可以无限扩充的数据库(server)阵列。

  垂直拆分的最大特点就是规则简单,实施也更为方便,尤其适合各业务之间的耦合度非常低,相互影响很小,业务逻辑非常清晰的系统,也可以对故障进行有效的隔离;在这种系统中,可以很容易做到将不同业务模块所使用的表分拆到不同的数据库中;根据不同的表来进行拆分,对应用程序的影响也更小,拆分规则也会比较简单清晰。

  水平拆分更多的是解决db带来的整体容量和性能问题,对于表中的数据按照某一种规则拆分到不同的物理表或者物理db中,从而把应用对数据库的访问压力分散到不同的db;其实本质还是进行分布式的部署架构思路;但是这种规则拆分后的数据必须尽量达到平均,否则就失去的拆分的意义。

  二、合同系统数据拆分方案

  根据数据拆分的两种方案,以及结合合同系统的实际业务数据分布情况,合同系统适合使用水平拆分,即把系统的表按照某种规则拆分到多个物理db中,以此解决数据库的性能瓶颈,提高系统的整体性能。经过实际的分析,合同系统各省直接的业务相对独立,除了省与集团之间存在数据交互,各省之间数据相对独立,不存在数据的交互,根据这种情况,合同系统适合根据省份编码把系统数据拆分至多个物理db中,以此来提高系统的整体性能。



发布:2007-03-26 16:17    编辑:泛普软件 · xiaona    [打印此页]    [关闭]
相关文章:
相关软件
联系方式

成都公司:成都市成华区建设南路160号1层9号

重庆公司:重庆市江北区红旗河沟华创商务大厦18楼

咨询:400-8352-114

加微信,免费获取试用系统

QQ在线咨询