什么是OLAP(联机分析处理)

2021-02-22  本文已影响0人  胸毛飘逸

联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来。

数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing); OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。通俗的讲,就是对数据的增删改查等操作。 OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。通俗的讲,就是对数据按不同维度的聚合,维度的上钻,下卷等

下表列出了OLTP与OLAP之间的比较:

OLTP OLAP
用户 面向操作人员,支持日常操作 面向决策人员,支持管理需要
功能 日常操作处理 分析决策
DB 设计 面向应用,事务驱动 面向主题,分析驱动
数据 当前的,最新的细节的,二维的分立的 历史的,聚集的,多维的,集成的,统一的
存取 可更新,读/写数十条记录 不可更新,但周期性刷新,读上百万条记录
工作单位 简单的事务 复杂的查询
DB 大小 100MB-GB 100GB-TB

总的来说,OLTP就是面向我们的应用系统数据库的,OLAP是面向数据仓库的。

特性

  1. 快速性:用户对OLAP的快速反应能力有很高的要求。系统应能在5秒内对用户的大部分分析要求做出反应。

  2. 可分析性:OLAP系统应能处理与应用有关的任何逻辑分析和统计分析。

  3. 多维性:多维性是OLAP的关键属性。系统必须提供对数据的多维视图和分析,包括对层次维和多重层次维的完全支持。

  4. 信息性:不论数据量有多大,也不管数据存储在何处,OLAP系统应能及时获得信息,并且管理大容量信息。

分类

常见的OLAP系统可以分为以下三类:关系型联机实时分析系统(Relational-OLAP,ROLAP),多维联机实时分析系统(Multidimensional-OLAP,MOLAP),混合型联机实时分析系统(Hybrid-OLAP,HOLAP)。以下是ROLAP、MOLAP与HOLAP三者之间优缺点对比:

  1. ROLAP
    ROLAP的核心依赖于关系型数据库,允许用户使用维度模型进行数据分析,将维度值存储在维度表中,将度量值存储在事实表中,通过关系型数据库访问数据,使用SQL进行查询分析。ROLAP的一般使用模式概括如下:根据用户的需求,对不同维度进行分析后,将分析数据导入到另一张数据库表中。
  1. MOLAP
    MOLAP是OLAP的经典使用模式,所以经常用MOLAP来指代OLAP。MOLAP和ROLAP具有一定的相似性,二者都可以使用维度模型进行数据分析,但是MOLAP并不将数据存储在维度表或者事实表中,而是对原始数据进行预计算(比如聚合操作),将计算结果存储在OLAP cube中。
  1. HOLAP
    HOLAP充分利用了ROLAP与MOLAP的各自优势,从纵向角度,既允许用户将部分数据(比如聚合类数据)使用MOLAP进行存储,从而获得更快的查询性能;又允许部分数据(比如原始数据)使用ROLAP进行存储,使用户能够查看细粒度数据。从横向角度,使用MOLAP存储最近较热的数据,从而提升查询性能;而使用ROLAP存储历史较冷的数据。公司使用HOLAP的目的是根据不同场景来利用不同OLAP的特性。

业界产品

发展状态

在国内,不论传统公司还是互联网公司,都开始利用OLAP技术分析挖掘大数据的价值,国内除BAT等大厂会自研OLAP产品外,其他中小互联网公司普遍拥抱开源,会使用Kylin、Presto、impala、Druid和Greenplum等开源技术来实现OLAP分析查询业务。

技术选型参考

上一篇 下一篇

猜你喜欢

热点阅读