OLAP 入门
felix9ia ... 2022-8-4 大约 1 分钟
# OLAP 入门
OLAP(On-line Analytical Processing,联机分析处理)是在基于数据仓库多维模型的基础上实现的面向分析的各类操作的集合。与传统的OLTP(On-line Transaction Processing,联机事务处理)有区别。
# 概念
没有任何一个框架能够完美兼顾。
# 框架对比
如下是几大框架的对比:
下面是美团 16 年的报告
# 类型
有以下三种:
# 多维 OLAP( Multi-dimensional OLAP )
MOLAP,提前算,预聚合代表有
- Druid
- Kylin
# 关系型 OLAP(Relational OLAP)
ROLAP, 实时聚合 ,耗费计算资源,其代表有:
- Presto
- Impala
- GreenPlum
- Clickhouse
- Elasticsearch
- Hive
- Spark SQL
- Flink SQL
# 混合 OLAP(Hybrid OLAP )
当查询聚合数据时,使用 MOLAP;
当查询明细数据时,使用 ROLAP;
# 执行模型
有以下三种:
# Scatter-Gather执行模型
相当于MapReduce中的一趟Map和Reduce,没有多轮的迭代,而且中间计算结果往往存储在内存中,通过网络直接交换。
代表有
- Elasticsearch
- Druid
- Kylin
# MapReduce
代表有
- Hive
# MPP
MPP学名叫大规模并行计算,代表有
- Presto
- Impala
- Clickhouse
- Spark SQL
- Flink SQL
# Spark 和 Druid
Apache Druid 与 Spark (opens new window)