CN117851447A - 分布式数据库分析能力的优化方法、装置、设备及介质 - Google Patents

分布式数据库分析能力的优化方法、装置、设备及介质 Download PDF

Info

Publication number
CN117851447A
CN117851447A CN202311720400.5A CN202311720400A CN117851447A CN 117851447 A CN117851447 A CN 117851447A CN 202311720400 A CN202311720400 A CN 202311720400A CN 117851447 A CN117851447 A CN 117851447A
Authority
CN
China
Prior art keywords
cache
query result
module
data
thread
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
CN202311720400.5A
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.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud Technology 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 Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202311720400.5A priority Critical patent/CN117851447A/zh
Publication of CN117851447A publication Critical patent/CN117851447A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及分布式数据库技术领域,公开了一种分布式数据库分析能力的优化方法、装置、设备及介质,所述方法包括将初始查询结果反馈至缓存调度模块,并将初始查询结果及对应的资源消耗发送至缓存线程模块;通过缓存线程模块新建查询结果缓存;通过缓存线程模块创建数据变更监控模块;在数据变更监控模块监测到初始查询结果发生变更时,通过预设有向无环图对发生变更的数据重新计算,将重新计算后的查询结果在查询结果缓存中更新。通过上述方式,本申请通过为分布式融合数据库提供对用户透明且无感知的内置缓存能力,内置多个与原来的查询引擎完全解耦的模块实现智能评估查询结果是否需要缓存,从而达到提升实时数据分析的能力。

Description

分布式数据库分析能力的优化方法、装置、设备及介质
技术领域
本申请涉及分布式数据库技术领域,尤其涉及一种分布式数据库分析能力的优化方法、装置、设备及介质。
背景技术
大数据包括结构化、半结构化和非结构化等多类数据,其中海量结构化数据存储在分布式数据库系统中。
“云网融合”作为云公司的整体发展方向,也指导着数据库存储的未来发展方向。在众多业务与企业上云的过程中,对支持实时数据分析的需求越来越迫切,但在海量数据的背景中支持实时数据分析查询对分布式融合数据库仍是一个挑战。因此,如何提高分布式融合数据库实时分析能力成为了亟待解决的技术问题。
发明内容
本申请提供了一种分布式数据库分析能力的优化方法、装置、设备及介质,以提高分布式融合数据库实时分析能力。
第一方面,本申请提供了一种分布式数据库分析能力的优化方法,所述方法包括:
在初始查询结果为Select查询指令未在缓存调度模块中命中缓存的情况下,将所述初始查询结果反馈至所述缓存调度模块,并通过所述缓存调度模块将所述初始查询结果及对应的资源消耗发送至缓存线程模块;
基于所述资源消耗,通过所述缓存线程模块新建查询结果缓存以缓存所述初始查询结果;
通过所述缓存线程模块创建数据变更监控模块以监测所述初始查询结果是否发生变更;
在所述数据变更监控模块监测到所述初始查询结果发生变更时,通过预设有向无环图对发生变更的数据重新计算,将重新计算后的查询结果在所述查询结果缓存中更新。
进一步地,在所述数据变更监控模块监测到所述初始查询结果发生变更时,通过预设有向无环图对发生变更的数据重新计算,将重新计算后的查询结果在所述查询结果缓存中更新之前,包括:
基于所述Select查询指令,通过所述数据变更监控模块建立有向无环图;
将所述初始查询结果记录在所述有向无环图中;
其中,所述数据变更监控模块与分布式数据库中其他数据变更监控模块共享所述有向无环图。
进一步地,分布式数据库分析能力的优化方法还包括:
在接收到来自客户端的所述Select查询指令的情况下,查询所述Select查询指令是否在所述缓存调度模块中命中缓存,生成初始查询结果;
基于所述初始查询结果,通过分布式键值存储系统ETCD将所述Select查询指令对应的缓存进行全局共享。
进一步地,在接收到来自客户端的所述Select查询指令的情况下,查询所述Select查询指令是否在所述缓存调度模块中命中缓存,生成初始查询结果,包括:
在所述Select查询指令到达行存节点时,将所述Select查询指令对应的数据表转换为至少一条流水线,并配置至少一条线程处理各所述流水线其中,各所述线程为并行线程;
通过各所述线程对比所述资源消耗,查询所述Select查询指令是否在所述缓存调度模块中命中缓存,生成所述初始查询结果。
进一步地,在所述Select查询指令到达行存节点时,将所述Select查询指令对应的数据表转换为至少一条流水线,并配置至少一条线程处理各所述流水线其中,各所述线程为并行线程,包括:
当至少一条所述流水线对应的数据为新增数据时,将所述新增数据合并至所述缓存调度模块的缓存中。
进一步地,在所述Select查询指令到达行存节点时,将所述Select查询指令对应的数据表转换为至少一条流水线,并配置至少一条线程处理各所述流水线其中,各所述线程为并行线程,包括:
当至少一条所述流水线对应的数据为所述缓存调度模块中的现有数据时,则放弃所述现有数据,并标注所述现有数据为过期数据。
进一步地,通过所述缓存线程模块创建数据变更监控模块以监测所述初始查询结果是否发生变更之前,包括:
获取所述Select查询指令的开始时刻;
基于所述开始时刻的时间戳,创建所述数据变更监控模块。
第二方面,本申请还提供了一种分布式数据库分析能力的优化装置,所述装置包括:
初始查询结果反馈模块,用于在初始查询结果为Select查询指令未在缓存调度模块中命中缓存的情况下,将所述初始查询结果反馈至所述缓存调度模块,并通过所述缓存调度模块将所述初始查询结果及对应的资源消耗发送至缓存线程模块;
查询结果缓存新建模块,用于基于所述资源消耗,通过所述缓存线程模块新建查询结果缓存以缓存所述初始查询结果;
数据变更监控模块,用于基于所述资源消耗,通过所述缓存线程模块新建查询结果缓存以缓存所述初始查询结果;
查询结果更新模块,用于在所述数据变更监控模块监测到所述初始查询结果发生变更时,通过预设有向无环图对发生变更的数据重新计算,将重新计算后的查询结果在所述查询结果缓存中更新。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的分布式数据库分析能力的优化方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的分布式数据库分析能力的优化方法。
本申请公开了一种分布式数据库分析能力的优化方法、装置、设备及介质,所述分布式数据库分析能力的优化方法包括在初始查询结果为Select查询指令未在缓存调度模块中命中缓存的情况下,将所述初始查询结果反馈至所述缓存调度模块,并通过所述缓存调度模块将所述初始查询结果及对应的资源消耗发送至缓存线程模块;基于所述资源消耗,通过所述缓存线程模块新建查询结果缓存以缓存所述初始查询结果;通过所述缓存线程模块创建数据变更监控模块以监测所述初始查询结果是否发生变更;在所述数据变更监控模块监测到所述初始查询结果发生变更时,通过预设有向无环图对发生变更的数据重新计算,将重新计算后的查询结果在所述查询结果缓存中更新。通过上述方式,本申请通过为分布式融合数据库提供对用户透明且无感知的内置缓存能力,内置多个与原来的查询引擎完全解耦的模块实现智能评估查询结果是否需要缓存,从而达到提升实时数据分析的能力。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的第一实施例提供的一种分布式数据库分析能力的优化方法的示意流程图;
图2为本申请的第一实施例提供的分布式数据库分析能力的优化系统示意图;
图3是本申请的第二实施例提供的一种分布式数据库分析能力的优化方法的示意流程图;
图4为本申请的实施例提供的一种分布式数据库分析能力的优化装置的示意性框图;
图5为本申请的实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种分布式数据库分析能力的优化方法、装置、设备及介质。其中,该分布式数据库分析能力的优化方法可以应用于服务器中,通过为分布式融合数据库提供对用户透明且无感知的内置缓存能力,内置多个与原来的查询引擎完全解耦的模块实现智能评估查询结果是否需要缓存,从而达到提升实时数据分析的能力。其中,该服务器可以为独立的服务器,也可以为服务器集群。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1是本申请的第一实施例提供的一种分布式数据库分析能力的优化方法的示意流程图。该分布式数据库分析能力的优化方法可应用于服务器中,通过为分布式融合数据库提供对用户透明且无感知的内置缓存能力,内置多个与原来的查询引擎完全解耦的模块实现智能评估查询结果是否需要缓存,从而达到提升实时数据分析的能力。
如图1所示,该分布式数据库分析能力的优化方法具体包括步骤S10至步骤S40。
步骤S10、在初始查询结果为Select查询指令未在缓存调度模块中命中缓存的情况下,将所述初始查询结果反馈至所述缓存调度模块,并通过所述缓存调度模块将所述初始查询结果及对应的资源消耗发送至缓存线程模块;
在一个实施例中,分布式融合数据库在接收到一条来自客户端的Select查询时,进入cacheDispatcher(缓存调度)模块,在该模块中判断本条查询是否命中缓存,如果命中缓存,则直接将已经存储在数据库缓存结构即queryResultCache(查询结果缓存)中的查询结果返回给客户端,如果没有命中缓存,则交给计算引擎进行分布式计算处理。
步骤S20、基于所述资源消耗,通过所述缓存线程模块新建查询结果缓存以缓存所述初始查询结果;
在一个实施例中,当cacheAssessor(缓存调度模块)模块接收到cacheDispatcher模块传过来的查询相关信息后,结合查询内存消耗、查询总运行时间、查询返回数据集大小、查询所需要读取的数据大小等条件判断是否需要将本次查询进行缓存。当cacheAssessor模块评估认为需要缓存后,将新建一个queryResultCache(查询调度缓存)来保存本次查询的结果。
步骤S30、通过所述缓存线程模块创建数据变更监控模块以监测所述初始查询结果是否发生变更;
在一个实施例中,根据本次运行查询开始时刻的时间戳创建一个DataChangeWatcher(数据变更监控模块)订阅与本次查询有关的数据变更。
DataChangeWatcher会根据本次查询在内部创建有向无环图,并将相关查询结果记录在无环图的节点上进行记录,当DataChangeWatcher观察到与数据变更时,会根据之前记录的有向无环图对相关的节点进行重新计算,最后重新计算整个查询的结果,并将结果更新到queryResultCache中。
步骤S40、在所述数据变更监控模块监测到所述初始查询结果发生变更时,通过预设有向无环图对发生变更的数据重新计算,将重新计算后的查询结果在所述查询结果缓存中更新。
在一个实施例中,本实施例提供的分布式数据库分析能力的优化方法应用于分布式数据库分析能力的优化系统中。如图2所示,图2为本申请的第一实施例提供的分布式数据库分析能力的优化系统示意图。分布式数据库分析能力的优化系统包括客户端、计算层和存储层。计算层包括cacheDispatcher模块、cacheAssessor模块、DataChangeWatcher模块。
本实施例相比现有的分析型数据库缓存方案,可以提供对用户透明且无感知的内置缓存能力,并且根据每一个查询的历史信息及真实资源消耗进行智能评估,本次查询是否需要缓存,从而达到提升实时数据分析的能力。
在功能方面,该方法提供了对用户透明且无感知的内置缓存能力,可以根据每一次的查询结果进行评估判断是否需要缓存,且这个过程无需用户进行另外的操作。
在查询效率方面,在命中缓存时可以直接将缓存的查询结果返回给客户端,减少无效计算,并且当不同的查询之间构建的有向无环图构成子图关系时,可以将已缓存的查询结果在不同的查询之间进行共享,达到减少计算资源的浪费及提升查询并发数的目的。
本实施例公开了一种分布式数据库分析能力的优化方法、装置、设备及介质,所述分布式数据库分析能力的优化方法包括在初始查询结果为Select查询指令未在缓存调度模块中命中缓存的情况下,将所述初始查询结果反馈至所述缓存调度模块,并通过所述缓存调度模块将所述初始查询结果及对应的资源消耗发送至缓存线程模块;基于所述资源消耗,通过所述缓存线程模块新建查询结果缓存以缓存所述初始查询结果;通过所述缓存线程模块创建数据变更监控模块以监测所述初始查询结果是否发生变更;在所述数据变更监控模块监测到所述初始查询结果发生变更时,通过预设有向无环图对发生变更的数据重新计算,将重新计算后的查询结果在所述查询结果缓存中更新。通过上述方式,本申请通过为分布式融合数据库提供对用户透明且无感知的内置缓存能力,内置多个与原来的查询引擎完全解耦的模块实现智能评估查询结果是否需要缓存,从而达到提升实时数据分析的能力。
基于图1所示实施例,本实施例中,步骤S40之前,包括:
基于所述Select查询指令,通过所述数据变更监控模块建立有向无环图;
将所述初始查询结果记录在所述有向无环图中;
其中,所述数据变更监控模块与分布式数据库中其他数据变更监控模块共享所述有向无环图。
基于上述实施例,本实施例中,数据变更监控模块与分布式数据库中其他数据变更监控模块共享所述有向无环图。
在一个实施例中,当DataChangeWatcher观察到与数据变更时,会根据之前记录的有向无环图对相关的节点进行重新计算,最后重新计算整个查询的结果,并将结果更新到queryResultCache中。
为了节省计算资源及加速查询,不同的DataChangeWatcher之间可以共享彼此记录的有向无环图,当某个DataChangeWatcher的有向无环图中的一个子图是另一个DataChangeWatcher记录的有向无环图时,可以直接使用另一个DataChangeWatcher的有向无环图结果进行计算,以此来避免无效的重复计算,并加快查询速度提高并发数。
请参阅图3,图3是本申请的第二实施例提供的一种分布式数据库分析能力的优化方法的示意流程图。该分布式数据库分析能力的优化方法可应用于服务器中,通过为分布式融合数据库提供对用户透明且无感知的内置缓存能力,内置多个与原来的查询引擎完全解耦的模块实现智能评估查询结果是否需要缓存,从而达到提升实时数据分析的能力。
基于图1所示实施例,本实施例如图3所示,步骤S10之前包括步骤S01至步骤S02。
步骤S01、在接收到来自客户端的所述Select查询指令的情况下,查询所述Select查询指令是否在所述缓存调度模块中命中缓存,生成初始查询结果;
步骤S02、基于所述初始查询结果,通过分布式键值存储系统ETCD将所述Select查询指令对应的缓存进行全局共享。
在一个实施例中,分布式融合数据库在接收到一条来自客户端的select查询时,进入cacheDispatcher(缓存调度)模块,在该模块中判断本条查询是否命中缓存,如果命中缓存,则直接将已经存储在数据库缓存结构即queryResultCache中的查询结果返回给客户端。
本实施例公开了一种分布式数据库分析能力的优化方法、装置、设备及介质,所述分布式数据库分析能力的优化方法包括在接收到来自客户端的所述Select查询指令的情况下,查询所述Select查询指令是否在所述缓存调度模块中命中缓存,生成初始查询结果;若所述初始查询结果为所述Select查询指令在所述缓存调度模块中命中缓存的情况下,将所述查询结果缓存中对应的查询结果反馈至所述客户端;在初始查询结果为Select查询指令未在缓存调度模块中命中缓存的情况下,将所述初始查询结果反馈至所述缓存调度模块,并通过所述缓存调度模块将所述初始查询结果及对应的资源消耗发送至缓存线程模块;基于所述资源消耗,通过所述缓存线程模块新建查询结果缓存以缓存所述初始查询结果;通过所述缓存线程模块创建数据变更监控模块以监测所述初始查询结果是否发生变更;在所述数据变更监控模块监测到所述初始查询结果发生变更时,通过预设有向无环图对发生变更的数据重新计算,将重新计算后的查询结果在所述查询结果缓存中更新。通过上述方式,本申请通过为分布式融合数据库提供对用户透明且无感知的内置缓存能力,内置多个与原来的查询引擎完全解耦的模块实现智能评估查询结果是否需要缓存,从而达到提升实时数据分析的能力。
基于图3所示实施例,本实施例中,步骤S01,包括:
在所述Select查询指令到达行存节点时,将所述Select查询指令对应的数据表转换为至少一条流水线,并配置至少一条线程处理各所述流水线其中,各所述线程为并行线程;
通过各所述线程对比所述资源消耗,查询所述Select查询指令是否在所述缓存调度模块中命中缓存,生成所述初始查询结果。
在一个实施例中,在所述Select查询指令到达行存节点时,将所述Select查询指令对应的数据表转换为至少一条流水线,并配置至少一条线程处理各所述流水线其中,各所述线程为并行线程,包括:
当至少一条所述流水线对应的数据为新增数据时,将所述新增数据合并至所述缓存调度模块的缓存中。
在一个实施例中,在所述Select查询指令到达行存节点时,将所述Select查询指令对应的数据表转换为至少一条流水线,并配置至少一条线程处理各所述流水线其中,各所述线程为并行线程,包括:
当至少一条所述流水线对应的数据为所述缓存调度模块中的现有数据时,则放弃所述现有数据,并标注所述现有数据为过期数据。
具体地,当查询语句到达行存节点时,首先会将语句根据需要用到的数据表进行转换成多条可以并行执行的流水线,同时启动多个线程对每一条流水线进行处理,加快查询速度,并缓存每一条流水线的执行条件及相应的结果,最后从多条流水线汇总最终的执行结果并返回给计算节点。
由于行存节点有多个副本,可以将缓存的每一条流水线结果及条件带上开始执行时的时间戳通过ETCD发送至与该执行节点有相同副本的节点,这样可以使得下次查询如果在同一个副本上的不同节点也可以使用已执行获得的结果加快查询速度。
当需要执行的语句是插入语句时,将发送给对应的行存节点进行判断,如果是新增数据则启动线程对新增数据进行计算及处理,并将结果合并至已缓存的流水线结果中;如果是修改已有数据则直接放弃原有缓存的流水线数据,这两种情况都需要通过ETCD通知具备相同副本的节点,以及需要将结果返回给缓存层,如果是新增数据则更新缓存,如果是放弃数据集则将缓存标记为已过期,并且也需要通知ETCD以更新至所有的计算节点,当这些操作全部通知完毕之后才算成功插入。
基于上述任一所示实施例,本实施例中,步骤S30之前包括:
获取所述Select查询指令的开始时刻;
基于所述开始时刻的时间戳,创建所述数据变更监控模块。
请参阅图4,图4是本申请的实施例提供一种分布式数据库分析能力的优化装置的示意性框图,该分布式数据库分析能力的优化装置用于执行前述的分布式数据库分析能力的优化方法。其中,该分布式数据库分析能力的优化装置可以配置于服务器。
如图4所示,该分布式数据库分析能力的优化装置,包括:
初始查询结果反馈模块410,用于在初始查询结果为Select查询指令未在缓存调度模块中命中缓存的情况下,将所述初始查询结果反馈至所述缓存调度模块,并通过所述缓存调度模块将所述初始查询结果及对应的资源消耗发送至缓存线程模块;
查询结果缓存新建模块420,用于基于所述资源消耗,通过所述缓存线程模块新建查询结果缓存以缓存所述初始查询结果;
数据变更监控模块430,用于基于所述资源消耗,通过所述缓存线程模块新建查询结果缓存以缓存所述初始查询结果;
查询结果更新模块440,用于在所述数据变更监控模块监测到所述初始查询结果发生变更时,通过预设有向无环图对发生变更的数据重新计算,将重新计算后的查询结果在所述查询结果缓存中更新。
进一步地,所述分布式数据库分析能力的优化装置,还包括:
有向无环图建立模块,用于基于所述Select查询指令,通过所述数据变更监控模块建立有向无环图;
初始查询结果记录模块,用于将所述初始查询结果记录在所述有向无环图中;
其中,所述数据变更监控模块与分布式数据库中其他数据变更监控模块共享所述有向无环图。
进一步地,所述分布式数据库分析能力的优化装置,还包括:
初始查询结果生成模块,用于在接收到来自客户端的所述Select查询指令的情况下,查询所述Select查询指令是否在所述缓存调度模块中命中缓存,生成初始查询结果;
全局共享模块,用于基于所述初始查询结果,通过分布式键值存储系统ETCD将所述Select查询指令对应的缓存进行全局共享。
进一步地,所述初始查询结果生成模块包括:
流水线转换单元,用于在所述Select查询指令到达行存节点时,将所述Select查询指令对应的数据表转换为至少一条流水线,并配置至少一条线程处理各所述流水线其中,各所述线程为并行线程;
缓存命中单元,用于通过各所述线程对比所述资源消耗,查询所述Select查询指令是否在所述缓存调度模块中命中缓存,生成所述初始查询结果。
进一步地,所述流水线转换单元,包括:
新增数据子单元,用于当至少一条所述流水线对应的数据为新增数据时,将所述新增数据合并至所述缓存调度模块的缓存中。
进一步地,所述流水线转换单元,包括:
过期数据子单元,用于当至少一条所述流水线对应的数据为所述缓存调度模块中的现有数据时,则放弃所述现有数据,并标注所述现有数据为过期数据。
进一步地,所述数据变更监控模块430,包括:
开始时刻获取单元,用于获取所述Select查询指令的开始时刻;
数据变更监控模块创建单元,用于基于所述开始时刻的时间戳,创建所述数据变更监控模块。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
请参阅图5,图5是本申请的实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器。
参阅图5,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种分布式数据库分析能力的优化方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种分布式数据库分析能力的优化方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
在初始查询结果为Select查询指令未在缓存调度模块中命中缓存的情况下,将所述初始查询结果反馈至所述缓存调度模块,并通过所述缓存调度模块将所述初始查询结果及对应的资源消耗发送至缓存线程模块;
基于所述资源消耗,通过所述缓存线程模块新建查询结果缓存以缓存所述初始查询结果;
通过所述缓存线程模块创建数据变更监控模块以监测所述初始查询结果是否发生变更;
在所述数据变更监控模块监测到所述初始查询结果发生变更时,通过预设有向无环图对发生变更的数据重新计算,将重新计算后的查询结果在所述查询结果缓存中更新。
在一个实施例中,在所述数据变更监控模块监测到所述初始查询结果发生变更时,通过预设有向无环图对发生变更的数据重新计算,将重新计算后的查询结果在所述查询结果缓存中更新之前,用于实现:
基于所述Select查询指令,通过所述数据变更监控模块建立有向无环图;
将所述初始查询结果记录在所述有向无环图中;
其中,所述数据变更监控模块与分布式数据库中其他数据变更监控模块共享所述有向无环图。
在一个实施例中,分布式数据库分析能力的优化方法还用于实现:
在接收到来自客户端的所述Select查询指令的情况下,查询所述Select查询指令是否在所述缓存调度模块中命中缓存,生成初始查询结果;
基于所述初始查询结果,通过分布式键值存储系统ETCD将所述Select查询指令对应的缓存进行全局共享。
在一个实施例中,在接收到来自客户端的所述Select查询指令的情况下,查询所述Select查询指令是否在所述缓存调度模块中命中缓存,生成初始查询结果,用于实现:
在所述Select查询指令到达行存节点时,将所述Select查询指令对应的数据表转换为至少一条流水线,并配置至少一条线程处理各所述流水线其中,各所述线程为并行线程;
通过各所述线程对比所述资源消耗,查询所述Select查询指令是否在所述缓存调度模块中命中缓存,生成所述初始查询结果。
在一个实施例中,在所述Select查询指令到达行存节点时,将所述Select查询指令对应的数据表转换为至少一条流水线,并配置至少一条线程处理各所述流水线其中,各所述线程为并行线程,用于实现:
当至少一条所述流水线对应的数据为新增数据时,将所述新增数据合并至所述缓存调度模块的缓存中。
在一个实施例中,在所述Select查询指令到达行存节点时,将所述Select查询指令对应的数据表转换为至少一条流水线,并配置至少一条线程处理各所述流水线其中,各所述线程为并行线程,用于实现:
当至少一条所述流水线对应的数据为所述缓存调度模块中的现有数据时,则放弃所述现有数据,并标注所述现有数据为过期数据。
在一个实施例中,通过所述缓存线程模块创建数据变更监控模块以监测所述初始查询结果是否发生变更之前,用于实现:
获取所述Select查询指令的开始时刻;
基于所述开始时刻的时间戳,创建所述数据变更监控模块。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项分布式数据库分析能力的优化方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种分布式数据库分析能力的优化方法,其特征在于,包括:
在初始查询结果为Select查询指令未在缓存调度模块中命中缓存的情况下,将所述初始查询结果反馈至所述缓存调度模块,并通过所述缓存调度模块将所述初始查询结果及对应的资源消耗发送至缓存线程模块;
基于所述资源消耗,通过所述缓存线程模块新建查询结果缓存以缓存所述初始查询结果;
通过所述缓存线程模块创建数据变更监控模块以监测所述初始查询结果是否发生变更;
在所述数据变更监控模块监测到所述初始查询结果发生变更时,通过预设有向无环图对发生变更的数据重新计算,将重新计算后的查询结果在所述查询结果缓存中更新。
2.根据权利要求1所述的分布式数据库分析能力的优化方法,其特征在于,所述在所述数据变更监控模块监测到所述初始查询结果发生变更时,通过预设有向无环图对发生变更的数据重新计算,将重新计算后的查询结果在所述查询结果缓存中更新之前,包括:
基于所述Select查询指令,通过所述数据变更监控模块建立有向无环图;
将所述初始查询结果记录在所述有向无环图中;
其中,所述数据变更监控模块与分布式数据库中其他数据变更监控模块共享所述有向无环图。
3.根据权利要求1所述的分布式数据库分析能力的优化方法,其特征在于,所述分布式数据库分析能力的优化方法还包括:
在接收到来自客户端的所述Select查询指令的情况下,查询所述Select查询指令是否在所述缓存调度模块中命中缓存,生成初始查询结果;
基于所述初始查询结果,通过分布式键值存储系统ETCD将所述Select查询指令对应的缓存进行全局共享。
4.根据权利要求3所述的分布式数据库分析能力的优化方法,其特征在于,所述在接收到来自客户端的所述Select查询指令的情况下,查询所述Select查询指令是否在所述缓存调度模块中命中缓存,生成初始查询结果,包括:
在所述Select查询指令到达行存节点时,将所述Select查询指令对应的数据表转换为至少一条流水线,并配置至少一条线程处理各所述流水线其中,各所述线程为并行线程;
通过各所述线程对比所述资源消耗,查询所述Select查询指令是否在所述缓存调度模块中命中缓存,生成所述初始查询结果。
5.根据权利要求4所述的分布式数据库分析能力的优化方法,其特征在于,所述在所述Select查询指令到达行存节点时,将所述Select查询指令对应的数据表转换为至少一条流水线,并配置至少一条线程处理各所述流水线其中,各所述线程为并行线程,包括:
当至少一条所述流水线对应的数据为新增数据时,将所述新增数据合并至所述缓存调度模块的缓存中。
6.根据权利要求5所述的分布式数据库分析能力的优化方法,其特征在于,所述在所述Select查询指令到达行存节点时,将所述Select查询指令对应的数据表转换为至少一条流水线,并配置至少一条线程处理各所述流水线其中,各所述线程为并行线程,包括:
当至少一条所述流水线对应的数据为所述缓存调度模块中的现有数据时,则放弃所述现有数据,并标注所述现有数据为过期数据。
7.根据权利要求1至6中任一项所述的分布式数据库分析能力的优化方法,其特征在于,所述通过所述缓存线程模块创建数据变更监控模块以监测所述初始查询结果是否发生变更之前,包括:
获取所述Select查询指令的开始时刻;
基于所述开始时刻的时间戳,创建所述数据变更监控模块。
8.一种分布式数据库分析能力的优化装置,其特征在于,包括:
初始查询结果反馈模块,用于在初始查询结果为Select查询指令未在缓存调度模块中命中缓存的情况下,将所述初始查询结果反馈至所述缓存调度模块,并通过所述缓存调度模块将所述初始查询结果及对应的资源消耗发送至缓存线程模块;
查询结果缓存新建模块,用于基于所述资源消耗,通过所述缓存线程模块新建查询结果缓存以缓存所述初始查询结果;
数据变更监控模块,用于基于所述资源消耗,通过所述缓存线程模块新建查询结果缓存以缓存所述初始查询结果;
查询结果更新模块,用于在所述数据变更监控模块监测到所述初始查询结果发生变更时,通过预设有向无环图对发生变更的数据重新计算,将重新计算后的查询结果在所述查询结果缓存中更新。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7中任一项所述的分布式数据库分析能力的优化方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7中任一项所述的分布式数据库分析能力的优化方法。
CN202311720400.5A 2023-12-14 2023-12-14 分布式数据库分析能力的优化方法、装置、设备及介质 Pending CN117851447A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311720400.5A CN117851447A (zh) 2023-12-14 2023-12-14 分布式数据库分析能力的优化方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311720400.5A CN117851447A (zh) 2023-12-14 2023-12-14 分布式数据库分析能力的优化方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN117851447A true CN117851447A (zh) 2024-04-09

Family

ID=90540963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311720400.5A Pending CN117851447A (zh) 2023-12-14 2023-12-14 分布式数据库分析能力的优化方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN117851447A (zh)

Similar Documents

Publication Publication Date Title
US11249997B1 (en) System-wide query optimization
US10114682B2 (en) Method and system for operating a data center by reducing an amount of data to be processed
US20150237113A1 (en) Method and system for file transmission
US20140181026A1 (en) Read-only operations processing in a paxos replication system
US20180337840A1 (en) System and method for testing filters for data streams in publisher-subscriber networks
CN104035938A (zh) 一种性能持续集成数据处理的方法及装置
US20150199408A1 (en) Systems and methods for a high speed query infrastructure
CN112860730A (zh) Sql语句的处理方法、装置、电子设备及可读存储介质
US20070156701A1 (en) Query plan execution by implementation of plan operations forming a join graph
CN110134738A (zh) 分布式存储系统资源预估方法、装置
CN107204998B (zh) 处理数据的方法和装置
CN110555038A (zh) 一种数据处理系统、方法及装置
CN112989171A (zh) 数据查询方法、装置、设备及介质
RU2583720C2 (ru) Устройство для обработки данных в логической системе с компьютерной поддержкой и соответствующий способ
US10713082B2 (en) Cloud platform integration load balancer
CN116501805A (zh) 一种流数据系统、计算机设备及介质
CN117851447A (zh) 分布式数据库分析能力的优化方法、装置、设备及介质
CN116108036A (zh) 一种后端系统数据离线导出方法和装置
CN113434500A (zh) 表连接方法、装置、分布式数据库系统、服务器及介质
CN116185578A (zh) 计算任务的调度方法和计算任务的执行方法
CN114996299A (zh) 分布式数据库的计划执行方法、装置和系统
Lei et al. Redoop: Supporting Recurring Queries in Hadoop.
CN114401239A (zh) 元数据传输方法、装置、计算机设备和存储介质
Seaborne An RDF NetAPI
Purtzel et al. On-Demand Pattern Aggregation in Event Networks

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