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作业的个数的增加直接导致了查询效率的降低。所以,如何减少关联查询,成为目前亟待解决的技术问题。
技术实现思路
鉴于上述问题,提出了本专利技术实施例以便提供一种解决上述问题的维度建模方法、装置、设备及存储介质。依据本专利技术实施例的一个方面,提供一种维度建模方法,包括:根据业务需求,构建事实表和维度表的逻辑模型;根据所述逻辑模型,构建所述事实表和维度表的物理模型;其中,在构建所述事实表的物理模型时,将指定的维度数据,以设定的复合字段,反规范化到所述事实表中。可选地,所述复合字段的类型 ...
【技术保护点】
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.一种维度建模装置,其特征在于,包括:第一模型构建模块,用于根据业务需求,构建事实表和维度表的逻辑模型;第二模型构建模块,用于根据所述逻辑模型,构建所述事实表和维度表的物理模型;其中,在构建所述事实表的物理模型时,将指定的维度数据,以设...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。