一种数据切分的方法及系统的制作方法

文档序号:9911128阅读:315来源:国知局
一种数据切分的方法及系统的制作方法
【技术领域】
[0001]本发明涉及数据处理领域,特别涉及一种数据切分的方法及系统。
【背景技术】
[0002]随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,日益增长的业务数据,无疑对数据库造成了相当大的负载,同时要对于系统的稳定性和扩展性提出很高的要求。随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作的开销也会越来越大;另外,无论怎样升级硬件资源,单台服务器的资源(CPU、磁盘、内存、网络10、事务数、连接数)总是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。
[0003]如何缓解数据量的不断增长对数据库的压力,是本领域技术人员需要解决的技术问题。

【发明内容】

[0004]本发明的目的是提供一种数据切分的方法及系统,该方法及系统能够在数据量很大,数据急速膨胀的情况下,提高数据库的读写性能,提高数据库的效率。
[0005]为解决上述技术问题,本发明提供一种数据切分的方法,包括:根据数据的实际情况,选择相应的分区模式进行数据切分;
[0006]当需要确保数据库的稳定性并且业务数据属于读多写少的情况,则根据应用发起的数据切分请求,选择读写分离的分区模式对数据进行切分;
[0007]当单台数据库的硬件资源足够,但是单张表的数据超过阈值时,则根据应用发起的数据切分请求,选择单库分表的分区模式对数据进行切分;
[0008]当单台数据库的硬件资源不足时,则根据应用发起的数据切分请求,选择多库分表的分区模式对数据进行切分。
[0009]其中,读写分离的分区模式对数据进行切分包括:
[00?0]写操作时,确定配置为writeable = true对应的数据源,并将所述数据源中的数据插入到写数据库中;
[0011 ]将所述写数据库中的数据复制到读数据库中;
[0012]读操作时,确定配置为writeable = false对应的读数据库。
[0013]其中,读操作时,确定配置为writeable = false对应的读数据库包括:
[0014]读操作时,确定配置为writeable= falSe对应的读数据库,并利用负载均衡策略算法从所述读数据库中确定需要的读数据库。
[0015]其中,单库分表的分区模式对数据进行切分包括:
[0016]根据分区规则,建立分区逻辑表,其中,所述分区逻辑表定义规则实现类,表名以及分区范围;
[0017]根据所述分区逻辑表,建立所述分区逻辑表与物理表之间的关联关系,确定分片范围,并根据分片规则确定每个分片绑定的数据源;
[0018]建立数据连接,对数据库的不同表进行读写操作。
[0019]其中,多库分表的分区模式对数据进行切分包括:
[0020]根据分区规则,建立分区逻辑表,其中,所述分区逻辑表定义规则实现类,表名以及分区范围;
[0021]根据所述分区逻辑表,建立所述分区逻辑表与物理表之间的关联关系,确定分片范围,并根据分片规则确定每个分片绑定的数据源,其中所述数据源为不同数据库的数据源;
[0022]建立数据连接,对不同数据库的数据源对应的不同表进行读写操作。
[0023]本发明提供一种数据切分的系统,包括:根据数据的实际情况,选择相应的分区模式进行数据切分;
[0024]读写分离模块,用于当需要确保数据库的稳定性并且业务数据属于读多写少的情况,则根据应用发起的数据切分请求,选择读写分离的分区模式对数据进行切分;
[0025]单库分表模块,用于当单台数据库的硬件资源足够,但是单张表的数据超过阈值时,则根据应用发起的数据切分请求,选择单库分表的分区模式对数据进行切分;
[0026]多库分表模块,用于当单台数据库的硬件资源不足时,则根据应用发起的数据切分请求,选择多库分表的分区模式对数据进行切分。
[0027]其中,所述读写分离模块包括:
[0028]写单元,用于进行写操作时,确定配置为writeable = true对应的数据源,并将所述数据源中的数据插入到写数据库中;
[0029]复制单元,用于将所述写数据库中的数据复制到读数据库中;
[°03°] 读单元,用于进行读操作时,确定配置为writeable = false对应的读数据库。
[0031]其中,所述读单元包括:
[0032]读操作时,确定配置为writeable= falSe对应的读数据库,并利用负载均衡策略算法从所述读数据库中确定需要的读数据库。
[0033]其中,所述单库分表模块包括:
[0034]单表分区单元,用于根据分区规则,建立分区逻辑表,其中,所述分区逻辑表定义规则实现类,表名以及分区范围;
[0035]单表分片单元,用于根据所述分区逻辑表,建立所述分区逻辑表与物理表之间的关联关系,确定分片范围,并根据分片规则确定每个分片绑定的数据源;
[0036]单表数据连接单元,用于建立数据连接,对数据库的不同表进行读写操作。
[0037]其中,所述多库分表模块包括:
[0038]多表分区单元,用于根据分区规则,建立分区逻辑表,其中,所述分区逻辑表定义规则实现类,表名以及分区范围;
[0039]多表分片单元,用于根据所述分区逻辑表,建立所述分区逻辑表与物理表之间的关联关系,确定分片范围,并根据分片规则确定每个分片绑定的数据源,其中所述数据源为不同数据库的数据源;
[0040]多表数据连接单元,用于建立数据连接,对不同数据库的数据源对应的不同表进行读写操作。
[0041]本发明所提供的数据切分的方法,包括:根据数据的实际情况,选择相应的分区模式进行数据切分;当需要确保数据库的稳定性并且业务数据属于读多写少的情况,则根据应用发起的数据切分请求,选择读写分离的分区模式对数据进行切分;当单台数据库的硬件资源足够,但是单张表的数据超过阈值时,则根据应用发起的数据切分请求,选择单库分表的分区模式对数据进行切分;当单台数据库的硬件资源不足时,则根据应用发起的数据切分请求,选择多库分表的分区模式对数据进行切分;
[0042]将逻辑数据库表,按照读写分离、单库分表、多库分表不同拆分方法拆分到多个物理数据库或物理数据库的多张表中,实现了数据库的水平扩展;因此,该方法能够在数据量很大,数据急速膨胀的情况下,提高数据库的读写性能,提高数据库的效率。
【附图说明】
[0043]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0044]
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1