凡是从事数据相干工作的人,都多多少少据说过“OLAP”。但大部分还是处于懵懵懂懂的状态,只晓得是一种数据分析技术的统称。那么,OLAP 到底是什么?它和 BI 有什么关系?明天小麦就和大家一起一探到底。
1、什么是 OLAP?
OLAP 的概念最早是由关系数据库之父 E.F.Codd 于 1993 年提出的,他同时提出了对于 OLAP 的 12 条准则。OLAP 的提出引起了很大的反应,OLAP 作为一类产品同联机事务处理 (OLTP) 显著辨别开来。
当今的数据处理大抵能够分成两大类:联机事务处理 OLTP(On-Line Transaction Processing)、联机剖析解决 OLAP(On-Line Analytical Processing)。OLTP 是传统的关系型数据库的次要利用,次要是根本的、日常的事务处理,例如银行交易;OLAP 是数据仓库零碎的次要利用,反对简单的剖析操作,偏重决策反对,并且提供直观易懂的查问后果。OLAP 使用户可能从多角度对信息进行疾速、统一、交互地存取,从而取得对数据更深刻理解的一类软件技术。OLAP 的指标是满足决策反对或者满足在多维环境下特定的查问和报表需要,它的技术外围是 ” 维 ” 这个概念。
“维”是人们察看主观世界的角度,是一种高层次的类型划分。“维”个别蕴含着档次关系,这种档次关系有时会相当简单。通过把一个实体的多项重要的属性定义为多个维 (Dimension),使用户能对不同维上的数据进行比拟。因而 OLAP 也能够说是多维数据分析工具的汇合。
2、OLAP 的操作
OLAP 的根本多维分析操作有钻取(Roll Up 和 Drill Down)、切片(Slice)和切块(Dice)、以及旋转(Pivot)、Drill Across、Drill Through 等。
钻取是扭转维的档次,变换分析的粒度。它包含向上钻取(Roll Up)和向下钻取(Drill Down)。Roll Up 是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者缩小维数;而 Drill Down 则相同,它从汇总数据深刻到细节数据进行察看或减少新维。
切片和切块是在一部分维上选定值后,关怀度量数据在残余维上的散布。如果残余的维只有两个,则是切片;如果有三个,则是切块。
旋转是变换维的方向,即在表格中重新安排维的搁置(例如行列调换)。
OLAP 是针对特定问题的联机数据,通过多维的形式进行查问与剖析。维是人们察看数据的特定角度。例如,一个企业在思考产品的销售状况时,通常从工夫、地区和产品的不同角度来深刻察看产品的销售状况。这里的工夫、地区和产品就是维,而这些维的不同组合和所考查的度量指标形成的多维数组则是 OLAP 剖析的根底。
多维分析是指对以多维模式组织起来的数据采取切片(Slice)、切块(Dice)、钻取(Drill Down 和 Roll Up)、旋转(Pivot)等各种剖析动作,以求分析数据,使用户能从多个角度、多侧面地察看数据库中的数据,从而深刻了解蕴含在数据中的信息。
3、OLAP 的分类
OLAP 按存储器的数据存储格局分为 ROLAP、MOLAP 和 HOLAP。
MOLAP(Multi-dimensional OLAP)以多维数组模型存储数据,它的特点是数据须要预计算(pre-computaion),而后把预计算之后的后果(cube)存在多维数组里。因为 cube 蕴含所有维度的聚合后果,所以查问速度十分快。但查问灵便度比拟低,须要提前设计维度模型,查问剖析的内容仅限于这些指定维度,减少维度须要从新计算。
ROLAP(Relational OLAP)以关系模型存储数据,个别要求事实表(fact table)和维度表(dimensition table)按肯定关系设计,它不须要预计算,应用规范 SQL 就能够依据须要即时查问不同维度数据。它的扩展性强,实用于维度数量多的模型。但因为是即时计算,查问响应工夫个别比预计算的 MOLAP 长。
不论是 MOLAP 的多维数据模型,还是 ROLAP 的关系模型,它们都须要事后设计好模型后才能够应用。
4、OLAP 与 BI 的关系
BI 包含数据采集、数据筹备、数据分析和数据共享等环节,数据分析又包含报表、OLAP、数据挖掘、数据可视化等多种剖析技术。所以说,OLAP 只是 BI 的一部分,是 BI 中一种数据分析技术。因为 OLAP 须要事后建模,所以在 BI 中次要是用于“形容产生了什么?”,它和报表、仪表盘一样,是属于“动态”的一种剖析技术,用于构建信息门户或监控数据。
透视剖析是最罕用的一款 OLAP 剖析工具,能够疾速分类汇总、比拟大量的数据,并且能够依据用户的业务需要,疾速变换统计分析维度来查看统计后果。透视剖析不仅综合了数据排序、筛选、组合及分类汇总等数据分析办法的长处,而且汇总的形式更灵便多变,并能以不同形式浮现数据。
然而,基于 OLAP 的透视剖析须要简单的数据加工过程,须要 cube,须要建设维度表、事实表、定维度档次、聚合指标等等,数据查问须要写 SQL 语句。
所以,咱们须要对“动态”的透视剖析进行改进,让它成为“动静”的一种剖析工具,让用户能够对数据进行自在地摸索。让它不仅可能“形容产生了什么?”,而且还可能“剖析为什么会产生?”。
例如,Smartbi 的透视剖析工具采纳“类 Excel 数据透视表”的设计,多维分析不再须要建设模型,就可能组合维度、汇总计算、切片、钻取,洞察数据。不仅如此,任何字段都可间接作为输入字段或筛选条件,轻松实现对数据的查问与摸索。
Smartbi 在后续的 V10 版本中,还会对数据集进行重构,在数据集中集成全新的 OLAP 引擎,把 OLAP 剖析能力赋予报表、仪表盘、透视剖析等多种剖析工具,打造一个更加智能化的大数据分析平台。
综上所述,OLAP 的作用就是让用户能够疾速地从不同的角度洞察数据的状况。在数据量大且维度指标泛滥的状况下,能够让用户聚焦剖析的重点。说到这里,大家对“OLAP”的了解是不是粗浅很多了呢?