DW及建模
发布日期:2022-02-14 23:02:47 浏览次数:13 分类:技术文章

本文共 1095 字,大约阅读时间需要 3 分钟。

DW的数据模型

  • 范式建模
    • RDB建模方法的三大范式设计
      • 1NF:属性的原子性,不可再分(json字段可有下属数组的形式)
      • 2NF:每个非主属性由整个主键函数决定,不能由主键的部分决定(基本信息–主键决定 与 衍生信息 主键不能决定)
      • 3NF:每列都和主键列直接相关,而不是间接相关,其它字段间无依赖(业务表拆分为多维度关系表)
    • EDW中3NF建模,基于一些其它的原因,并非完全3NF建模,甚至是反范式设计
  • 雪花建模
    • 维度建模中的一种
    • 维度表可以拥有其他维度表的,虽然这种模型相比星型模型更规范一些
    • 性能方面需要关联多层维度表,性能比星型要低
  • 星型建模
    • 以事实表为中心,所有的维度表直接连接在事实表上,像星星一样
    • 数据集市维度建模中推荐的建模方法
    • 特点
      • 数据组织直观
      • 执行效率高
  • 事实星座模型
    • 星型模型延伸
    • 星座模型是基于多张事实表的,而且共享维度信息

DW分层

  • SCR/ODS接口层
    • 数据接入层:通过工具实现统一采集、统一加载和统一调度
    • 建模方法:无,与对方模型完全一致
  • DWD细节数据层
    • 数据模型与ODS层一致,不做清晰转换处理、为支持数据重跑可额外增加数据业务日期字段、可按年月日进行分表、用增量ODS层数据和前一天DWD相关表进行merge处理
    • 建模方法:无,仅在原模型上增加日期字段
    • 服务领域: 为EDW提供各主题业务明细数据
  • DWB基础数据层
    • 这一层主要解决一些数据质量问题和数据的完整度问题
    • 建模方法:原则上为范式建模,但存在因为一些其他因素特意设计为非范式甚至反范式建模
  • DWS服务数据层
    • 基于DWB层数据按各个维度ID进行粗粒度汇总聚合
    • 建模方法:星型或雪花模型
    • 服务领域:为EDW提供各种统计汇总数据
  • DM数据集市层
    • 服务领域:数据挖掘,自定义查询,应用集市
    • 原则
      • 尽量减少数据访问时计算,优化检索
      • 维度建模,星型模型;事实拉宽,度量预先计算
    • 建模方法:星型或雪花模型
  • ST数据应用层
    • 服务领域:报表呈现。面向最终结果用户的业务指标、KPI,仪表盘、专题等。
    • 原则
      • 保持数据量小
      • 维度建模,星形模型
      • 增加数据业务日期字段,支持数据重跑
    • 维度建模
  • DIM维表层

维度建模

  • 维度建模以分析决策的需求为出发点构建模型,一般有较好的大规模复杂查询的响应性能,更直接面向业务,典型的代表是我们比较熟知的星形模型,以及在一些特殊场景下适用的雪花模型
  • 对比
    • 关系建模
      • 一定程度的范式建模,模型规范,数据冗余小
      • 需要对业务、数据及关系很熟悉,且业务不会出现很大很频繁的变动
    • 维度建模
      • 数据冗余
      • 专注于分析,快速交付
      • 适用于业务快速变化的情况(此时用ER建模风险较大,难度较高–模型变更等)

转载地址:https://blog.csdn.net/fish2009122/article/details/104991969 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Elasticsearch笔记
下一篇:非参数检验

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.173.107.83]2022年09月27日 16时07分14秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章

自用笔记:linux终端的一些命令 2019-12-23 01:17:16
Mysql select 中的子查询返回多个字段 2019-12-23 01:17:17
计蒜客-加一(高精度问题) 2019-12-23 01:17:17
计蒜客-跳跃游戏 2019-12-23 01:17:17
最大子阵列 2019-12-23 01:17:17
三值排序 2019-12-23 01:17:17
法师康的工人 2019-12-23 01:17:18
配对元素 2019-12-23 01:17:18
ssm dropzone文件上传 2019-12-23 01:17:15
hibernate 基本使用配置 2019-12-23 01:17:16
hibernate 级联操作 2019-12-23 01:17:16
dom4j和fastjson基本使用 2019-12-23 01:17:16
sublime插件无法安装 2019-12-23 01:17:16
ubuntu20.04下载编译安装Linux5.8.2内核 2019-12-23 01:17:16
关于sed and grep的几个练习题 2019-12-23 01:17:16
基于redis实现分布式锁 2019-12-23 01:17:14
java 异步调用处理 2019-12-23 01:17:14
java实现自定义注解校验重复提交(亲测有效) 2019-12-23 01:17:14
idea中git工具的用户名修改 2019-12-23 01:17:15
html checkbox全选实现 2019-12-23 01:17:15