数据库集群系统多副本分片方法、装置、设备及存储介质制造方法及图纸

技术编号:33246380 阅读:19 留言:0更新日期:2022-04-27 17:59
本发明专利技术提出一种数据库集群系统多副本分片方法、装置、设备及存储介质,该方法步骤包括:1)对数据库集群系统所有的表进行分类,分为大表和小表;2)设置副本数量及每个副本的每个大表的分片策略;设副本数为N个;对N个副本的字段均相同的大表,设置不同的分片策略;3)在对数据库进行查询时,对查询的SQL语句进行解析,判断和选择对应的最优的副本;4)根据选择的副本对应的分片及节点信息,在节点进行查询获得结果数据。本发明专利技术通过对数据库集群系统多副本分片设置,从而减少数据查询需要获取的分片数据,减少了数据查找和聚合的开销,提高了多种特定查询的效率。了多种特定查询的效率。了多种特定查询的效率。

【技术实现步骤摘要】
数据库集群系统多副本分片方法、装置、设备及存储介质


[0001]本专利技术涉及数据库领域,尤其涉及数据库集群系统多副本分片方法、装置、设备及存储介质。

技术介绍

[0002]现有数据库技术通过提供多副本增强数据的可用性,并使用分片技术提高数据库查询处理和优化的效率,进而缓解单一服务器的压力。现有数据库产品中,多个副本字段均相同的表的分片策略都是相同的,对数据库进行多种不同种型的复杂查询的处理和优化时,往往只对一种查询性能较高,而对其他查询性能都较低。

技术实现思路

[0003]为克服上述现有技术的不足,本专利技术提供了一种数据库集群系统多副本分片方法、装置、设备及存储介质。
[0004]为实现上述目的,本专利技术提供的技术方案如下:
[0005]根据本说明书一个或多个实施例的第一方面,提出一种数据库集群系统多副本分片方法,其步骤包括:
[0006]步骤S1,对数据库集群系统所有的表进行分类,分为大表和小表;
[0007]步骤S2,设置副本数量及每个副本的每个大表的分片策略;设副本数为N个;N为大于或等于1的自然数;
[0008]对N个副本的字段均均相同的大表,设置不同的分片策略;一个副本中一个大表的分片策略是针对某种特定的查询优化设置,使得查询结果在大表分片的个数最少,降低数据聚合的时间复杂度,提升数据查询效率;
[0009]步骤S3,对数据库进行查询时,对查询条件解析,判断和选择对应的最优的副本;
[0010]步骤S4,根据选择的副本对应的分片及节点信息,在节点进行查询获得结果数据;
[0011]所述数据库集群系统多副本分片方法步骤详述如下:
[0012]步骤S1中,预先依据数据量对数据库集群系统所有的表进行分类,分为大表和小表;大表指表的数据量大,而小表指表的数据量相对小;
[0013]步骤S2中,根据大表相关的查询种类、需要的分片键数量和系统软硬件资源等因素,数据库集群系统设置副本数量及每个副本的每个大表的分片策略;设副本数为N个;N为大于或等于1的自然数;
[0014]对N个副本的字段均相同的大表,设置不同的分片策略;分配策略设置包括分片键和分片算法的设置;分片键或分片算法不同,则分片策略不同;
[0015]分片键为单个分片键或多个分片键;
[0016]分片算法用=、>=、<=、>、<、BETWEEN AND、和IN等条件作为分片规则,自定义分片逻辑;
[0017]一个副本中一个大表的分片策略是针对某种特定的查询优化设置;分片策略设置
原则是使得对特定的查询,获得查询结果在大表分片的个数最少,降低数据聚合的时间复杂度,提升数据查询效率;
[0018]对N个副本的每个大表设置分片策略后,这N个副本的字段均相同的表的每个数据项的取值保持一致,差异在于N个副本的字段均相同的大表的分片策略不同,N个副本字段均相同的大表的数据之间的相对存储顺序不同;
[0019]同时数据库集群系统设置分片存储的节点等基础配置信息;
[0020]步骤S3中,在对数据库进行查询时,对查询的SQL语句进行解析,判断和选择对应的最优的副本。具体判断选择规则如下:
[0021](1)查询语句条件仅包含单个大表的分片键,则选择该分片键对应的副本;
[0022](2)查询语句条件包含多个大表的分片键,基于查询计划器计算对不同分片键策略的副本的查询时间复杂度,选择时间复杂度最低的副本;
[0023](3)查询语句条件不包含任何大表的分片键,或者查询语句没有条件,优先选择表没有分片的副本,否则按照负载均衡原则选择副本。
[0024]步骤S4中,根据选择的副本对应的分片及节点信息,在节点进行查询获得结果数据;副本对应的分片可以为1个或多个,对应的节点可以为1个或多个;根据本说明书一个或多个实施例的第二方面,本专利技术提出一种支持数据库集群系统多副本分片方法的装置,包括:
[0025]多副本分片策略设置单元:预先对数据库集群系统表进行分类,分为大表和小表;根据大表相关的查询种类、需要的分片键数量和系统软硬件资源等因素,设置副本数量及每个副本的每个大表的分片策略;设副本数为N个;N为大于或等于1的自然数;对N个副本的字段均相同的大表,设置不同的分片策略;分片键或分片算法不同,则分片策略不同;分片策略设置原则是使得对特定的查询,获得查询结果在大表分片的个数最少,降低数据聚合的时间复杂度,提升数据查询效率;同时数据库集群系统预先设置分片存储的节点等基础配置信息;
[0026]查询单元:在对数据库进行查询时,对查询的SQL语句进行解析,判断和选择对应的最优的副本;根据选择的副本对应的节点信息,在节点进行查询获得结果数据。
[0027]根据本说明书一个或多个实施例的第三方面,提出一种电子设备,包括:
[0028]处理器;
[0029]用于存储处理器可执行指令的存储器;
[0030]其中,所述处理器通过运行所述可执行指令以实现本说明书第一方面所述的方法。根据本说明书一个或多个实施例的第四方面,提出一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现第一方面所述的方法。
[0031]与现有技术相比,本专利技术的积极效果为:本专利技术提出一种数据库集群系统多副本分片方法,对多个副本字段均相同的大表,设置针对不同特定查询的最优的分片策略,使得特定查询的结果数据在对应最优副本中最少的分片内,从而减少数据查询需要获取的分片数据,减少了数据查找和聚合的开销,提高了多种特定查询的效率。
附图说明:
[0032]图1是本说明书示例性实施例提供的一种数据库集群系统多副本分片策略设置、
查询方法过程示意图。
[0033]图2是本说明书示例性实施例提供的一种数据库集群系统多副本分片策略设置、查询装置示意图。
[0034]图3本说明书示例性实施例提供的一种数据库集群系统多副本分片策略设置、查询电子设备的结构示意图。
[0035]具体实施策略:
[0036]以下通过特定的具体实例并结合附图说明本专利技术的实施策略,本领域技术人员可由本说明书所揭示的内容轻易地了解本专利技术的其它优点与功效。本专利技术亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本专利技术的精神下进行各种修饰与变更。
[0037]本专利技术提出一种数据库集群系统多副本分片方法、装置、设备及存储介质,主要具体过程如图1所示,包括:
[0038]步骤S101,预先对数据库集群系统所有的表进行分类,分为大表和小表。
[0039]实施例子1如下:某数据库集群系统所有的表分类后,大表为保险单据数据表。大表数量为1个。
[0040]实施例子2如下:某数据库所有的表分类后,大表为小学生数据表(假设小学生年龄均在6

12岁间)。大表数量为1个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库集群系统多副本分片方法,其特征在于:其步骤包括:(1)对所述数据库集群系统所有的表进行分类,分为大表和小表;(2)设置副本数量及每个副本的每个大表的分片策略;设副本数为N个;N为大于或等于1的自然数;对N个副本的字段均相同的大表设置不同的分片策略;一个副本中一个大表的分片策略是针对某种特定的查询优化设置,使得查询结果在大表分片的个数最少,降低数据聚合的时间复杂度,提升数据查询效率;(3)对数据库进行查询时,对查询条件解析,判断和选择对应的最优的副本;(4)根据选择的副本对应的节点信息根据选择的副本对应的分片及节点信息,在节点进行查询获得结果数据。2.根据权利要求1所述的方法,其特征在于:所述大表指表的数据量大,而所述小表指表的数据量相对小;设大表数量为N。3.根据权利要求2所述的方法,其特征在于:根据大表相关的查询种类、需要的分片键数量和系统软硬件资源等因素,数据库集群系统设置副本数量及每个副本的大表的分片策略;设副本数为N个;N为大于或等于1的自然数;对N个副本的字段均相同的大表,设置不同的分片策略;分配策略设置包括分片键和分片算法的设置;分片键或分片算法不同,则分片策略不同;一个副本中一个大表的分片策略是针对某种特定的查询优化设置;分片策略设置原则是使得对特定的查询,获得查询结果在大表分片的个数最少,降低数据聚合的时间复杂度,提升数据查询效率;对N个副本的每个大表设置分片策略后,这N个副本的字段均相同的表的每个数据项的取值保持一致,差异在于N个副本的字段均相同的大表的分片策略不同,多个副本字段均相同的大表的数据之间的相对存储顺序不同;同时数据库集群系统设置分片存储的节点等基础配置信息。4.根据权利要求3所述的方法,其特征在于:在对数据库进行查询时,对查询的SQL...

【专利技术属性】
技术研发人员:曾焱
申请(专利权)人:九有技术深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1