【技术实现步骤摘要】
针对分布式数据库的查询方法及装置
[0001]本说明书一个或多个实施例涉及数据库领域,尤其涉及一种针对分布式数据库的查询方法及装置。
技术介绍
[0002]数据库的总体性能在很大程度上取决于数据库的查询处理代价和效率。为了减少计算量,提高查询效率,在数据库查询过程中,解析器会先对查询语句进行词法分析语义分析形成查询树;查询树被送入优化器经过逻辑优化和物理优化,输出查询计划给执行器,执行器执行查询计划以获取查询结果。
技术实现思路
[0003]本说明书一个或多个实施例描述了一种针对分布式数据库的查询方法及装置,在执行查询计划的过程中,可以灵活切换调度模式,进而可以大大提升分布式数据库的查询性能。
[0004]第一方面,提供了一种针对分布式数据库的查询方法,包括:根据对所述分布式数据库的查询语句,生成查询计划对应的数据流操作DFO关系树,其中的单个DFO包括所述查询计划中的一组算子;基于所述DFO关系树,执行所述查询计划,其中包括,在多调度模式下调度多个DFO后,判断所述多个DFO中是否存在满足第一预定条件的目标DFO,若存在所述目标DFO,将所述多调度模式修改为单调度模式;其中,所述第一预定条件包括,所述目标DFO嵌套在其他DFO中,且其中包含的协调者算子所调度的各子DFO用于进行分布式重扫处理。
[0005]第二方面,提供了一种针对分布式数据库的查询装置,包括:生成单元,用于根据对所述分布式数据库的查询语句,生成查询计划对应的数据流操作DFO关系树,其中的单个DFO包括所述查询计划中的 ...
【技术保护点】
【技术特征摘要】
1.一种针对分布式数据库的查询方法,包括:根据对所述分布式数据库的查询语句,生成查询计划对应的数据流操作DFO关系树,其中的单个DFO包括所述查询计划中的一组算子;基于所述DFO关系树,执行所述查询计划,其中包括,在多调度模式下调度多个DFO后,判断所述多个DFO中是否存在满足第一预定条件的目标DFO,若存在所述目标DFO,将所述多调度模式修改为单调度模式;其中,所述第一预定条件包括,所述目标DFO嵌套在其他DFO中,且其中包含的协调者算子所调度的各子DFO用于进行分布式重扫处理。2.根据权利要求1所述的方法,其中,所述执行所述查询计划还包括:在多调度模式下调度多个DFO前,判断第二预定条件是否满足,并且在所述第二预定条件满足的情况下,将所述多调度模式修改为单调度模式;其中,所述第二预定条件包括:所述分布式数据库的资源占用率大于预定占比;或者,多个DFO中的若干DFO的处理耗时大于预定时长。3.根据权利要求1所述的方法,其中,所述查询计划包括具有层级关系的多个算子,且所述多个算子包括传输数据算子;所述生成查询计划对应的数据流操作DFO关系树,包括:基于所述具有层级关系的多个算子,构建算子树;以传输数据算子为边界,将所述算子树拆分为若干子算子树,并将其中的每个子算子树所包含的各算子作为一个DFO;将各DFO分别作为节点,并基于所述各DFO各自对应的各子算子树之间的层级关系,构建所述DFO关系树。4.根据权利要求1所述的方法,其中,所述多个DFO是根据调度并行度以及预设的遍历算法,从所述DFO关系树中确定出的;所述调度并行度基于所述DFO关系树的形态而确定。5.根据权利要求4所述的方法,其中,在所述DFO关系树为左深树的情况下,所述调度并行度为2;在所述DFO关系树为右深树或者bushy树的情况下,所述调度并行度为3。6.根据权利要求1所述的方法,其中,所述分布式数据库包括多个存储节点,所述方法通过所述多个存储节点中任意的第一存储节点执行;所述调度多个DFO包括:将所述多个DFO分别发送给各自对应的各目标存储节点,使得所述目标存储节点执行其接收的DFO,并流式地向执行该DFO的父DFO的存储节点发送对应的执行结果,以实时消费该执行结果。7.根据权利要求1所述的方法,其中,所述执行所述查询计划,还包括:在所述单调度模式下,串行调度所述目标DFO中包含的协调者算子所调度的各子DFO,并在调度所述各子DFO后,将所述单调度模式恢复为所述多调度模式。8.根据权利要求7所述的方法,其中,所述分布式数据库包括多个存储节点,所述方法通过所述多个存储节点中任意的第一存储节点执行;所述串行调度所述目标DFO中包含的协调者算子所调度的各子DFO,包括:依次将所述各子DFO发送给各自对应的各目标存储节点,使得所述目标存储节点执行
接收的子DFO,并向执行该子DFO的父DFO的存储节点发送对应的执行结果,以将该执行结果缓存为中间结果。9.根据权利要求1所述的方法,还包括:在执行所述查询计划后,向客户端返回所述查询计划的最终执行结果;所述最终执行结果至少基于所述DFO关系树中最上层的DFO的执行结果而确定。10.一种针对分布式数据库的查询装置,包括:生成单元,用于根据对所述分布式数据库的查询语句,生成查询计划对应的数据流操作DFO关系树,其中的单个DFO包括所述查询计划中的一组算子;执行单元,用于基...
【专利技术属性】
技术研发人员:唐铭豆,潘毅,余璜,
申请(专利权)人:北京奥星贝斯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。