多维数据查询方法和装置制造方法及图纸

技术编号:20841949 阅读:26 留言:0更新日期:2019-04-13 08:40
本发明专利技术公开了多维数据查询方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据事实表和与事实表相关的维度表,建立维度检索表,并增加维度检索表的复合索引;根据查询请求中至少一个维度查询条件,利用复合索引在维度检索表中查询,确定目标数据主键;根据目标数据主键,查询事实表,得到查询请求中需要查询的数据。该实施方式采用维度检索表,并在维度检索表中增加复合索引的技术手段,可以仅创建少量的索引就可以实现数据的快速检索,且索引的数量不随维度数量的增加而增加,还可以利用维度检索表对维度数据统一进行管理,降低维度管理复杂度。

【技术实现步骤摘要】
多维数据查询方法和装置
本专利技术涉及计算机
,尤其涉及一种多维数据查询方法和装置。
技术介绍
为了能从多个角度、多个侧面观察数据,从而方便用户深入了解包含在数据中的信息和内涵,多维数据分析技术应运而生。多维数据分析是指对以多维方式组织起来的数据采取各种分析操作,进行数据分析。多维数据查询技术作为多维数据分析技术的组成部分,具有重要的研究价值。目前,多维度数据查询有以下三种常用方式:(1)在原始事实表的维度字段建立索引,通过索引来提高数据查询效率;(2)建立多维数据立方体,即将事实表按维度进行汇总,生成多维数据立方体,然后在该多维数据立方体的维度上建立少量组合索引,利用组合索引进行多维数据查询;(3)采用MPP(即MassivelyParallelProcessor,大规模并行处理)架构形式,将事实表分布存储在计算集群的若干节点中,让每个节点分担一部分数据查询任务。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:一、方法(1)中需要创建各种不同的索引,导致大量的索引占用大量资源,降低事实表更新的效率,还增加管理的难度;二、方法(2)中,若数据的维度过高,建立的立方体会比较稀疏,需要占用大量的存储资源,缺乏经济性;三、方法(3)的计算成本高昂,计算资源随数据量增长而增长,甚至高于数据量的增长速度,且会遇到性能瓶颈;四、方法(1)和方法(3)中,维度数据保存在各自事实表中,从各自事实表中根据维度汇总数据,无法实现维度数据的统一管理。
技术实现思路
有鉴于此,本专利技术实施例提供一种多维数据查询方法和装置,能够通过少量的索引实现数据的快速检索,且索引的数量不随维度数量的增加而增加,还能够对维度数据统一进行管理,降低维度管理复杂度。为实现上述目的,根据本专利技术实施例的第一方面,提供了一种多维数据查询方法。本专利技术实施例的一种多维数据查询方法,包括:根据事实表和与所述事实表相关的维度表,建立维度检索表,并增加所述维度检索表的复合索引;根据查询请求中至少一个维度查询条件,利用所述复合索引在所述维度检索表中查询,确定目标数据主键;根据所述目标数据主键,查询所述事实表,得到所述查询请求中需要查询的数据。可选地,所述根据事实表和与所述事实表相关的维度表,建立维度检索表,包括:确定事实表和与所述事实表相关的维度表;针对所述事实表中的一组事实表数据,将所述一组事实表数据中的维度名称、维度名称对应的维度值以及所述一组事实表数据的数据主键,存储至维度检索表中;针对所述维度表中的一组维度表数据,将所述一组维度表数据中的维度名称、维度名称对应的维度值以及所述一组维度表数据对应的事实表中的数据主键,存储至所述维度检索表中。可选地,所述根据查询请求中至少一个维度查询条件,利用所述复合索引在所述维度检索表中查询,确定目标数据主键,包括:接收查询请求,所述查询请求中包括至少一个维度查询条件;根据所述至少一个维度查询条件,生成所述查询请求对应的查询数据主键集合;根据所述至少一个维度查询条件的条件个数,从所述查询数据主键集合中选择目标数据主键。可选地,所述根据所述至少一个维度查询条件,生成所述查询请求对应的查询数据主键集合,包括:针对所述至少一个维度查询条件中的一个维度查询条件,在所述维度检索表中进行查询,确定满足所述一个维度查询条件的维度值对应的数据主键为查询数据主键;根据所述查询数据主键,生成所述查询请求对应的查询数据主键集合。可选地,所述根据所述至少一个维度查询条件的条件个数,从所述查询数据主键集合中选择目标数据主键,包括:确定所述至少一个维度查询条件的条件个数;对所述查询数据主键集合中的查询数据主键进行分组,得到至少一组查询数据主键,其中每组查询数据主键中的查询数据主键是相同的;针对所述至少一组查询数据主键中的一组查询数据主键,若所述一组查询数据主键中查询数据主键的个数与所述条件个数相同,则确定所述一组查询数据主键中的查询数据主键为目标数据主键。可选地,所述增加所述维度检索表的复合索引,包括:根据维度检索表中存储的维度名称字段、维度值字段和数据主键字段,建立所述维度检索表的复合索引。为实现上述目的,根据本专利技术实施例的第二方面,提供了一种多维数据查询装置。本专利技术实施例的一种多维数据查询装置,包括:建立模块,用于根据事实表和与所述事实表相关的维度表,建立维度检索表,并增加所述维度检索表的复合索引;确定模块,用于根据查询请求中至少一个维度查询条件,利用所述复合索引在所述维度检索表中查询,确定目标数据主键;查询模块,用于根据所述目标数据主键,查询所述事实表,得到所述查询请求中需要查询的数据。可选地,所述建立模块还用于:确定事实表和与所述事实表相关的维度表;针对所述事实表中的一组事实表数据,将所述一组事实表数据中的维度名称、维度名称对应的维度值以及所述一组事实表数据的数据主键,存储至维度检索表中;针对所述维度表中的一组维度表数据,将所述一组维度表数据中的维度名称、维度名称对应的维度值以及所述一组维度表数据对应的事实表中的数据主键,存储至所述维度检索表中。可选地,所述确定模块还用于:接收查询请求,所述查询请求中包括至少一个维度查询条件;根据所述至少一个维度查询条件,生成所述查询请求对应的查询数据主键集合;根据所述至少一个维度查询条件的条件个数,从所述查询数据主键集合中选择目标数据主键。可选地,所述确定模块还用于:针对所述至少一个维度查询条件中的一个维度查询条件,在所述维度检索表中进行查询,确定满足所述一个维度查询条件的维度值对应的数据主键为查询数据主键;根据所述查询数据主键,生成所述查询请求对应的查询数据主键集合。可选地,所述确定模块还用于:确定所述至少一个维度查询条件的条件个数;对所述查询数据主键集合中的查询数据主键进行分组,得到至少一组查询数据主键,其中每组查询数据主键中的查询数据主键是相同的;针对所述至少一组查询数据主键中的一组查询数据主键,若所述一组查询数据主键中查询数据主键的个数与所述条件个数相同,则确定所述一组查询数据主键中的查询数据主键为目标数据主键。可选地,所述建立模块还用于:根据维度检索表中存储的维度名称字段、维度值字段和数据主键字段,建立所述维度检索表的复合索引。为实现上述目的,根据本专利技术实施例的第三方面,提供了一种电子设备。本专利技术实施例的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本专利技术实施例的多维数据查询方法。为实现上述目的,根据本专利技术实施例的第四方面,提供了一种计算机可读介质。本专利技术实施例的一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现本专利技术实施例的多维数据查询方法。上述专利技术中的一个实施例具有如下优点或有益效果:因为采用维度检索表,并在维度检索表中增加复合索引的技术手段,克服了维度多导致索引多的问题,仅创建少量的索引就可以实现数据的快速检索,且索引的数量不随维度数量的增加而增加,还可以利用维度检索表对维度数据统一进行管理,降低维度管理复杂度。本专利技术中维度检索表中建立数据主键字段,可以在多维数据查询时,对符合维度查询条件的维度值对应的数据主键进行统计,从而可以借助统计的数据主键个数,获取到查询请求中需要本文档来自技高网...

【技术保护点】
1.一种多维数据查询方法,其特征在于,包括:根据事实表和与所述事实表相关的维度表,建立维度检索表,并增加所述维度检索表的复合索引;根据查询请求中至少一个维度查询条件,利用所述复合索引在所述维度检索表中查询,确定目标数据主键;根据所述目标数据主键,查询所述事实表,得到所述查询请求中需要查询的数据。

【技术特征摘要】
1.一种多维数据查询方法,其特征在于,包括:根据事实表和与所述事实表相关的维度表,建立维度检索表,并增加所述维度检索表的复合索引;根据查询请求中至少一个维度查询条件,利用所述复合索引在所述维度检索表中查询,确定目标数据主键;根据所述目标数据主键,查询所述事实表,得到所述查询请求中需要查询的数据。2.根据权利要求1所述的方法,其特征在于,所述根据事实表和与所述事实表相关的维度表,建立维度检索表,包括:确定事实表和与所述事实表相关的维度表;针对所述事实表中的一组事实表数据,将所述一组事实表数据中的维度名称、维度名称对应的维度值以及所述一组事实表数据的数据主键,存储至维度检索表中;针对所述维度表中的一组维度表数据,将所述一组维度表数据中的维度名称、维度名称对应的维度值以及所述一组维度表数据对应的事实表中的数据主键,存储至所述维度检索表中。3.根据权利要求1所述的方法,其特征在于,所述根据查询请求中至少一个维度查询条件,利用所述复合索引在所述维度检索表中查询,确定目标数据主键,包括:接收查询请求,所述查询请求中包括至少一个维度查询条件;根据所述至少一个维度查询条件,生成所述查询请求对应的查询数据主键集合;根据所述至少一个维度查询条件的条件个数,从所述查询数据主键集合中选择目标数据主键。4.根据权利要求3所述的方法,其特征在于,所述根据所述至少一个维度查询条件,生成所述查询请求对应的查询数据主键集合,包括:针对所述至少一个维度查询条件中的一个维度查询条件,在所述维度检索表中进行查询,确定满足所述一个维度查询条件的维度值对应的数据主键为查询数据主键;根据所述查询数据主键,生成所述查询请求对应的查询数据主键集合。5.根据权利要求3所述的方法,其特征在于,所述根据所述至少一个维度查询条件的条件个数,从所述查询数据主键集合中选择目标数据主键,包括:确定所述至少一个维度查询条件的条件个数;对所述查询数据主键集合中的查询数据主键进行分组,得到至少一组查询数据主键,其中每组查询数据主键中的查询数据主键是相同的;针对所述至少一组查询数据主键中的一组查询数据主键,若所述一组查询数据主键中查询数据主键的个数与所述条件个数相同,则确定所述一组查询数据主键中的查询数据主键为目标数据主键。6.根据权利要求1所述的方法,其特征在于,所述增加所述维度检索表的复合索引,包括:根据维度检索表中存储的维度名称字段、维度值字段和数据主键字段,建立所述维度检索表的复合索引。7.一种多维数据查询装置,其特征在于,包括:...

【专利技术属性】
技术研发人员:马春亮
申请(专利权)人:北京京东金融科技控股有限公司
类型:发明
国别省市:北京,11

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

1