数据仓库【十一】:OLAP
OLAP和OLTP的区别
OLTP | OLAP | |
---|---|---|
对象 | 业务开发人员 | 分析决策人员 |
功能 | 日常事务处理 | 面向分析决策 |
模型 | 关系模型 | 多维模型 |
数据量 | 几条或几十条记录 | >百万于万条记录 |
操作类型 | 增、删、查、改(CRUD) | 查询为主 |
总体概括 | 联机事务处理 | 在线分析处理 |
OLAP分类
MOLAP:基于多维数组的存储模型
基于多维数组的存储模型,也是OLAP最初的形态,特点是对数据进行预计算,以空间换效率,明细和聚合数据都保存在cube中。但生成cube需要大量时间和空间。
ROLAP:基于关系模型进行存储数据
ROLAP,基于关系模型进行存储数据,不需要预计算,按需即时查询。明细和汇总数据都保存在关系型数据库事实表中。其特点是与事务实体对应,关系清晰;但一般需要较为复杂的数据准备。在响应前端需求时,一般较快,但取决于计算引擎能力。
HOLAP:混合模型
HOLAP,混合模型,细节数据以ROLAP存放,聚合数据以MOLAP存放。这种方式相对灵活,且更加高效。可按企业业务场景和数据粒度进行取舍,没有最好,只有最适合。
OLAP基本操作
★钻取
维的层次变化,从粗粒度到细粒度,汇总数据下钻到明细数据。如通过季度销售数据钻取每个月的销售数据。
★上卷
钻取的逆,向上钻取。从细粒度到粗粒度,细粒度数据到不同维层级的汇总。eg. 通过每个月的销售数据汇总季度、年销售数据。
★切片
特定维数据(剩余维两个)。eg. 只选电子产品销售数据。
★切块
维区间数据(剩余维三个)。eg. 第一季度到第二季度销售数据。
★旋转
维位置互换(数据行列互换),通过旋转可以得到不同视角的数据。
OLAP选型
druid
- 实时查询和分析的高容错、高性能开源分布式系统,用于解决如何在大规模数据集下进行快速的、交互式的查询和分析。
- 实时的数据消费,真正做到数据摄入实时、查询结果实时。
- 扩展性强,支持 PB 级数据
- 极高的高可用保障,支持滚动升级。
- druid属于时间存储,删除操作比较繁琐,且不支持查询条件删除数据,只能根据时间范围删除数据。Druid能接受的数据的格式相对简单,比如不能处理嵌套结构的数据。
kylin
- 可扩展超快olap引擎,Hadoop/Spark上百亿数据规模
- 提供 Hadoop ANSI SQL 接口
- 交互式查询能力,用户可以与Hadoop数据进行亚秒级交互
- 百亿以上数据集构建多维立方体(MOLAP CUBE)
- 与BI工具无缝整合,如Tableau,PowerBI/Excel,MSTR,QlikSense,Hue和SuperSet
转载请注明出处:数据仓库【十一】:OLAP
原文地址:https://www.xiaotanzhu.com/%E6%95%B0%E6%8D%AE%E4%BB%93%E5%BA%93/2022-07-11-dw-olap.html