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

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 进行查询、切片、钻取等操作。

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

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

BI、OLAP、多维分析、CUBE 这几个词是什么关系?的更多相关文章

  1. BI cube的前世今生:商业智能BI为什么需要cube技术

    企业中常常会出现这样一幕幕尴尬的场景: 企业的决策人员需要从不同的角度来审视业务,协助他们分析业务,例如分析销售数据,可能会综合时间周期.产品类别.地理分布.客户群类等多种因素来考量.IT人员在每一个 ...

  2. 【转】Kylin系列-使用Saiku+Kylin构建多维分析OLAP平台

    关于Kylin的介绍和使用请参考之前的文章 <分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例> Kylin对外提供的是SQL查询接口,基于Kylin构建OL ...

  3. 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例【转】

    Kylin 麒麟官网:http://kylin.apache.org/cn/download/ 关键字:olap.Kylin Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的 ...

  4. BI 多维立方体CUBE

    在Bi领域,cube是一个非常重要的概念,是多维立方体的简称,主要是用于支持联机分析应用(OLAP),为企业决策提供支持.Cube就像一个坐标系,每一个Dimension代表一个坐标系,要想得到一个一 ...

  5. OLAP阵营又增一猛将,比肩Power BI不是说说而已!

    说到大数据应用最多的技术,不得不提OLAP技术,在国内外,不论传统公司还是互联网公司,都开始利用OLAP技术分析挖掘大数据的价值.也许很多人对OLAP的概念还不是很清楚,简单来说,就把数据处理成数据立 ...

  6. [译]Dynamics AX 2012 R2 BI系列-Cube概览

    https://msdn.microsoft.com/EN-US/library/dd252604.aspx     Cube是一个多维度的结构,它是BI应用开发的基础.本文描述了cube的组成部分, ...

  7. 分布式大数据多维数据分析(olap)引擎kylin[转]

    Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay 开发并贡献至开源社区.它能在亚秒内查询巨大的Hiv ...

  8. SSAS——基础--cube

    SSAS——基础   一.Analysis Services Analysis Services是用于决策支持和BI解决方案的数据引擎.它提供报表和客户端中使用的分析数据. 它可在多用途数据模型中创建 ...

  9. 联机分析处理(OLAP)到底是什么?

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

  10. 星型数据仓库olap工具kylin介绍

    星型数据仓库olap工具kylin介绍 数据仓库是目前企业级BI分析的重要平台,尤其在互联网公司,每天都会产生数以百G的日志,如何从这些日志中发现数据的规律很重要. 数据仓库是数据分析的重要工具, 每 ...

随机推荐

  1. SemanticKernel如何基于自有数据聊天

    效果 使用gpt-3.5-turbo的效果 什么是向量数据库? 向量数据库是一种专为处理高维向量数据而设计的数据库系统.与传统的关系型数据库不同,向量数据库专注于存储和查询向量数据,例如图像.音频.文 ...

  2. 2、zookeeper的简单命令

    Zookeeper的常用命令本篇不包括权限acl相关以及集群相关,那些要另开篇章.使用的版本是Zookeeper3.4.14,不同版本会有一定的差异性. 节点的存储信息 新增命令 语法:create ...

  3. Mutillidae品台上使用sqlmap注入测试

    Mutillidae是一个开放源码的提供安全渗透测试的Web应用程序, Mutillidae可以安装在Linux.windows xp.windows 7等平台上.下载及安装说明文档详见:mutill ...

  4. GPS 方案总结

    GPS 方案 搜集网络上关于GPS的方案. redis + mysql redis 用来做设备或用户实时定位的查询. mysql存储历史轨迹.存储时分两部分,一张表做实时查询用.一张表做备份用.如果需 ...

  5. uni-app实现公众号登陆实现

    公众号实现登陆流程思路: 1. 创建一个页面用于登陆,页面上需要有输入账号和密码的表单,以及登陆按钮.2. 在登陆按钮的点击事件中,调用后端接口进行账号密码校验.如果校验通过,则将后端返回的用户信息保 ...

  6. mybatis查询大批量数据的几种方式

    问题背景 公司里有很多需要跑批数据的场景,这些数据几十万到几千万不等,目前我们采用的是分页查询,但是分页查询有个深度分页问题,上百万的数据就会查询的很慢 常规解决方案 全量查询 分页查询 流式查询 游 ...

  7. go-view 依赖库

    go-view 依赖库 打包es5 由于当前node版本是 16.18 最新版本的不支持,所以装个老版的 npm install @vitejs/plugin-legacy@4.0.4 --save- ...

  8. C#串口开发之SerialPort类封装

    目录 SerialPort类 参数封装 控件操作封装 SerialPortClient类实现 SerialPortClient类使用 测试Demo 参考文章 SerialPort类 微软在.NET中对 ...

  9. 多线程系列(十九) -Future使用详解

    一.摘要 在前几篇线程系列文章中,我们介绍了线程池的相关技术,任务执行类只需要实现Runnable接口,然后交给线程池,就可以轻松的实现异步执行多个任务的目标,提升程序的执行效率,比如如下异步执行任务 ...

  10. 后端基础PHP—PHP表单验证

    后端基础PHP-PHP表单验证 1.PHP表单 2.PHP连接MySQL 一.PHP表单介绍 关于表单 PHP表单,在网页中主要负责采集数据 通俗理解,在银行办业务需要填一张纸质的表,需要向表上填信息 ...