一种分布式数据库自适应副本选择方法及装置制造方法及图纸

技术编号:38573598 阅读:12 留言:0更新日期:2023-08-22 21:07
本发明专利技术公开了一种分布式数据库自适应副本选择方法及装置,属于分布式数据库领域,本发明专利技术要解决的技术问题为如何快速选取副本用来提高效率,技术方案为:S101、网关节点解析SQL语句,获取该语句中要读取的数据范围;S102、从副本缓存信息中过滤掉旧版本的副本,并获取拥有最新版本的Range大小;S103、将步骤S102中得到的副本信息参数传递到遗传进化算法中,随即生成关于可选择的副本分布信息的种群开始迭代;S104、设置截断机制;S105、由网关节点发送到对应的节点进行读取;S106、将各个节点的结果汇集到网关节点并返回给客户端。与现有技术相比,本发明专利技术遗传进化在很短的时间内可以得到良好的优化结果。可以得到良好的优化结果。可以得到良好的优化结果。

【技术实现步骤摘要】
一种分布式数据库自适应副本选择方法及装置


[0001]本专利技术涉及分布式数据库领域,具体提供一种分布式数据库自适应副本选择方法及装置。

技术介绍

[0002]读取数据,是一种数据库中常见的操作,常用于SQL语句执行计划中的第一个算子;无论在各种交易模型的 OLTP 场景下,还是计算分析模型的 OLAP 场景下,都是基础操作,读取数据算子也都是基础算子。
[0003]分布式数据库的性能主要体现在集群中的无共享节点存储了部分数据并且能够独立做并行计算,当其中某个节点的任务完成等待其他节点时,出现负载不平衡的现象造成资源闲置。
[0004]分布式数据库在存储上采用多副本策略,即将数据表分区后每份数据同时存在多个节点中,读取任务分配就是对这多个节点进行选择。每份数据的数据量不同,节点与网关节点的延迟也不同。将读取任务分配到节点上并保证节点上读取任务量均衡就成为了一种以组合优化问题为基础以实现负载均衡为目的的主要技术实现方案。
[0005]副本选择策略的相关技术在分布式数据库中通常采用就近原则,选择距离网关节点延迟最短的节点。即网关节点已知要读取的数据的范围,该范围涉及到的每份数据都有三个副本即三个节点进行选择,选择距离网关节点延迟最短的节点,减少请求发送和返回的时间延迟。对于强一致性读取即获取最新版本数据保证数据最新,则要考虑共识算法,该类型读取由于要保证数据版本最新默认会选择共识算法中的领导者节点来保证强一致性读取。
[0006]分布式数据库的性能主要体现在多个节点可以并行工作提升单机模式的效率。但是读取数据的任务分配过程中无论是就近原则还是基于共识算法来选择都无法保证多个节点上的读取任务量均衡,都会造成读取数据的多个节点中读取任务量小的节点先完成去等待读取任务量大的节点,造成资源闲置的现象,降低了分布式数据库的效率。
[0007]另外,由于分布式数据库物理计划的生成中,参与 SQL 执行的节点即为读取数据过程涉及的所有节点。按照最优逻辑计划树自底向上的方向,最优逻辑计划树上的其他操作符被转换成的具体算子被堆叠在这些读取数据的算子即读表算子上。通常整个物理计划是由读取数据开始进行的,读取数据的效率低下,读取任务量的分配不均衡会严重影响物理计划中后续算子的执行效率。
[0008]如何选取副本,是决定分布式数据库中参与读取的节点以及节点的选取关系到分布式执行计划后续的执行效率的关键,也是本领域技术人员亟待解决的问题。

技术实现思路

[0009]本专利技术是针对上述现有技术的不足,提供一种实用性强的分布式数据库自适应副本选择方法。
[0010]本专利技术进一步的技术任务是提供一种设计合理,安全适用的分布式数据库自适应副本选择装置。
[0011]本专利技术解决其技术问题所采用的技术方案是:一种分布式数据库自适应副本选择方法,其特征在于,所述分布式数据库分为强一致性读取和延迟读取两种;所述强一致性读取自适应混合副本选择方法步骤如下:S101、网关节点解析SQL语句,获取该语句中要读取的数据范围;S102、从副本缓存信息中过滤掉旧版本的副本,并获取拥有最新版本的Range大小;S103、将步骤S102中得到的副本信息参数传递到遗传进化算法中,随即生成关于可选择的副本分布信息的种群开始迭代;S104、设置截断机制;S105、由网关节点发送到对应的节点进行读取;S106、将各个节点的结果汇集到网关节点并返回给客户端;所述延迟读取自适应混合副本选择方法步骤如下:S201、网关节点解析SQL语句,获取所述SQL语句中要读取的数据范围;S202、将步骤S201获取到的分布信息作为参数传入到遗传进化算法进行迭代;S203、将遗传进化算法与截断机制进行判断相结合;S204、由网关节点发送到对应的节点进行读取;S205、将各个节点的结果汇集到网关节点并返回给客户端。
[0012]进一步的,在步骤S101中,网关节点解析SQL语句,获取所述SQL语句中要读取的数据范围,根据分布层中索引的树形结构获取到数据范围中每个Range的分布信息。
[0013]进一步的,在步骤S102中,从副本缓存信息中过滤掉旧版本的副本,并获取拥有最新版本的Range大小,同时并行运行系统默认的副本选择策略获取到所有节点中读取最大任务量与读取最小任务量的差值;默认副本选择策略实现单一简单可以先行获取。
[0014]进一步的,在步骤S103中,将步骤S102中得到的副本信息参数传递到遗传进化算法中,随即生成关于可选择的副本分布信息的种群开始迭代,迭代过程由交叉变异构成,每轮迭代都会选出最好的基因获得当前读取最大任务量与读取最小任务量的差值。
[0015]进一步的,在步骤S104中,设置截断机制,即在遗传进化算法运行一段时间内获得最小差值要比系统默认的副本选择策略得到的差值小,并且小于在硬件该网络的条件下硬盘在相同时间可进行的读取任务量。
[0016]进一步的,在步骤S105中,步骤S104获取的副本选择结果由网关节点在生成物理计划中获得,随即在读表算子上自底向上生成其他算子的物理计划,然后由网关节点发送到对应的节点进行读取。
[0017]进一步的,在步骤S201中,网关节点解析SQL语句,获取该语句中要读取的数据范围。根据分布层中索引的树形结构获取到数据范围中每个Range的分布信息;在步骤S202中,则将步骤S201获取到的分布信息作为参数也传入到遗传进化算法进行迭代,每个基因片段都有3个节点可进行变异,同时并行运行系统默认的副本选择策略
获取到所有节点中读取最大任务量与读取最小任务量的差值;默认副本选择策略实现单一简单可以先行获取。
[0018]进一步的,在步骤S204中,步骤S203获取的副本选择结果由网关节点在生成物理计划中获得,随即在读表算子上自底向上生成其他算子的物理计划,然后由网关节点发送到对应的节点进行读取。
[0019]进一步的,在步骤S205中,将各个节点的结果汇集到网关节点并返回给客户端,每个节点哈希连接的结果作并集即为最终的哈希连接结果。
[0020]一种分布式数据库自适应副本选择装置,其特征在于,包括:至少一个存储器和至少一个处理器;所述至少一个存储器,用于存储机器可读程序;所述至少一个处理器,用于调用所述机器可读程序,执行一种分布式数据库自适应副本选择方法。
[0021]本专利技术的一种分布式数据库自适应副本选择方法及装置和现有技术相比,具有以下突出的有益效果:本专利技术获取副本的分布信息是在缓存当中获取,不会带来时间开销。副本的分布信息作为参数传入到遗传进化算法进行交叉变异最大的迭代时间比较短,生成种群的时间复杂度和每轮迭代的时间复杂度都是(N为读取的数据块数),空间复杂度为。可以看出,遗传进化在很短的时间内可以得到良好的优化结果。
附图说明
[0022]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式数据库自适应副本选择方法,其特征在于,所述分布式数据库分为强一致性读取和延迟读取两种;所述强一致性读取自适应混合副本选择方法步骤如下:S101、网关节点解析SQL语句,获取该语句中要读取的数据范围;S102、从副本缓存信息中过滤掉旧版本的副本,并获取拥有最新版本的Range大小;S103、将步骤S102中得到的副本信息参数传递到遗传进化算法中,随即生成关于可选择的副本分布信息的种群开始迭代;S104、设置截断机制;S105、由网关节点发送到对应的节点进行读取;S106、将各个节点的结果汇集到网关节点并返回给客户端;所述延迟读取自适应混合副本选择方法步骤如下:S201、网关节点解析SQL语句,获取所述SQL语句中要读取的数据范围;S202、将步骤S201获取到的分布信息作为参数传入到遗传进化算法进行迭代;S203、将遗传进化算法与截断机制进行判断相结合;S204、由网关节点发送到对应的节点进行读取;S205、将各个节点的结果汇集到网关节点并返回给客户端。2.根据权利要求1所述的一种分布式数据库自适应副本选择方法,其特征在于,在步骤S101中,网关节点解析SQL语句,获取所述SQL语句中要读取的数据范围,根据分布层中索引的树形结构获取到数据范围中每个Range的分布信息。3.根据权利要求2所述的一种分布式数据库自适应副本选择方法,其特征在于,在步骤S102中,从副本缓存信息中过滤掉旧版本的副本,并获取拥有最新版本的Range大小,同时并行运行系统默认的副本选择策略获取到所有节点中读取最大任务量与读取最小任务量的差值;默认副本选择策略实现单一简单可以先行获取。4.根据权利要求3所述的一种分布式数据库自适应副本选择方法,其特征在于,在步骤S103中,将步骤S102中得到的副本信息参数传递到遗传进化算法中,随即生成关于可选择的副本分布信息的种群开始迭代,迭代过程由交叉变异构成,每轮迭代都会选出最好的基因获得当前读取...

【专利技术属性】
技术研发人员:赵衎衎冷友方魏可伟陈磊
申请(专利权)人:山东浪潮数据库技术有限公司
类型:发明
国别省市:

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

1