数据仓库【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)
相关推荐
DolphinScheduler社区3 分钟前
大数据调度组件之Apache DolphinScheduler
大数据
SelectDB技术团队4 分钟前
兼顾高性能与低成本,浅析 Apache Doris 异步物化视图原理及典型场景
大数据·数据库·数据仓库·数据分析·doris
panpantt3211 小时前
【参会邀请】第二届大数据与数据挖掘国际会议(BDDM 2024)邀您相聚江城!
大数据·人工智能·数据挖掘
青云交1 小时前
大数据新视界 -- 大数据大厂之 Impala 性能优化:跨数据中心环境下的挑战与对策(上)(27 / 30)
大数据·性能优化·impala·案例分析·代码示例·跨数据中心·挑战对策
soso19682 小时前
DataWorks快速入门
大数据·数据仓库·信息可视化
The_Ticker2 小时前
CFD平台如何接入实时行情源
java·大数据·数据库·人工智能·算法·区块链·软件工程
java1234_小锋2 小时前
Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?
大数据·elasticsearch·jenkins
Elastic 中国社区官方博客2 小时前
Elasticsearch 开放推理 API 增加了对 IBM watsonx.ai Slate 嵌入模型的支持
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
我的运维人生2 小时前
Elasticsearch实战应用:构建高效搜索与分析平台
大数据·elasticsearch·jenkins·运维开发·技术共享
大数据编程之光2 小时前
Flink Standalone集群模式安装部署全攻略
java·大数据·开发语言·面试·flink