1 为什么需要数据建模

        数据模型就是数据的组织和存储方法,强调从业务、数据存取和使用角度合理存储数据。建立合适的业务和基础数据存储环境的模型,大数据能获得如下的好处。

  •  性能:好的数据模型提高查询所需要的数据,提高I/O的存储
  • 成本:减少 不必要的数据冗余,实现计算结果的复用,降低大数据的存储和计算成本
  • 效率:改善用户的使用数据的体验,提高数据的效率
  • 质量:改善数据统计口径的不一致性,减少数据计错误的可能性

2 典型的数据仓库建模方法论

       ER模型

        采用ER模型建设数据仓库模型的出发点是整合数据,将整个系统中的数据以整个企业的角度按照主题进行相似性组合和合并,并进行一致性处理,为数据分析决策服务,建模步骤包括三个阶段 。

  • 高层模型:描述主要的主题和主题之间的关系
  • 中层模型:在高层的基础上,细化主题的数据项
  • 物理模型:在中层的基础上,考虑物理储存,基于性能和平台特点进行物理属性的设计,可以做一些表的合并和分区的设计。 

        维度模型

        维度模型从分析决策的需求出发构建模型,为分析需求服务,重点关注用户如何更快速的完成需求的分析。典型的代表是星型模型,特殊场景使用雪花模型。

        设计分为一下几个步骤:

  •  选择需要进行分析和决策的业务过程。可以是单个业务事件如交易的支付、退款;也可以是某个时间的状态如账户的余额;还可以是一些列相关事务组成的业务流程。
  • 选择粒度。所有分析需要细分的程度,决定选择的粒度。
  • 识别维表。选择粒度之后,需要基于此粒度设计维表,包括维度属性,用于分析时进行分组和筛选。
  • 选择事实。确定分析需要的衡量的指标

        Data Vault模型

        由一下几部分组成:

  • Hub:企业的核心实体,由实体key,数据仓库序列代理键,装载时间,数据组成
  • Link:代表Hub之间的关系。直接描述1:1,1:n,n:n之间的关系。由Hub的代理健,装载时间和数据来源组成。
  • Satellite:是Hub的详细描述内容,一个Hub可以有多个Satellite。由Hub的代理健,装载时间,来源类型,详细的Hub信息描述组成。

        Anchor模型

  • Anchors:代表业务实体,只有主键
  • Attributes:类似于Data Vault的Satellite,更加规范化,将其全部k-v结构化。
  • Ties:Anchors之间的关系,类似于Data Vault的Link,可以提升整体模型关系的扩展能力。
  • Knots:可能会在多个Anchors中公用的属性的提炼,比如性别、状态等这种枚举且被公用的属性。
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐