建模核心概念

大数据建设中选择数据模型的好处

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

OLTP与OLAP系统的区别

OLTP系统(OnLine Transaction Processing): 通常面向的主要数据操作是随机读写,主要采用满足3NF的实体关系模型存储数据,从而在事务处理中解决数据的冗余和一致性问题。简而言之,OLTP用于存储和管理日常运营的数据。
OLAP系统(OnLine Analytical Processing): 通常面向的主要数据操作是批量读写,事务处理中的一致性不是OLAP所关注的,其主要关注数据的整合,以及在一次性的复杂大数据查询和处理中的性能。通常涉及到那些存储和管理与分析和决策相关的数据的数据库。
olap与oltp

维度建模的过程

  1. 收集业务需求与数据实现
  2. 协作维度建模研讨
  3. 维度设计过程
    (1) 选择业务过程:业务过程是组织完成的操作型活动,定义了特定的设计目标以及对粒度,维度,事实的定义。
    (2) 声明粒度:粒度用于确定某一事实表中的行表示什么。在选择维度或者事实前必须声明粒度,因为每个候选维度或事实必须与定义的粒度保持一致。针对不同的事实表粒度,要建立不同的物理表,在同一事实表中不要混用多种不同的粒度。
    (3) 确认维表:维度提供围绕某一业务过程事件所涉及的“谁,什么,何处,何时,为什么,如何”等背景。包含确保DW/BI系统能够被用作业务分析的入口和描述性标识。
    (4) 确认事实:事实表对应一个物理可观察的事件。所有事实只允许与声明的粒度保持一致。

星型模式与雪花型模式

星型模式是部署在关系数据库管理系统之上的多维结构。主要包含事实表,以及通过主键/外键关系与之关联的维度表(如下图一)。强调的是对维度进行预处理,将多个维度集合到一个事实表,形成一个大宽表。表可读性比较好,不用关联多个表就能获取大部分核心信息,设计维护相对比较简答。在数据仓库分层结构中一般为仓库层或应用层的表结构
雪花模型是对星型模型的扩展,它对星型模型的维表进一步层次化(如下图二),原有的各维表可能被扩展为小的事实表,形成一些局部的 "层次 " 区域,这些被分解的表都连接到主维度表而不是事实表。去除了数据的冗余性,最大限度地减少数据存储量以及联合较小的维表来改善查询性能,比较符合数据库范式的理念。在关系型数据库中如MySQL,Oracle中非常常见
图一
雪花

星型与雪花的使用选择

优劣

参考文献

理解数据仓库中星型模型和雪花模型
星型模型和雪花型模型比较
雪花与星型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

piepis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值