CN115269631A - 数据查询方法、数据查询系统、设备及存储介质 - Google Patents

数据查询方法、数据查询系统、设备及存储介质 Download PDF

Info

Publication number
CN115269631A
CN115269631A CN202210775515.3A CN202210775515A CN115269631A CN 115269631 A CN115269631 A CN 115269631A CN 202210775515 A CN202210775515 A CN 202210775515A CN 115269631 A CN115269631 A CN 115269631A
Authority
CN
China
Prior art keywords
target
execution plan
logic execution
query
query statement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210775515.3A
Other languages
English (en)
Inventor
顾汉杰
马云雷
孙廷韬
王彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210775515.3A priority Critical patent/CN115269631A/zh
Publication of CN115269631A publication Critical patent/CN115269631A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution

Abstract

本申请实施例提供一种数据查询方法、数据查询系统、设备及存储介质。其中,方法包括如下的步骤:接收目标查询语句;根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划;根据当前的物理执行环境信息,将所述目标逻辑执行计划转换为物理执行计划;根据所述物理执行计划,执行查询,得到所述目标查询语句的查询结果。本申请实施例提供的技术方案能够减少计算资源的消耗,提高系统性能。

Description

数据查询方法、数据查询系统、设备及存储介质
技术领域
本申请涉及数据库技术领域,尤其涉及一种数据查询方法、数据查询系统、设备及存储介质。
背景技术
通常,数据库系统每接收到一条SQL(Structured Query Language,结构化查询语言)语句后,就会对该SQL语句进行词法解析、语法解析、优化和改写等操作,以生成逻辑执行计划,然后再将逻辑执行计划转换成物理执行计划,最后基于这个物理执行计划执行相应任务。
然而,上述整个过程需要占用较多的计算资源,导致数据库系统性能较差。
发明内容
鉴于上述问题,提出了本申请以提供一种解决上述问题或至少部分地解决上述问题的数据查询方法、数据查询系统、设备及存储介质。
于是,在本申请的一个实施例中,提供了一种数据查询方法。该方法包括:
接收目标查询语句;
根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划;
根据当前的物理执行环境信息,将所述目标逻辑执行计划转换为物理执行计划;
根据所述物理执行计划,执行查询,得到所述目标查询语句的查询结果。
在本申请的又一实施例中,提供了一种数据查询方法,其中,包括:
接收目标查询语句;
根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划;
若未查找到适用于所述目标查询语句的目标逻辑执行计划,则对所述目标查询语句进行解析,得到适用于所述目标查询语句的目标逻辑执行计划;
根据所述目标逻辑执行计划,执行查询,得到所述目标查询语句的查询结果;
将所述目标逻辑执行计划缓存在所述缓存空间中,以供后续重复使用。
在本申请的又一实施例中,提供了一种分布式查询系统,其中,包括:协调节点和与所述协调节点通信连接的多个工作节点;
所述协调节点,用于:
接收目标查询语句;
根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划;
根据当前的物理执行环境信息,将所述目标逻辑执行计划转换为物理执行计划;所述物理执行环境信息包括:所述多个工作节点的运行状态信息;
根据所述物理执行计划,执行查询,得到所述目标查询语句的查询结果。
在本申请的又一实施例中,提供了一种电子设备。该电子设备,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中缓存的所述程序,以实现上述任一项所述的方法。
在本申请的又一实施例中,提供了一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述任一项所述的方法。
本申请实施例提供的技术方案中,事先在缓存空间中缓存多个备用逻辑执行计划,后续接收到目标查询语句后,只需在缓存空间中查找出适用于目标查询语句的目标逻辑执行计划即可,而无需再经过解析、改写、优化等复杂流程,这样可减少计算资源的消耗,提高系统性能。此外,本申请实施例提供的技术方案缓存的是逻辑执行计划,而不是物理执行计划,这样,后续根据当前的物理执行环境信息,可将逻辑执行计划转换成适应于当前物理执行环境的物理执行计划,避免了因物理执行环境的改变导致缓存的物理执行计划无法适用于当前物理执行环境的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请一实施例提供的查询语句执行过程示意图;
图1b为本申请一实施例提供的分布式查询系统的结构框图;
图2为本申请一实施例提供的数据查询方法的流程示意图;
图3a为本申请一实施例提供的查询语句处理示例图;
图3b为本申请一实施例提供的数据库元数据结构示意图;
图4为本申请一实施例提供的逻辑执行计划缓存结构;
图5为本申请又一实施例提供的数据查询方法的流程示意图;
图6为本申请另一实施例提供的数据查询方法的流程示意图;
图7为本申请一实施例提供的执行计划示例图;
图8为本申请一实施例提供的电子设备的结构框图。
具体实施方式
目前,一条SQL在经过词法、语法解析后,需要进行各种复杂的优化、改写,从而生成逻辑执行计划,然后根据该逻辑执行计划生成物理执行计划,最后根据物理执行计划进行调度执行。其中,逻辑执行计划的生成过程中可能会多次遍历语法树并进行多次优化和改写,需要消耗较多的计算资源,这导致生产环境中的数据库系统存在并发能力较差的问题。
为了解决或部分解决上述技术问题,本申请实施例提出了一种新的数据查询方案。在该方案中,事先在缓存空间中缓存多个备用逻辑执行计划,后续接收到目标查询语句后,只需在缓存空间中查找出适用于目标查询语句的目标逻辑执行计划即可,而无需再经过解析、改写、优化等复杂流程,这样可减少计算资源的消耗,提高系统性能。此外,本申请实施例提供的技术方案缓存的是逻辑执行计划,而不是物理执行计划,这样,后续可根据当前的物理执行环境信息将逻辑执行计划转换成适应于当前物理执行环境的物理执行计划,避免了因物理执行环境的改变导致缓存的物理执行计划无法适用于当前物理执行环境的问题。
为了使本技术领域的人员更好地理解本申请方案,下面将根据本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
为了方便理解本申请实施例提高的技术方案,下面将结合图1a对查询语句的执行过程进行详细介绍:
步骤1、分布式查询系统接收到查询语句后,创建查询ID(identify)。
步骤2、针对该查询语句,创建会话。
步骤3、创建声明。
该步骤中需要对查询语句进行词法解析,得到语法树。
步骤4、创建查询执行实例。
步骤5、对语法树进行语义解析,生成语义分析结果。
该步骤中需要进行声明改写和元数据校验,进而得到表达式。
步骤6、查询优化和改写。
该步骤中需要进行表达式改写和优化改写。
步骤7、生成逻辑执行计划。
步骤8、基于逻辑执行计划,生成物理执行计划。
该物理执行计划具体为分布式物理执行计划。
步骤9、调度执行物理执行计划。
可由分布式查询系统中的查询管理器(QueryManager)来执行上述步骤1-4,执行完成后,将其提交给分布式查询系统中的查询执行器(QueryExecution)进行异步执行。查询执行器用于执行上述步骤5-9。
上述逻辑执行计划也可称之为逻辑查询计划(Query Plan)。
为了减少计算资源的消耗,本申请实施例中,将上述分段逻辑执行计划进行缓存,以供后续重复使用。
在对本申请实施例提供的数据查询方法进行介绍之前,对本申请实施例提供的数据查询方法所涉及的系统架构进行介绍。如图1b所示,分布式查询系统,包括:协调节点11以及与所述协调节点通信连接的多个工作节点12。其中,协调节点11可理解为是分布式查询系统中的主节点;工作节点12可理解为是分布式查询系统中的从节点。
其中,所述协调节点11,用于:
接收目标查询语句;
根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划;
根据当前的物理执行环境信息,将所述目标逻辑执行计划转换为物理执行计划;
根据所述物理执行计划,执行查询,得到所述目标查询语句的查询结果。具体地,根据所述物理执行计划,利用所述分布式查询系统执行查询,得到所述目标查询语句的查询结果。
其中,所述物理执行环境信息可包括:分布式查询系统的节点运行状态信息和/或所述分布式查询系统的节点分布信息。其中,节点运行状态信息可包括:所述多个工作节点12中各工作节点的运行状态信息,例如:资源负载。其中,节点分布信息可包括:多个工作节点12中各工作节点所处的地理位置。
本申请实施例提供的技术方案中,事先在缓存空间中缓存多个备用逻辑执行计划,后续接收到目标查询语句后,只需在缓存空间中查找出适用于目标查询语句的目标逻辑执行计划即可,而无需再经过解析、改写、优化等复杂流程,这样可减少计算资源的消耗,提高系统性能。此外,本申请实施例提供的技术方案缓存的是逻辑执行计划,而不是物理执行计划,这样,后续根据分布式查询系统当前的物理执行环境信息,可将逻辑执行计划转换成适应于当前物理执行环境的物理执行计划,避免了因物理执行环境的改变导致缓存的物理执行计划无法适用于当前物理执行环境的问题。
上述实施例中协调节点和多个工作节点中各节点的内部处理流程以及两两之间的交互流程将在下述各实施例中详细介绍,在此不再赘述。
图2示出了本申请一实施例提供的数据查询方法的流程示意图。该方法的执行主体可以为上述分布式查询系统中的协调节点11。如图2所示,该方法可包括:
201、接收目标查询语句。
202、根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划。
203、根据当前的物理执行环境信息,将所述目标逻辑执行计划转换为物理执行计划。
204、根据所述物理执行计划,执行查询,得到所述目标查询语句的查询结果。
上述201中,在一实例中,上述目标查询语句具体可以是基于SQL的查询语句。当然,上述目标查询语句还可以是基于其他编程语言的查询语句,本申请实施例对此不作具体限定。
实际应用中,具体为:接收客户端发送来的查询请求;查询请求包括上述目标查询语句。
上述202中,上述缓存空间具体为高速缓存(cache)空间。
缓存空间所缓存的备用逻辑执行计划可以是通过解析所述分布式查询系统历史上接收到的历史查询语句得到的,还可以是通过解析开发人员针对实际场景所编写的用于完成某种特定功能的查询语句得到的,本申请实施例对此不做具体限定。
上述203中,其中,所述物理执行环境信息可包括:分布式查询系统的节点运行状态信息和/或所述分布式查询系统的节点分布信息。其中,节点运行状态信息可包括:所述多个工作节点中各工作节点的运行状态信息,例如:资源负载。其中,节点分布信息可包括:多个工作节点中各工作节点所处的地理位置。
需要补充说明的是,逻辑执行计划中并未绑定用于执行相应查询步骤的多个目标工作节点的节点信息;物理执行计划中绑定有用于执行相应查询步骤的多个目标工作节点的节点信息。也就是说,逻辑执行计划是对需要执行的查询过程的简单描述,并不涉及具体如何执行;物理执行计划是对需要执行的查询步骤的详细描述,具体涉及到由哪些工作节点来执行。
由于分布式查询系统的网络拓扑和工作节点动态变化,完全固化的物理执行计划无法应用于多次实际的物理执行。举例来说:如果物理执行计划所绑定的多个目标工作节点中有一个节点随着时间的推移,其负荷越来越重,甚至出现负荷超载的情况,若继续将该物理执行计划对应的查询任务分发给这个目标工作节点,不仅会延长响应延时,还会加重原本就负荷超载的目标工作节点的负荷,甚至会导致该目标工作节点因负荷过重而宕机。因此,在本申请实施例提供的技术方案中,缓存的是逻辑执行计划,而并非是物理执行计划,可提高方案的灵活性,提高缓存的复用率。
实际应用中,上述物理执行计划具体为分布式物理执行计划。
上述204中,根据所述物理执行计划,向物理执行计划中所绑定的多个目标工作节点分发所述物理执行计划中的多个子查询任务,以得到所述目标查询语句的查询结果。
本申请实施例提供的技术方案中,事先在缓存空间中缓存多个备用逻辑执行计划,后续接收到目标查询语句后,只需在缓存空间中查找出适用于目标查询语句的目标逻辑执行计划即可,而无需再经过解析、改写、优化等复杂流程,这样可减少计算资源的消耗,提高系统性能。此外,本申请实施例提供的技术方案缓存的是逻辑执行计划,而不是物理执行计划,这样,后续根据分布式查询系统当前的物理执行环境信息,可将逻辑执行计划转换成适应于当前物理执行环境的物理执行计划,避免了因物理执行环境的改变导致缓存的物理执行计划无法适用于当前物理执行环境的问题。
在分布式查询系统中,上述备用逻辑执行计划具体可以是分段逻辑执行计划。也就是说,分段逻辑执行计划中包括:多个子逻辑执行计划。对逻辑执行计划进行分段的最重要目的就是能够以分片(splited)方式运输(shipped)和执行在分布式节点(也即上述工作节点)上。分布式查询系统相比于传统数据库,最大的区别之一就是并发度理论上可以无限横向扩展,分段的目的就是为了更好的分发到各个工作节点,但是sql执行的时候难免会被一些操作阻塞,比如join、aggregation、sort等,那么一个逻辑执行计划就在这些点切分(fragment)成多个子逻辑执行计划(SubPlan)。相同SubPlan(执行逻辑一样,数据split不通)可以在多个节点中并发执行。相应的,上述物理执行计划中包含有用于执行目标逻辑执行计划中各子逻辑执行计划的目标工作节点的节点信息。
为了方便在缓存空间中的检索,缓存空间中可针对各备用逻辑执行计划对应缓存有相关查询语句的语句信息,语句信息可包括:相关查询语句或相关查询语句的语句摘要。上述缓存空间中缓存有第一备用逻辑执行计划,第一备用逻辑执行计划为上述多个备用逻辑执行计划中的任一个,第一备用逻辑执行计划是通过解析第一查询语句(也即第一备用逻辑执行计划的相关查询语句)生成的,所述缓存空间中对应于第一备用逻辑执行计划缓存的语句信息是基于第一查询语句生成的,该语句信息可以是第一查询语句或第一查询语句的语句摘要,第一查询语句的语句摘要是利用第一摘要算法生成的。将第一查询语句输入到第一摘要算法中,得到第一摘要算法输出的语句摘要。
因此,上述步骤202中“根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划”,具体可采用如下步骤来实现:
S11、根据所述目标查询语句,生成所述目标查询语句的目标语句信息。
S12、将缓存空间中与目标语句信息相应的语句信息对应的备用逻辑执行计划确定为目标逻辑执行计划。
上述S11中,当缓存空间存储的语句信息为相关查询语句的语句摘要时,可将目标查询语句输入至第一摘要算法中,得到第一摘要算法输出的目标查询语句的目标语句摘要,以作为目标语句信息。
在一实例中,上述第一摘要算法可以是哈希算法,例如:xxhash64哈希算法。第一摘要算法可根据实际需要来选择,本申请实施例对此不作具体限定。
当缓存空间存储的语句信息为相关查询语句时,可将目标查询语句直接作为目标语句信息。
上述S12中,将目标语句信息与缓存空间中的语句信息进行比较,将与目标语句信息相同的语句信息对应的备用逻辑执行计划作为目标逻辑执行计划。
需要说明的是,在缓存空间缓存语句摘要,可以有效减少缓存数据量。
通常,日志数据天然带有时间属性,任何查询分析都离不开时间的约束。在实时检测、规则告警、定时报表等多种日志服务场景中,申请人发现一个很重要的特点,那就是:查询分析是围绕时间窗口(也即查询时间范围或查询时间区间)进行滑动变化的,其查询逻辑本身可能并无变化,因此,可将时间因子从查询语句SQL中提取出来,并保存在当前查询请求的会话(session)中,从而保证相同处理逻辑的查询语句SQL一致,这样我们就可以实现时间窗口滑动的SQL查询计划复用,进而提高缓存的复用率。具体的,上述方法,还可包括:上述202中“根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划”,可采用如下步骤来实现:
2021、在所述目标查询语句中删除有关查询时间区间的代码,得到目标删除后查询语句。
2022、根据所述目标删除后查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划。
其中,所述缓存空间中缓存有第一备用逻辑执行计划;所述第一备用逻辑执行计划是通过解析第一删除后查询语句生成的;所述第一删除后查询语句是删除第一查询语句中有关查询时间区间的代码后得到的。
如图3a所示,查询语句SQL30中的“where time>xxx and time<yyy”这一段代码就是有关查询时间区间(xxx,yyy)的代码,在查询语句SQL30中删除这段代码,得到删除后查询语句SQL31,将上述查询时间区间存放在查询语句对应的会话32中。
上述第一备用逻辑执行计划指代的可以是上述多个备用逻辑执行计划中的任一个。第一备用逻辑执行计划是通过解析第一删除后查询语句生成的。第一删除后查询语句是删除第一查询语句中有关查询时间区间的代码后得到的。
这样一来,当查询时间区间不同,但处理逻辑相同的查询语句可以复用同一逻辑执行计划,可提高缓存复用率,进而减少计算资源的消耗,进而提升系统性能。
为了方便在缓存空间中的检索,缓存空间中可针对各备用逻辑执行计划对应缓存有相关查询语句的语句信息。该语句信息也可以是相关查询语句或相关查询语句的语句摘要。在本实施例中,相关查询语句指代的是删除有关查询时间区间代码后的查询语句,而非原始的查询语句。具体地,所述缓存空间中对应于第一备用逻辑执行计划缓存的语句信息是基于第一删除后查询语句(也即第一备用逻辑查询计划对应的相关查询语句)生成的,该语句信息可包括第一删除后查询语句或第一删除后查询语句的语句摘要。后续检索时,可基于目标删除后查询语句,生成目标语句信息;基于目标语句信息在缓存空间进行检索,进而将与目标语句信息相同的语句信息对应的备用逻辑执行计划作为目标逻辑执行计划。
具体地,以语句信息为语句摘要为例,所述缓存空间中对应于第一备用逻辑执行计划缓存的语句摘要是基于上述第一删除后查询语句,利用第一摘要算法生成的。具体的,可以将上述第一删除后查询语句输入到第一摘要算法中,得到第一摘要算法输出的语句摘要。因此,上述2022中“根据所述目标删除后查询语句,从缓存中查找适用于所述目标查询语句的目标逻辑执行计划”,可采用如下步骤来实现:
S21、基于所述目标删除后查询语句,利用第一摘要算法确定目标语句摘要。
S22、将所述缓存空间中与所述目标语句摘要相同的语句摘要对应的备用逻辑执行计划确定为所述目标逻辑执行计划。
上述S21中,可将目标删除后查询语句输入到第一摘要算法中,得到第一摘要算法输出的目标语句摘要。
在一实例中,上述第一摘要算法可以是哈希算法,例如:xxhash64哈希算法。
上述S22中,将目标语句摘要与缓存空间中缓存的语句摘要进行比较,将缓存空间中与目标语句摘要相同的语句摘要对应的备用逻辑执行计划确定为目标逻辑执行计划。
当上述分布式查询系统是面向云上海量用户时,对于不同用户以及同一用户不同资源之间,逻辑执行计划的缓存需要具备隔离能力。
以基于SQL的分布式查询系统为例,如图3b所示,其设计了三层元数据结构:Catalog(目录)-Schema(图解)-Table(表)。其中,Catalog对应于数据源,Schema对应于数据库用户。通常,分布式查询系统中会包含多个数据源,每个数据源又对应于多个数据库用户,每个数据库用户可拥有多个数据库表。为了实现隔离,在生成相关查询语句以及目标查询语句的语句信息时,还需结合相应的查询语句所要访问的数据源名称以及数据库用户名称。
具体地,上述方法,还可包括:
205、确定所述目标查询语句所涉及的目标数据源名称以及目标数据库用户名称。
上述S21中“基于所述目标删除后查询语句,利用第一摘要算法确定目标语句摘要”,可包括:根据所述目标删除后查询语句、所述目标数据源名称以及所述目标数据库用户名称,利用第一摘要算法确定目标语句摘要;
其中,所述缓存空间中对应于所述第一备用逻辑执行计划缓存的语句摘要是基于所述第一删除后查询语句、所述第一查询语句所涉及的数据源名称以及数据库用户名称,利用所述第一摘要算法生成的。
具体地,可将所述目标删除后查询语句、所述目标数据源名称以及所述目标数据库用户名称输入至第一摘要算法中,进而得到目标语句摘要。相应的,可将第一删除后查询语句、所述第一查询语句所涉及的数据源名称以及数据库用户名称输入到第一摘要算法中,进而得到目标语句摘要。
上述第一摘要算法可以是哈希算法,例如:xxhash64哈希算法。
这样,本申请实施例提供的技术方案可实现同一用户的数据库下的逻辑执行计划的缓存共享,并在不同级别实现了缓存隔离:不同数据源之间相互隔离、相同数据源下不同用户之间相互隔离、相同用户下的不同项目之间相互隔离,也即,相同数据库用户名称下相同查询语句共享逻辑执行计划缓存结果。
此外,若在缓存空间中未查找到适用于所述目标查询语句的目标逻辑执行计划,则对所述目标查询语句进行解析,得到适用于所述目标查询语句的目标逻辑执行计划。具体解析过程将在下述实施例中介绍。
在一种可实现的方案中,所述物理执行环境信息包括:所述分布式查询系统的节点运行状态信息和/或节点分布信息。上述203中“根据当前的物理执行环境信息,将所述目标逻辑执行计划转换为物理执行计划”,可采用如下步骤来实现:
2031、根据分布式查询系统当前的物理执行环境信息,从所述分布式查询系统的多个工作节点中查找多个目标工作节点。
2032、根据所述多个目标工作节点的节点信息以及所述目标逻辑执行计划,生成物理执行计划。
上述2031中,所述物理执行环境信息包括:所述分布式查询系统的节点运行状态信息和/或节点分布信息。其中,节点运行状态信息可包括:所述多个工作节点中各工作节点的运行状态信息,例如:资源负载。其中,节点分布信息可包括:多个工作节点中各工作节点所处的地理位置。
实际应用时,可根据目标逻辑执行计划确定所需的节点数量。然后,根据分布式查询系统当前的物理执行环境信息,从所述分布式查询系统的多个工作节点中查找所述节点数量个目标工作节点。最后,根据所述多个目标工作节点的节点信息以及所述目标逻辑执行计划,生成物理执行计划。其中,节点信息可以包括:网络地址,例如:IP地址。物理执行计划中包括用于执行罗逻辑执行计划中各子逻辑执行计划的目标工作节点的节点信息。
其中,物理执行计划是基于逻辑执行计划生成的可以在分布式物理环境下运行的执行计划。
上述2031中“根据分布式查询系统当前的物理执行环境信息,从所述分布式查询系统的多个工作节点中查找多个目标工作节点”,可采用如下步骤来实现:
S31、可根据分布式查询系统的节点运行状态信息,从分布式查询系统中确定出运行状态满足预设条件的多个备选工作节点。
S32、从多个备选工作节点中确定出多个目标工作节点。
上述S31中,节点运行状态信息包括:分布式查询系统中各工作节点的运行状态信息,例如:资源负载。上述预设条件可包括:资源负载小于或等于资源负载阈值,例如:80%。
上述S32中,可从多个备选工作节点中随机确定出多个目标工作节点,或者,可根据分布式查询系统的节点分布信息,从多个备选工作节点中选择出分布最为集中的多个目标工作节点。这样的话,当多个目标工作节点执行物理执行计划时,可以减少多个目标工作节点之间的传输路径,从而减低响应延时。
由于SQL引擎本身能支持多种数据源,而元数据(如数据分布、表列信息等)都是交由各个数据源自行维护。当表列信息发生变化后,原先缓存的逻辑执行计划可能就会失效。例如:正常创建表-->查询-->缓存逻辑执行计划,在此之后修改了表列的字段属性,将可能导致缓存失效。举例来说:生成备用逻辑执行计划时,数据库表列A的字段类型为数值类型,数据库表列B的字段类型为数值类型,且备用逻辑执行计划中包含有数据库表列A的数据与数据库表列B的数据的求和操作;后续,数据库表列A的字段类型变更为字符串类型、数据库表列B的字段类型也变更为字符串类型,这时候,备用逻辑执行计划中包含的上述求和操作就会失效,也就导致整个备用逻辑执行计划失效。
为了保证缓存的有效性,需增加元数据检查机制,在首次生成逻辑执行计划的过程中,根据查询语句所需访问的数据的元数据生成用于有效性校验的信息,该信息可以是元数据摘要(或称指纹)。除此之外,还可记录下查询语句所需访问的数据所在数据库表的元数据最后更新时间的当前值。后续在使用该逻辑执行计划前,需要先进行元数据摘要的校验;如果一致,则直接使用该逻辑执行计划;如果不一致表示元数据发生过更新,该逻辑执行计划强制失效并逐出,然后重新进行逻辑执行计划的生成过程并缓存。
在一实例中,所述缓存空间中针对各所述备用逻辑执行计划对应缓存有用于有效性校验的参考信息。上述方法,还可包括:
206、基于所述目标查询语句所要访问的目标数据当前对应的第一元数据,生成用于有效性校验的目标信息。
207、根据所述目标信息与所述缓存空间中针对所述目标逻辑执行计划对应缓存的参考信息的比较结果,判断所述目标逻辑执行计划是否有效。
208、当所述目标逻辑执行计划有效时,触发执行所述根据所述目标逻辑执行计划,执行查询,得到所述目标查询语句的查询结果的步骤。
其中,所述目标逻辑执行计划是通过解析第二查询语句生成的;所述缓存空间中针对所述目标逻辑执行计划对应缓存的参考信息是基于第二元数据生成的;所述第二元数据是所述第二查询语句所要访问的数据在生成所述目标逻辑执行计划时对应的元数据。
上述206中,元数据主要是描述数据属性的信息,上述各元数据可包括:数据所在的数据库表列的字段类型。字段类型可包括:字符串类型、数值类型。其中,数值类型还可细分为整数型、浮点型,等等。在一实例中,上述各元数据还可包括:数据所在的数据库表名称、目标数据所在的数据库表列名称(可称为字段名称)。
在一种可实现的方案中,可将目标查询语句所要访问的目标数据当前对应的第一元数据输入到第二摘要算法中,得到第二摘要算法输出的目标元数据摘要,以作为用于有效性校验的目标信息。
上述第二摘要算法也可以是哈希算法。哈希算法的具体选择可根据实际需要来设置,本申请实施例对此不做具体限定。上述第二摘要算法可以与上述第一摘要算法为同一个。
相应的,上述第一备用逻辑执行计划是通过解析第一查询语句或第一删除后查询语句生成的,所述缓存空间中针对第一备用逻辑执行计划对应缓存的参考信息是基于第三元数据生成的;第三元数据是第一查询语句所要访问的数据在生成所述第一备用逻辑执行计划时对应的元数据,具体的,也可利用所述第二摘要算法来生成相应的元数据摘要,以作为相应的参考信息。
其中,所述目标逻辑执行计划是通过解析第二查询语句生成的;所述缓存空间中针对所述目标逻辑执行计划对应缓存的参考信息是基于第二元数据生成的;所述第二元数据是所述第二查询语句所要访问的数据在生成所述目标逻辑执行计划时对应的元数据,具体的,也可利用所述第二摘要算法来生成相应的元数据摘要,以作为相应的参考信息。在一具体实例中,目标逻辑执行计划是通过解析第二删除后查询语句生成的,第二删除后查询语句是删除第二查询语句中有关查询时间区间的代码后得到的。
上述207中,将目标信息与缓存空间中针对所述目标逻辑执行计划对应缓存的参考信息进行比较,若相同,说明元数据未发生变化,则判定所述目标逻辑执行计划有效;若不同,说明元数据发生了变化,则判定所述目标逻辑执行计划无效。
上述208中、当所述目标逻辑执行计划有效时,触发执行所述根据所述目标逻辑执行计划,执行查询,得到所述目标查询语句的查询结果的步骤。
进一步的,上述方法,还可包括:
209、当所述目标逻辑执行计划无效时,对所述目标查询语句进行解析,得到所述目标逻辑执行计划。
当目标逻辑执行计划无效时,就需要通过解析目标查询语句来得到目标逻辑执行计划。在一种可实现的方案中,对所述目标查询语句进行解析,包括:删除所述目标查询语句中的有关查询时间区间的代码,得到目标删除后查询语句;对目标删除后查询语句进行解析,得到所述目标逻辑执行计划。
具体的,可对目标删除后查询语句进行语法解析,得到语法树;对语法树进行语义解析,得到表达式;对表达式进行改写和优化,得到初始目标逻辑执行计划;对初始目标逻辑执行计划进行分段处理,得到目标逻辑执行计划。
可选的,上述方法,还可包括:
210、在所述缓存空间中,针对所述目标查询语句对应缓存所述目标逻辑执行计划以及所述目标信息,以备后续使用。
在一种可实现的方案中,可在缓存空间中,对应缓存目标删除后查询语句对应的目标语句摘要、目标逻辑执行计划以及目标信息。
在另一种可实现的方案中,可在缓存空间中,对应缓存目标删除后查询语句对应的目标语句摘要、目标逻辑执行计划、目标信息、目标逻辑执行计划的输入信息和输出信息。记录目标逻辑执行计划的输入和输出信息,便于过程中需要的时候使用,而无需再遍历整棵逻辑树。
缓存空间中可采用键值对key-value结构来缓存上述信息,key是SQL文本通过xxhash64生成的语句摘要(长整型数值),value是如图4定义的计划条目结构,其中,计划根部记录一整棵逻辑执行计划树,它是缓存的主体;输入和输出分别记录逻辑执行计划树的输入和输出信息,便于查询过程中需要的时候使用,而无需再遍历整棵逻辑执行计划树;元数据摘要(metaDigest)记录了生成该逻辑执行计划树时元数据的摘要,用于后续检查缓存的逻辑执行计划树是否因元数据发生变化而失效。
可选的,所述缓存空间中针对各所述备用逻辑执行计划对应记录有相关数据库表的最后更新时间。所述方法,还包括:
211、获取所述目标逻辑执行计划所涉及的相关数据库表当前的最后更新时间。
212、当所述当前的最后更新时间值早于或等于所述缓存空间中针对所述目标逻辑执行计划对应记录的最后更新时间时,确定所述目标逻辑执行计划有效。
其中,所述缓存空间中针对所述目标逻辑执行计划对应记录的最后更新时间是在生成所述目标逻辑执行计划时记录的。
213、当所述当前的最后更新时间值晚于所述缓存空间中针对所述目标逻辑执行计划对应记录的最后更新时间时,触发所述根据所述目标查询语句所要访问的目标数据当前对应的元数据,生成用于有效性校验的目标信息的步骤。
实际应用中,数据库表的元数据一旦发生改变,其元数据最后更新时间就会被更新。数据库表的元数据包括:数据库表列的字段名称、数据库表列的字段类型、数据分布信息,等等。
当所述当前的最后更新时间值早于或等于所述缓存空间中针对所述目标逻辑执行计划对应记录的最后更新时间时,说明生成目标逻辑执行计划之后,相关数据库表的元数据就未发生过更新,也就说明相关数据库表中任意数据的元数据都未发生过改变,因此,可直接判定所述目标逻辑执行计划有效,而无需再执行上述步骤206和207,进而减少计算量和计算时间。
当所述当前的最后更新时间值晚于所述缓存空间中针对所述目标逻辑执行计划对应记录的最后更新时间时,说明生成目标逻辑执行计划之后,相关数据库表的元数据发生过更新,因此,需要继续执行上述步骤206和207,进行进一步的有效性判断。
在日志服务场景中,查询具有周期性,例如:每隔1分钟、5分钟、15分钟、1小时查询一次。因此,在缓存策略上,可采用基于时间窗口的LFU(Least Frequently Used,最不经常使用)缓存策略,并自适应时间窗口,相比于LRU(Least recently used,最近最少使用)缓存策略,可以尽可能地保留长周期调度的查询计划,以避免短时间内未被使用而被逐出的干扰。2其中,时间窗口的时长可根据实际需要来设置,例如:2小时。
具体的,上述方法,还可包括:
214、确定所述多个备用逻辑执行计划中各备用逻辑执行计划在预设的时间窗口内的调用次数。
215、在所述缓存空间中,删除调用次数小于或等于预设调用次数阈值的备用逻辑执行计划。
上述214中,预设的时间窗口例如可以是最近两小时、最近三小时,等等。
上述215中,预设调用次数阈值可根据实际需要来设置,本申请实施例对此不做具体限定。
图5示出了本申请实施例提供的数据查询方法的流程示意图。如图5所示,该方法,包括:
501、接收目标查询语句。
502、根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划。
503、若未查找到适用于所述目标查询语句的目标逻辑执行计划,则对所述目标查询语句进行解析,得到适用于所述目标查询语句的目标逻辑执行计划。
504、根据所述目标逻辑执行计划,执行查询,得到所述目标查询语句的查询结果。
505、将所述目标逻辑执行计划缓存在所述缓存空间中,以供后续重复使用。
具体的查找方式可参见上述各实施例中相应内容,在此不再赘述。
若在缓存空间中未查找到适用于目标查询语句的目标逻辑执行计划,则需要对目标查询语句进行解析,得到目标逻辑执行计划,解析过程可参见上述各实施例中相应内容。
在缓存空间中,针对目标查询语句对应缓存目标逻辑执行计划。将目标逻辑执行计划缓存在缓存空间的具体实现也可参见上述各实施例中相应内容,在此不再赘述。
上述步骤504具体可包括:根据当前的物理执行环境信息,将所述目标逻辑执行计划转换为物理执行计划;根据所述物理执行计划,执行查询,得到所述目标查询语句的查询结果。
这里需要说明的是:本申请实施例提供的所述方法中各步骤未尽详述的内容可参见上述实施例中的相应内容,此处不再赘述。此外,本申请实施例提供的所述方法中除了上述各步骤以外,还可包括上述各实施例中其他部分或全部步骤,具体可参见上述各实施例相应内容,在此不再赘述。
本申请实施例提供的技术方案可应用于实时检测、规则告警、定时报表等多种日志分析场景中。下面将结合图6对本申请提供的技术方案在规则告警这个场景下的应用进行举例介绍:
601、接收客户端发送来的查询请求。
其中,所述查询请求中包含有目标查询语句,目标查询语句用于查询从2022年6月23日16点00分到16点10分之间的日志增长数量。
602、创建会话。
具体的,针对目标查询语句创建会话;并从目标查询语句中提取出查询时间区间,存放在所述会话对应的会话信息中;删除目标查询语句中有关查询时间区间的代码,得到目标删除后查询语句。其中,查询时间区间也即从2022年6月23日16点00分到16点10分。
603、根据目标删除后查询语句的目标语句摘要,在缓存空间中进行检索。
604、判断是否命中。
若命中,则执行步骤605和606;若未命中,则执行步骤610。
605、从缓存空间中获取命中的目标逻辑执行计划。
606、对目标逻辑执行计划进行有效性校验。
607、判断是否有效。
若校验通过,则执行步骤608、609;若未校验通过,也执行步骤610。
608、根据所述目标逻辑执行计划,生成物理执行计划。
具体转换过程可参见上述各实施例中相应内容,在此不再赘述。
609、调用执行所述物理执行计划,得到查询结果。
其中,查询结果也即是从2022年6月23日16点00分到16点10分之间的日志增长数量。
具体的,可根据会话信息中的查询时间区间以及物理执行计划,调用执行查询,得到查询结果。
610、对目标删除后查询语句进行解析,得到目标逻辑执行计划。
得到目标逻辑执行计划后,执行上述步骤608和609,得到查询结果。同时,还可执行步骤611。
611、将目标语句摘要、解析得到的目标逻辑执行计划以及元数据摘要对应缓存在缓存空间中。
上述元数据摘要是根据目标查询语句所要访问的目标数据在生成目标逻辑执行计划时的元数据,利用第二摘要算法生成的。其中,目标语句摘要用于检索,元数据摘要用于有效性校验。
612、将查询结果返回给客户端。
客户端可根据查询结果,确定日志增长数量是否超过预设阈值,若超过预设阈值,可向用户发出告警。这样,用户能够及时去排查是否存在异常。
图7示出了逻辑执行计划转换为物理执行计划的示例图。如图7所示,逻辑执行计划71具体为一逻辑执行计划树,物理执行计划72涉及三个阶段,每个阶段中的查询任务被分配给一个或多个工作节点(对应于图7中的主机Host)。
本申请实施例提供的技术方案通过验证,表现稳定,缓存命中率保持在70%左右,计算资源消耗有效降低了35%,使系统性能提升,稳定性增强,并承载了更大体量的并发查询压力。
图8示出了本申请一实施例提供的电子设备的结构示意图。如图8所示,所述电子设备包括存储器1101以及处理器1102。存储器1101可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。存储器1101可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
所述存储器1101,用于存储程序;
所述处理器1102,与所述存储器1101耦合,用于执行所述存储器1101中缓存的所述程序,以实现上述各方法实施例提供的方法。
进一步,如图8所示,电子设备还包括:通信组件1103、显示器1104、电源组件1105、音频组件1106等其它组件。图8中仅示意性给出部分组件,并不意味着电子设备只包括图8所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各方法实施例提供的方法的步骤或功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (14)

1.一种数据查询方法,其中,包括:
接收目标查询语句;
根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划;
根据当前的物理执行环境信息,将所述目标逻辑执行计划转换为物理执行计划;
根据所述物理执行计划,执行查询,得到所述目标查询语句的查询结果。
2.根据权利要求1所述的方法,其中,根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划,包括:
在所述目标查询语句中删除有关查询时间区间的代码,得到目标删除后查询语句;
根据所述目标删除后查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划;
其中,所述缓存空间中缓存有第一备用逻辑执行计划;所述第一备用逻辑执行计划是通过解析第一删除后查询语句生成的;所述第一删除后查询语句是删除第一查询语句中有关查询时间区间的代码后得到的。
3.根据权利要求2所述的方法,其中,所述缓存空间中针对各所述备用逻辑执行计划对应缓存有语句摘要;
根据所述目标删除后查询语句,从缓存中查找适用于所述目标查询语句的目标逻辑执行计划,包括:
基于所述目标删除后查询语句,利用第一摘要算法确定目标语句摘要;
将所述缓存空间中与所述目标语句摘要相同的语句摘要对应的备用逻辑执行计划确定为所述目标逻辑执行计划;
其中,所述缓存空间中对应于所述第一备用逻辑执行计划缓存的语句摘要是基于所述第一删除后查询语句,利用所述第一摘要算法生成的。
4.根据权利要求3所述的方法,其中,还包括:
确定所述目标查询语句所涉及的目标数据源名称以及目标数据库用户名称;
基于所述目标删除后查询语句,利用第一摘要算法确定目标语句摘要,包括:
根据所述目标删除后查询语句、所述目标数据源名称以及所述目标数据库用户名称,利用第一摘要算法确定目标语句摘要;
其中,所述缓存空间中对应于所述第一备用逻辑执行计划缓存的语句摘要是基于所述第一删除后查询语句、所述第一查询语句所涉及的数据源名称以及数据库用户名称,利用所述第一摘要算法生成的。
5.根据权利要求1至4中任一项所述的方法,其中,根据当前的物理执行环境信息,将所述目标逻辑执行计划转换为物理执行计划,包括:
根据分布式查询系统当前的物理执行环境信息,从所述分布式查询系统的多个工作节点中查找多个目标工作节点;
根据所述多个目标工作节点的节点信息以及所述目标逻辑执行计划,生成物理执行计划。
6.根据权利要求1至4中任一项所述的方法,其中,所述缓存空间中针对各所述备用逻辑执行计划对应缓存有用于有效性校验的参考信息;上述方法,还包括:
基于所述目标查询语句所要访问的目标数据当前对应的第一元数据,生成用于有效性校验的目标信息;
根据所述目标信息与所述缓存空间中针对所述目标逻辑执行计划对应缓存的参考信息的比较结果,判断所述目标逻辑执行计划是否有效;
当所述目标逻辑执行计划有效时,触发执行所述根据所述目标逻辑执行计划,执行查询,得到所述目标查询语句的查询结果的步骤;
其中,所述目标逻辑执行计划是通过解析第二查询语句生成的;所述缓存空间中针对所述目标逻辑执行计划对应缓存的参考信息是基于第二元数据生成的;所述第二元数据是所述第二查询语句所要访问的数据在生成所述目标逻辑执行计划时对应的元数据。
7.根据权利要求6所述的方法,其中,还包括:
当所述目标逻辑执行计划无效时,对所述目标查询语句进行解析,得到适用于所述目标查询语句的目标逻辑执行计划。
8.根据权利要求7所述的方法,其中,还包括:
在所述缓存空间中,针对所述目标查询语句对应缓存所述目标逻辑执行计划以及所述目标信息,以备后续使用。
9.根据权利要求6所述的方法,其中,所述缓存空间中针对各所述备用逻辑执行计划对应记录有相关数据库表的最后更新时间;
所述方法,还包括:
获取所述目标逻辑执行计划所涉及的相关数据库表当前的最后更新时间;
当所述当前的最后更新时间值早于或等于所述缓存空间中针对所述目标逻辑执行计划对应记录的最后更新时间时,确定所述目标逻辑执行计划有效;所述缓存空间中针对所述目标逻辑执行计划对应记录的最后更新时间是在生成所述目标逻辑执行计划时记录的;
当所述当前的最后更新时间值晚于所述缓存空间中针对所述目标逻辑执行计划对应记录的最后更新时间时,触发所述根据所述目标查询语句所要访问的目标数据当前对应的元数据,生成用于有效性校验的目标信息的步骤。
10.根据权利要求1至4中任一项所述的方法,其中,还包括:
确定所述多个备用逻辑执行计划中各备用逻辑执行计划在预设的时间窗口内的调用次数;
在所述缓存空间中,删除调用次数小于或等于预设调用次数阈值的备用逻辑执行计划。
11.一种数据查询方法,其中,包括:
接收目标查询语句;
根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划;
若未查找到适用于所述目标查询语句的目标逻辑执行计划,则对所述目标查询语句进行解析,得到适用于所述目标查询语句的目标逻辑执行计划;
根据所述目标逻辑执行计划,执行查询,得到所述目标查询语句的查询结果;
将所述目标逻辑执行计划缓存在所述缓存空间中,以供后续重复使用。
12.一种分布式查询系统,其中,包括:协调节点和与所述协调节点通信连接的多个工作节点;
所述协调节点,用于:
接收目标查询语句;
根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划;
根据当前的物理执行环境信息,将所述目标逻辑执行计划转换为物理执行计划;所述物理执行环境信息包括:所述多个工作节点的运行状态信息;
根据所述物理执行计划,执行查询,得到所述目标查询语句的查询结果。
13.一种电子设备,其中,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中缓存的所述程序,以实现权利要求1至11中任一项所述的方法。
14.一种存储有计算机程序的计算机可读存储介质,其中,所述计算机程序被计算机执行时能够实现权利要求1至11中任一项所述的方法。
CN202210775515.3A 2022-07-01 2022-07-01 数据查询方法、数据查询系统、设备及存储介质 Pending CN115269631A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210775515.3A CN115269631A (zh) 2022-07-01 2022-07-01 数据查询方法、数据查询系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210775515.3A CN115269631A (zh) 2022-07-01 2022-07-01 数据查询方法、数据查询系统、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115269631A true CN115269631A (zh) 2022-11-01

Family

ID=83764310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210775515.3A Pending CN115269631A (zh) 2022-07-01 2022-07-01 数据查询方法、数据查询系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115269631A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116150563A (zh) * 2023-02-24 2023-05-23 之江实验室 一种业务执行方法、装置、存储介质及电子设备
CN117056379A (zh) * 2023-10-11 2023-11-14 宁波银行股份有限公司 一种元数据缓存方法、装置、电子设备及可读存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116150563A (zh) * 2023-02-24 2023-05-23 之江实验室 一种业务执行方法、装置、存储介质及电子设备
CN116150563B (zh) * 2023-02-24 2024-01-05 之江实验室 一种业务执行方法、装置、存储介质及电子设备
CN117056379A (zh) * 2023-10-11 2023-11-14 宁波银行股份有限公司 一种元数据缓存方法、装置、电子设备及可读存储介质
CN117056379B (zh) * 2023-10-11 2024-01-26 宁波银行股份有限公司 一种元数据缓存方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN107247808B (zh) 一种分布式NewSQL数据库系统及图片数据查询方法
US11625501B2 (en) Masking sensitive information in records of filtered accesses to unstructured data
US11182356B2 (en) Indexing for evolving large-scale datasets in multi-master hybrid transactional and analytical processing systems
Gunda et al. Nectar: automatic management of data and computation in datacenters
EP1240604B1 (en) A method and apparatus for improving the performance of a generated code cache search operation through the use of static key values
CN107038222B (zh) 数据库缓存实现方法及其系统
US8392403B2 (en) Management of data and computation in data centers
CN115269631A (zh) 数据查询方法、数据查询系统、设备及存储介质
US10650032B1 (en) Filtering pipeline optimizations for unstructured data
US10664508B1 (en) Server-side filtering of unstructured data items at object storage services
CN112015741A (zh) 一种海量数据的分库分表存储方法与装置
CN109981659A (zh) 基于数据去重技术的网络资源预取方法以及系统
CN109460345B (zh) 实时数据的计算方法及系统
Varga et al. Introducing Microsoft SQL Server 2016: Mission-Critical Applications, Deeper Insights, Hyperscale Cloud
Glasbergen et al. Chronocache: Predictive and adaptive mid-tier query result caching
US10606805B2 (en) Object-level image query and retrieval
Zhou et al. Sfmapreduce: An optimized mapreduce framework for small files
US8200673B2 (en) System and method for on-demand indexing
KR102415155B1 (ko) 데이터 검색 장치 및 방법
Holmqvist et al. Cachematic-automatic invalidation in application-level caching systems
CN111680036B (zh) 一种基于图存储的配置管理数据库
US10762084B2 (en) Distribute execution of user-defined function
US11055266B2 (en) Efficient key data store entry traversal and result generation
Kvet et al. Enhancing Analytical Select Statements Using Reference Aliases
CN109739874A (zh) 提供数据内容的方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination