一种维度建模方法、装置、设备及存储介质制造方法及图纸

技术编号:19140491 阅读:26 留言:0更新日期:2018-10-13 08:43
本发明专利技术公开了一种维度建模方法、装置、设备及存储介质,所述方法包括:根据业务需求,构建事实表和维度表的逻辑模型;根据所述逻辑模型,构建所述事实表和维度表的物理模型;其中,在构建所述事实表的物理模型时,将指定的维度数据,以设定的复合字段,反规范化到所述事实表中。本发明专利技术通过将维度数据反规范化到事实表中,便于在数据查询时,直接查询事实表,无需进行关联查询。并且,在反规范化到事实表中时,按照设定的复合字段进行存储记录,避免了冗余后的字段膨胀。

A dimensional modeling method, device, device and storage medium

The invention discloses a dimension modeling method, device, device and storage medium. The method comprises: constructing a logical model of a fact table and a dimension table according to business requirements; constructing a physical model of the fact table and a dimension table according to the logical model; wherein, when constructing a physical model of the fact table, The specified dimension data is de normalized to the fact table in the set composite field. By de-normalizing the dimension data into the fact table, the invention is convenient for querying the fact table directly when the data is queried, and does not need to carry out association query. In addition, when de-normalizing to the fact table, records are stored according to the set compound fields, avoiding the expansion of redundant fields.

【技术实现步骤摘要】
一种维度建模方法、装置、设备及存储介质
本专利技术涉及数据建模领域,尤其涉及一种维度建模方法、装置、设备及存储介质。
技术介绍
数据仓库建模方法通常分为3NF(ThirdNormalForm,第三范式)、维度建模、data-vault、anchor四种。在传统RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)场景下,此四种模型设计方法能够覆盖到绝大部分应用场景,不同的建模方式为数据存储和分析提供了不同角度的便利性。但是在数据量上升到tb\pb级别之后,其数据量的变化和基于Hadoop体系的计算方式、存储方式的变化,放大了这些建模方法需要过多join(关联查询)的缺点。具体的,以在hive上对表A和表B通过表A的a1字段和表B的b1字段进行join为例,此查询会转化为一个hadoopmap-reduce作业,同时每当多join一张表,例如表A的a2字段再与表C的c1字段join,会再多一个map-reduce作业,map-reduce作业的个数的增加直接导致了查询效率的降低。所以,如何减少关联查询,成为目前亟待解决的技术问题。
技术实现思路
鉴于上述问题,提出了本专利技术实施例以便提供一种解决上述问题的维度建模方法、装置、设备及存储介质。依据本专利技术实施例的一个方面,提供一种维度建模方法,包括:根据业务需求,构建事实表和维度表的逻辑模型;根据所述逻辑模型,构建所述事实表和维度表的物理模型;其中,在构建所述事实表的物理模型时,将指定的维度数据,以设定的复合字段,反规范化到所述事实表中。可选地,所述复合字段的类型包括如下类型中的一个或多个:Set类型、地图Map类型、结构体Struct类型、JS对象标记json类型。可选地,所述将指定的维度数据,以设定的复合字段,反规范化到所述事实表中,包括:将指定的维度数据中,属于同一类型、具有多个值且多个值之间互相不重复的数据,以Set类型的复合字段,反规范化到所述事实表中;和/或,将指定的维度数据中,需要同时记录多组属性和值、组数不固定、属性之间类型相同、值之间类型相同的数据,以Map类型的复合字段,反规范化到所述事实表中;和/或,将指定的维度数据中,记录数量固定的、属性类型不统一、值的类型不统一的数据,以Struct类型的复合字段,反规范化到所述事实表中;和/或,将指定的维度数据中,可进行灵活字段扩展的数据,以json类型的复合字段,反规范化到所述事实表中。可选地,所述指定的维度数据包括:通过预先统计分析确定的热点维度数据,和/或,杂项维度数据。可选地,在构建所述事实表的物理模型时,还包括:当事实表中的事实项与维度表中的维度项为一对多关系时,将所述事实项与多个维度项之间的关系,以设定的复合字段,记录在所述事实表中。可选地,本专利技术实施例所述方法还包括:在构建维度表的物理模型时,将多对多维度关系,以设定的复合字段,记录在所述维度表中。可选地,在构建所述事实表和维度表的物理模型后,还包括:当接收到数据查询请求时,通过查询所述事实表,获取查询数据;和/或,当需要维度扩展时,将扩展的维度数据以Map类型的复合字段,记录在所述事实表中。依据本专利技术实施例的二个方面,提供一种维度建模装置,包括:第一模型构建模块,用于根据业务需求,构建事实表和维度表的逻辑模型;第二模型构建模块,用于根据所述逻辑模型,构建所述事实表和维度表的物理模型;其中,在构建所述事实表的物理模型时,将指定的维度数据,以设定的复合字段,反规范化到所述事实表中。可选地,所述复合字段的类型包括如下类型中的一个或多个:Set类型、Map类型、Struct类型、json类型。可选地,所述第二模型构建模块,具体用于:将指定的维度数据中,属于同一类型、具有多个值且多个值之间互相不重复的数据,以Set类型的复合字段,反规范化到所述事实表中;和/或,将指定的维度数据中,需要同时记录多组属性和值、组数不固定、属性之间类型相同、值之间类型相同的数据,以Map类型的复合字段,反规范化到所述事实表中;和/或,将指定的维度数据中,记录数量固定的、属性类型不统一、值的类型不统一的数据,以Struct类型的复合字段,反规范化到所述事实表中;和/或,将指定的维度数据中,可进行灵活字段扩展的数据,以json类型的复合字段,反规范化到所述事实表中。可选地,所述指定的维度数据包括:通过预先统计分析确定的热点维度数据,和/或,杂项维度数据。可选地,所述第二模型构建模块,还用于当事实表中的事实项与维度表中的维度项为一对多关系时,将所述事实项与多个维度项之间的关系,以设定的复合字段,记录在所述事实表中。可选地,所述第二模型构建模块,还用于在构建维度表的物理模型时,将多对多维度关系,以设定的复合字段,记录在所述维度表中。可选地,还包括:查询模块,用于在构建所述事实表和维度表的物理模型后,当接收到数据查询请求时,通过查询所述事实表,获取查询数据;可选地,所述第二模型构建模块,还用于在构建所述事实表和维度表的物理模型后,当需要维度扩展时,将扩展的维度数据以Map类型的复合字段,记录在所述事实表中。依据本专利技术实施例的三个方面,提供一种计算设备,所述计算设备包括:存储器、处理器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的维度建模程序,以实现上述的维度建模方法的步骤。依据本专利技术实施例的四个方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的维度建模方法的步骤。本专利技术实施例上述方案,通过将维度数据反规范化到事实表中,便于数据查询时,直接查询事实表,无需进行关联查询。并且,在反规范化到事实表中时,按照设定的复合字段进行存储记录,避免了冗余后的字段膨胀。上述说明仅是本专利技术实施例技术方案的概述,为了能够更清楚了解本专利技术实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术实施例的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术实施例的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为传统维度建模理论的数据模型示意图;图2为本专利技术第一实施例提供的一种维度建模方法的流程图;图3为本专利技术第二实施例提供的一种维度建模方法的流程图;图4为本专利技术第三实施例提供的一种维度建模方法的流程图;图5为本专利技术第四实施例提供的一种维度建模方法的流程图;图6为本专利技术第五实施例提供的一种维度建模方法的流程图;图7为本专利技术第七实施例提供的一种维度建模装置的结构框图;图8为本专利技术第七实施例提供的维度建模装置的又一结构框图;图9为本专利技术第八实施例提供的一种计算设备的结构框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。如图本文档来自技高网...

【技术保护点】
1.一种维度建模方法,其特征在于,包括:根据业务需求,构建事实表和维度表的逻辑模型;根据所述逻辑模型,构建所述事实表和维度表的物理模型;其中,在构建所述事实表的物理模型时,将指定的维度数据,以设定的复合字段,反规范化到所述事实表中。

【技术特征摘要】
1.一种维度建模方法,其特征在于,包括:根据业务需求,构建事实表和维度表的逻辑模型;根据所述逻辑模型,构建所述事实表和维度表的物理模型;其中,在构建所述事实表的物理模型时,将指定的维度数据,以设定的复合字段,反规范化到所述事实表中。2.如权利要求1所述的方法,其特征在于,所述复合字段的类型包括如下类型中的一个或多个:Set类型、地图Map类型、结构体Struct类型、JS对象标记json类型。3.如权利要求2所述的方法,其特征在于,所述将指定的维度数据,以设定的复合字段,反规范化到所述事实表中,包括:将指定的维度数据中,属于同一类型、具有多个值且多个值之间互相不重复的数据,以Set类型的复合字段,反规范化到所述事实表中;和/或,将指定的维度数据中,需要同时记录多组属性和值、组数不固定、属性之间类型相同、值之间类型相同的数据,以Map类型的复合字段,反规范化到所述事实表中;和/或,将指定的维度数据中,记录数量固定的、属性类型不统一、值的类型不统一的数据,以Struct类型的复合字段,反规范化到所述事实表中;和/或,将指定的维度数据中,可进行灵活字段扩展的数据,以json类型的复合字段,反规范化到所述事实表中。4.如权利要求1或2或3所述的方法,其特征在于,所述指定的维度数据包括:通过预先统计分析确定的热点维度数据,和/或,杂项维度数据。5.如权利要求1或2或3所述的方法,其特征在于,在构建所述事实表的物理模型时,还包括:当事实表中的事实项与维度表中的维度项为一对多关系时,将所述事实项与多个维度项之间的关系,以设定的复合字段,记录在所述事实表中。6.如权利要求1或2或3所述的方法,其特征在于,还包括:在构建维度表的物理模型时,将多对多维度关系,以设定的复合字段,记录在所述维度表中。7.如权利要求1所述的方法,其特征在于,在构建所述事实表和维度表的物理模型后,还包括:当接收到数据查询请求时,通过查询所述事实表,获取查询数据;和/或,当需要维度扩展时,将扩展的维度数据以Map类型的复合字段,记录在所述事实表中。8.一种维度建模装置,其特征在于,包括:第一模型构建模块,用于根据业务需求,构建事实表和维度表的逻辑模型;第二模型构建模块,用于根据所述逻辑模型,构建所述事实表和维度表的物理模型;其中,在构建所述事实表的物理模型时,将指定的维度数据,以设...

【专利技术属性】
技术研发人员:黄世钱吴培培
申请(专利权)人:五八有限公司
类型:发明
国别省市:天津,12

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

1