【技术实现步骤摘要】
本申请涉及计算机,特别是涉及数据仓库的性能诊断方法及其相关设备。
技术介绍
1、数据仓库是一种用于支持决策分析和商业智能的数据存储系统,常用于大规模数据分析和查询。在数据仓库中,查询执行的性能是用户体感最明确的指标。而当分析型查询执行缓慢或异常时,为了定位数据仓库的性能瓶颈或异常,需要一个准确且高效地采集查询的执行信息的诊断系统,该执行信息包括运行指标,运行指标包含查询的执行时间、所占用硬件资源、处理数据行数等,以通过该诊断系统基于这些执行信息来定位数据仓库的性能瓶颈或异常。
2、mpp架构是一种处理分析任务的计算模式(mpp全称为massively prallelprocessing,即大规模并行处理),该模式将计算任务分散到多个服务器节点上,在每个服务器节点计算完成后将各自计算结果汇总得到最终结果。一种常见的用于数据仓库的mpp架构是主从模式,它将数据仓库的服务器节点分为主节点(leader node)和从节点(follower node)。主节点用于计算任务的分发,从节点用于存储数据和执行计算任务,在mpp架构的分布式数据仓库中,分布式数据仓库在同等能力的前提下复杂性和运行开销会相应增加。由于数据仓库的查询会并行地执行在多个分散的从节点上,该诊断系统需要在多个从节点同时收集查询的执行信息并在将执行信息传输至主节点或其他监控系统后,对执行信息做合并运算和存储。同时,在mpp架构下,诊断系统不可避免地需要面对网络传输大量数据的性能问题。在这一背景下,诊断系统在准确性和高效性这两个维度下的性能变得尤为重要。由于诊断系
3、针对相关技术中降低了数据仓库查询性能的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本专利技术实施例提供的数据仓库的性能诊断方法及其相关设备,至少解决诊断系统会对数据仓库造成较大的额外开销,降低了数据仓库的查询性能的问题。
2、根据本专利技术的一个方面,提供了一种数据仓库的性能诊断方法,所述数据仓库包括主节点和从节点,所述方法包括:
3、将采集的执行信息存储于所述从节点的磁盘,所述执行信息为所述从节点执行所述数据仓库的查询任务的过程中产生的信息;
4、响应于针对所述执行信息的访问请求,将从所述磁盘读取的所述执行信息发送至所述主节点,以在所述主节点对所述执行信息进行聚合处理获得处理信息,并根据所述处理信息确定所述数据仓库的性能。
5、在其中的一些实施例中,在所述主节点对所述执行信息进行聚合处理获得处理信息之前,所述方法还包括:
6、将所述执行信息存储于所述从节点的预定内存,其中,所述预定内存为所述从节点上执行不同所述查询任务的执行进程共享的内存;
7、则,在所述主节点对所述执行信息进行聚合处理获得处理信息之前,所述方法还包括:
8、响应于针对所述执行信息的访问请求,将从所述预定内存读取的所述执行信息发送至所述主节点。
9、在其中的一些实施例中,将所述执行信息存储于所述从节点的预定内存的步骤包括:
10、在所述预定内存中创建哈希表,以将所述执行信息存储于所述哈希表;
11、则,将采集的执行信息存储于所述从节点的磁盘的步骤包括:
12、将从所述哈希表读取的所述执行信息写入所述磁盘。
13、在其中的一些实施例中,所述预定内存内创建有哈希表,所述查询任务包括多个算子,所述从节点执行完所述算子后产生有执行子信息,所述执行信息包括所述多个算子的所述执行子信息,将所述执行信息存储于所述从节点的预定内存的步骤还包括:
14、获取采集的所述执行子信息,并确定所述执行子信息对应的算子的身份信息;
15、基于所述身份信息将所述执行子信息存储于所述哈希表,其中,所述哈希表的存储结构包括键key和值value,所述key为所述身份信息,所述value为所述执行子信息。
16、在其中的一些实施例中,基于所述身份信息将所述执行子信息存储于所述哈希表的步骤包括:
17、采集所述执行子信息的更新信息,所述更新信息为所述从节点将所述算子执行至预定执行节点时产生的信息;
18、根据所述身份信息确定所述哈希表中用于存储所述算子对应的所述执行子信息的目标value;
19、基于所述更新信息更新所述目标value。
20、在其中的一些实施例中,基于所述更新信息更新所述目标value存储的所述执行子信息的步骤包括:
21、在所述哈希表的所述目标value处设置行级锁后,基于所述更新信息更新所述目标value存储的所述执行子信息。
22、在其中的一些实施例中,根据所述处理信息确定所述数据仓库的性能之前,所述方法还包括:
23、在所述从节点对所述执行子信息进行预聚合获得预处理信息;
24、将所述预处理信息发送至所述主节点,以在所述主节点对所述预处理信息进行聚合处理获得所述处理信息。
25、根据本专利技术的另一个方面,提供了一种数据仓库的性能诊断系统,所述诊断系统用于执行所述的性能诊断方法。
26、根据本专利技术的另一个方面,提供了一种数据仓库,所述数据仓库包括所述的性能诊断系统。
27、根据本专利技术的另一个方面,提供了一种电子设备,包括:处理器,以及存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行所述的数据仓库的性能诊断方法。
28、根据本专利技术的另一个方面,提供了一种存储有计算机指令的非瞬时机器可读介质,所述计算机指令用于使所述计算机执行所述的数据仓库的性能诊断方法。
29、本专利技术实施例的有益效果:
30、本专利技术实施例可在面向多个从节点并行执行查询任务的过程中,相应地采用分布式的信息维护模式,将采集的查询任务的执行信息存储在相应从节点的磁盘,实现在各个从节点维护当前从节点所执行的查询任务的执行信息,当从节点存储统计的执行信息被访问时,才将从磁盘读取的执行信息发送给主节点,从而在主节点对执行信息进行聚合处理。由此,将因采集执行信息产生的网络传输开销由信息采集阶段分摊到了执行信息的访问阶段,这样一来,从节点执行完查询任务后只需要在本地对执行信息进行一次磁盘落盘操作,而不需要在网络中进行数据传输,因此可以大幅度降低网络传输的开销,从而提高数据仓库的查询性能。
31、本专利技术的一个或多个实施例的细节在以下附图和描述中提出,以使本专利技术的其他特征、目的和优点更加简明易懂。
本文档来自技高网...【技术保护点】
1.一种数据仓库的性能诊断方法,其特征在于,所述数据仓库包括主节点和从节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述主节点对所述执行信息进行聚合处理获得处理信息之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,将所述执行信息存储于所述从节点的预定内存的步骤包括:
4.根据权利要求2所述的方法,其特征在于,所述预定内存内创建有哈希表,所述查询任务包括多个算子,所述从节点执行完所述算子后产生有执行子信息,所述执行信息包括所述多个算子的所述执行子信息,将所述执行信息存储于所述从节点的预定内存的步骤包括:
5.根据权利要求4所述的方法,其特征在于,基于所述身份信息将所述执行子信息存储于所述哈希表的步骤包括:
6.根据权利要求5所述的方法,其特征在于,基于所述更新信息更新所述目标Value存储的所述执行子信息的步骤包括:
7.根据权利要求4所述的方法,其特征在于,根据所述处理信息确定所述数据仓库的性能之前,所述方法还包括:
8.一种数据仓库的性能诊断系统,其特征在于,
9.一种数据仓库,其特征在于,所述数据仓库包括权利要求8所述的性能诊断系统。
10.一种电子设备,包括:处理器,以及存储程序的存储器,其特征在于,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行权利要求1至7中任一项所述的方法。
11.一种存储有计算机指令的非瞬时机器可读介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1至7中任一项所述的方法。
...【技术特征摘要】
1.一种数据仓库的性能诊断方法,其特征在于,所述数据仓库包括主节点和从节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述主节点对所述执行信息进行聚合处理获得处理信息之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,将所述执行信息存储于所述从节点的预定内存的步骤包括:
4.根据权利要求2所述的方法,其特征在于,所述预定内存内创建有哈希表,所述查询任务包括多个算子,所述从节点执行完所述算子后产生有执行子信息,所述执行信息包括所述多个算子的所述执行子信息,将所述执行信息存储于所述从节点的预定内存的步骤包括:
5.根据权利要求4所述的方法,其特征在于,基于所述身份信息将所述执行子信息存储于所述哈希表的步骤包括:
6.根据权利要求5所述的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。