联机分析处理OLAP系统,是数据仓库的最主要应用 。侧重于根据管理层的各种要求,对各类海量数据从不同角度、不同级别进行复杂查询和多维分析 , 并将结果以直观易懂的形式提供给管理层,为管理层提供决策支持 。
OLAP使用的数据模型通常为多维数据模型 , 其基本多维分析操作有钻?。╮oll up和drill down)、切片(slice)和切块(dice)、以及旋转(pivot)、drill across、drill through等 。下面的例图展示了几种常用的多维模型模式 。

OLAP有多种实现方法,根据存储数据的方式不同,可分为ROLAP、MOLAP和HOLAP 。一般我们将基于关系数据库的OLAP实现称之为ROLAP(Relational OLAP);将基于多维数组存储的OLAP称之为MOLAP(Multidimensional OLAP);将基于混合数据组织的OLAP实现称之为HOLAP(Hybrid OLAP) 。
总之 , OLAP通常使用多维谁模型,分析的数据对象一般是海量历史数据 , 操作主要为读取而非写入,分析的模式主要为汇总和聚集 , 对处理过程需要耗费的时间存在较大的宽容度(比如几十秒或数分钟) 。这是与OLAP与OLTP的最主要区别 。
朋友们,我们正处在数据大爆炸的新时代 , 十多年前,数据的计量标准偏重于兆、G单位;而当下,数据动辄上T(1T=1204G)、上P(1P=1024T) 。数据的存储也从早期的侧重单服务器存储变为当下的分布式存储 。

就像阿里、腾讯、华为等巨头 , 他们的数据存储节点分布在全世界,每个节点存储的数据都是海量级别 。试想双十一过后,如果马云想看一下双十一当天某类产品在不同国家和区域的销售情况、以及刷单的统计,这可就麻烦了,要处理的数据可不是一张表几条数据、而是海量的分布式数据,这种应用是什么场景?显然,仅仅依靠传统关系型数据库的查询SQL是很难满足这种海量分析需求的 。
所以 , 借用合适的OLAP工具实现OLAP业务就显得尤为重要 。当下比较知名的开源OLAP工具主要包括:Impala、Presto、Spark SQL、Drill、Hawq、Druid、Pinot、Kylin等,其中Apache Kylin,麒麟,开发团队主要由国人组成 , 速度很有优势,在国内的应用也比较广泛 。
Apache Kylin?是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区 。它能在亚秒内查询巨大的Hive表 。
下图是Apache Kylin的系统架构图:

下图则是目前使用Kylin的国内外主要用户:

OLTP和OLAP对比分析上面分别对OLTP和OLAP做了详细描述 , 相信大家对二者的区别有了一定的认知 。下面通过一张对比表格将二者的主要区别罗列出来做一个总结 。请参看下图:

从表中可以看出,OLTP和OLAP的区别还是很大的 。OLTP侧重于基于事务的小数据量频繁读写;而OLAP侧重于基于查询的海量数据读取分析 。如果您能够搞明白OLTP和OLAP的主要区别,那您以后再看到这类文章 , 就再也不会一头雾水了 。
推荐阅读
- 小年北什么意思呀 小年北什么意思
- 净水器400g600g是什么意思 净水器400g和600g的区别
- 韩国电影哭声讲的是什么 电影哭声剧情介绍
- 996工作制是什么意思 996是什么意思
- 女人梦见自己看到棺材了 女人梦见自己看到棺材了什么意思
- 梦见自己一直扫地 梦见自己扫地干净是什么意思
- 梦见别人棺材放家里 梦见别人棺材放家里什么意思
- 梦见自己在扫地 梦见自己在扫地是什么预兆
- 梦见自己一直在扫地 梦见自己一直在扫地是什么意思
- 女人梦见自己扫地 女人梦见自己扫地是什么意思
