BI、OLAP、多维分析、CUBE 这几个词是什么关系?

笑着哭i 提交于 2020-08-18 20:50:42

这些词我们在建设分析型应用时经常会听到,这几个词也经常被弄混,这里来梳理一下。

BI
BI 是 Business Intelligence(商业智能)的缩写,是指企业利用已有数据进行数据分析从而指导商业决策的过程。BI 有广义和狭义之分,广义上的 BI 是指只要涉及利用数据及其分析结果进行商业决策的行为都属于 BI 的范畴;而狭义上的 BI 则主要多维分析,在实际工作中,狭义 BI 也更流行一些。

著名的啤酒和尿布的故事曾一度在 BI 领域广泛传唱,据说沃尔玛通过数据分析发现了在某一时间段啤酒和尿片的销量大增,原因是爸爸给孩子购买尿片的同时还会给自己买几罐啤酒,于是沃尔玛调整了啤酒和尿片的摆放位置(也有说法是进行了捆绑销售)获得了巨大成功。

故事的真实性有待考证,据说这家连锁店并不是沃尔玛,而是 Osco Drugs,一家主要在美国中西部经营的药房和便利店。该公司于 1992 年就着手进行数据挖掘项目,算是数据挖掘的先驱者。当时的项目收集了来自 25 家分店、一千两百多万个购物车的信息。数据的确发现:下午 5 点到 7 点之间,客户购买了啤酒和尿片。商店管理层的确对此发现表示兴趣。但现实中,并没有重新设计商品的摆放,没有把啤酒和尿布进行捆绑销售。不过,公司保守地对销售流程进行了改造,即在正确的时间放正确数量的正确商品。

我们不对故事的真实性做过深评判,但故事中使用的数据分析手段其实并不属于 BI 的范畴,而是数据挖掘了,数据挖掘更多的是被划分到 AI 的范畴。


OLAP
OLAP 是 On-Line analytical processing(联机分析处理)的缩写,广义的 OLAP 泛指数据查询分析,像报表、即席查询、多维分析都属于 OLAP 的范畴。

与 OLAP 相对的一个概念是 OLTP(On-Line Transaction Processing)在线事务处理,就是我们平常说的的交易系统,像 OA、ERP、CRM、银行的核心交易系统都属于 OLTP 的范畴。OLTP 和 OLAP 最大区别在于前者会产生数据,而后者只利用前者生产的数据进行数据分析为企业经营提供决策支持。

从广义来看,OLAP 更像一个逻辑概念,用来特指在线查询分析,显然 OLAP 属于 BI 的范畴。有时我们会把 OLAP 和多维分析划等号,在系统建设中经常会说使用“OLAP 产品”其实就是指的多维分析了。

多维分析是什么?


多维分析
多维分析是指在分析型系统中,用户可以通过拖拽维度(Dimension)来汇总度量(Measure)以方便使用者可以从不同角度观察数据。如果从报表的角度来看,多维分析类似自助报表,业务人员基于一个事先准备的结果集进行动态报表查询,可以进行切片、钻取、旋转(行列变换)等操作。

现在很多时候 BI、OLAP 和多维分析被狭义地叫成一样的东西,其实是特指实现了多维分析的产品,比如我们说 BI 产品、OLAP 产品都是在指多维分析。

CUBE
CUBE 也叫数据立方体,可以理解成是一个数据集,在多维分析中使用者需要基于一个结果集进行拖拽分析,这个结果集就是 CUBE 了,多维分析针对 CUBE 进行查询、切片、钻取等操作。

imagepng

从上面的描述来看,BI、OLAP、多维分析从狭义上来讲基本可以画等号,但从广义上来看 BI 的范畴显然更大一些,其次是 OLAP,然后是多维分析,而 CUBE 属于多维分析的范畴,所以 CUBE 的范围最小,用图形表述一下四者之间的关系可以这样:

imagepng

我们在实际工作中如果提到这些词,最好彼此确认一下表述的是同一范围,否则可能会导致沟通偏差,影响系统建设。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!