数据仓库【3】:建模方法

数据仓库【3】:建模方法

1、基本概念

1.1、OLTP系统建模方法

  • OLTP(在线事务处理)系统中,主要操作是随机读写
  • 为了保证数据一致性、减少冗余,常使用关系模型
  • 在关系模型中,使用三范式规则来减少冗余

1.2、OLAP(在线联机分析)

  • OLAP系统,主要操作是复杂分析查询;关注数据整合,以及分析、处理性能
  • OLAP根据数据存储的方式不同,又分为ROLAP、MOLAP、HOLAP
    OLAP系统分类
    • ROLAP(Relation OLAP,关系型 OLAP):使用关系模型构建,存储系统一般为RDBMS
    • MOLAP(Multidimensional OLAP,多维型 OLAP):预先聚合计算,使用多维数组的形式保存数据结果,加快查询分析时间
    • HOLAP(Hybrid OLAP,混合架构的 OLAP):ROLAP 和 MOLAP 两者的集成;如低层是关
      系型的,高层是多维矩阵型的;查询效率高于ROLAP,低于MOLAP

2、ROLAP

2.1、ROLAP系统建模方法

  • 典型的数据仓库建模方法有ER模型、维度模型、Data Value、Anchor

2.2、维度模型

  • 维度模型中,表被分为维度表、事实表,维度是对事实的一种组织
  • 维度一般包含分类、时间、地域等
  • 维度模型分为星型模型、雪花模型、星座模型
  • 维度模型建立后,方便对数据进行多维分析

2.2.1、星型模型

  • 标准的星型模型,维度只有一层,分析性能最优

2.2.2、雪花模型

  • 雪花模型具有多层维度,比较接近三范式设计,较为灵活

2.2.3、星座模型

  • 星座模型基于多个事实表,事实表之间会共享一些维度表
  • 是大型数据仓库中的常态,是业务增长的结果,与模型设计无关

2.2.4、什么是宽表模型?

  • 宽表模型是维度模型的衍生,适合join性能不佳的数据仓库产品
  • 宽表模型将维度冗余到事实表中,形成宽表,以此减少join操作

3、MOLAP

3.1、MOLAP系统建模方法

  • MOLAP将数据进行预结算,并将聚合结果存储到CUBE模型中
  • CUBE模型以多维数组的形式,物化到存储系统中,加快后续的查询
  • 生成CUBE需要大量的时间、空间,维度预处理可能会导致数据膨胀

3.2、常见MOLAP产品

  • Kylin
  • Druid

4、多维分析

4.1、OLAP多维分析

  • OLAP主要操作是复杂查询,可以多表关联,使用COUNT、SUM、AVG等聚合函数
  • OLAP对复杂查询操作做了直观的定义,包括钻取、切片、切块、旋转

4.2、钻取

  • 对维度不同层次的分析,通过改变维度的层次来变换分析的粒度
  • 钻取包括上卷(Roll-up)、下钻(Drill-down)
  • 上卷(Roll-up),也称为向上钻取,指从低层次到高层次的切换
  • 下钻(Drill-down),指从高层次到低层次的切换

4.3、切片(Slice)、切块(Dice)

  • 选择某个维度进行分割称为切片
  • 按照多维进行的切片称为切块

4.4、旋转(Pivot)

  • 对维度方向的互换,类似于交换坐标轴上卷(Roll-up)
相关推荐
Linux运维老纪2 分钟前
分布式存储的技术选型之HDFS、Ceph、MinIO对比
大数据·分布式·ceph·hdfs·云原生·云计算·运维开发
DavidSoCool22 分钟前
es 3期 第25节-运用Rollup减少数据存储
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客25 分钟前
使用 Elasticsearch 导航检索增强生成图表
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
Ray.199841 分钟前
Flink在流处理中,为什么还会有窗口的概念呢
大数据·flink
抛砖者41 分钟前
3.Flink中重要API的使用
大数据·flink
金州饿霸1 小时前
Flink运行时架构
大数据·flink
金州饿霸1 小时前
Flink中的时间和窗口
大数据·flink
watersink2 小时前
面试题库笔记
大数据·人工智能·机器学习
数字化综合解决方案提供商2 小时前
【Rate Limiting Advanced插件】赋能AI资源高效分配
大数据·人工智能
Elastic 中国社区官方博客3 小时前
设计新的 Kibana 仪表板布局以支持可折叠部分等
大数据·数据库·elasticsearch·搜索引擎·信息可视化·全文检索·kibana