编辑导语:数字化期间,大家都在讲数字化,数据分析占据着焦点职位。问到跟数据分析相干的工具,天然而然就会想到BI,到谈贸易智能(BI)时,常常会提到OLAP,有的人大概以为OLAP工具就是BI,实在它只是BI的一部门,是很紧张的一项分析技能。接下来本文作者为各人做了具体解答,如有不敷之处接待指正。
1. OLAP是什么 1.1 OLAP的根本概念
OLAP(online analysis processing),联机分析处置惩罚技能,多应用于BI工具,也可以叫做OLAP工具/引擎/数据库。它资助数据分析师从多个角度对数据举行分析和数据发掘,用于多维数据查询和报表处置惩罚的需求,焦点是多维度。
假如我想要在这张二维表的底子上增长服装的种别,好比说:毛衣、连衣裙、牛仔裤、半裙、T恤等,这时间维度就是月份和服装的种别,度量值是贩卖额、本钱、利润。
这就引入了概念:维度、维度的条理、种别、度量
- 维度:用来对数据举行分类和人们观察业务环境的角度;
- 维度的条理:根据维度细节水平差别,分别出来的一类属性,是维度预先界说的差别级别。比方,日期维度的条理包罗年、月、日;
- 种别:是各维度的条理上数据项的取值,比方,日期维度的条理月的种别有:1月、2月、3月等;
- 度量:用来形貌业务环境的数据,比方,贩卖额、本钱、利润都是度量值。
1.2 OLAP是怎样做多维分析的
OLAP多维分析技能的数据处置惩罚逻辑是起首把数据预处置惩罚成数据立方体,可以简朴的明白为把源表选择不重复的唯一值举行分组,并把有大概的汇总都预先盘算出来,当用户选择多维度查询大概分析时,会在预先盘算出来的底子上很快给出用户想要的效果,从而快速支持极大数据量的分析。
而这此中又涉及到一个知识点:数据立方,数据立方体是什么?
还以刚才讲到的服装贩卖数据环境为例,将数据处置惩罚成数据立方体之后如下图:
数据立方体另有一个高大上的名字:多维数据模子。比方,将上图的立方体拆可解成一个多维数据模子:
固然,现实上一个商品贩卖表的维度绝不止这些。比方,增长地区维度、付出维度、用户维度等之后,就形成了一个星型多维模子:
这张图中心的表叫究竟表,附近的表叫维表,究竟表是用来记载详细变乱,包罗详细要素。
比方:或人(用户ID)在某地(地区ID)某时(时间ID)通过某种方式(付出ID)购买了某产物(产物ID),维度表是对究竟表中的每个字段睁开形貌,比方用户ID,睁开成一张维度表,记载该用户的姓名、地点、年事、性别等信息。
通过对源表中的究竟表以及相干的维表通过差别的拆分组合形成和业务相干的,具有多维度的数据立方,让数据根据差别的业务需求出现出变化多端的效果。
多维分析是以多维的情势构造数据,并接纳切片、切块、钻取、旋转等多种分析方式探查数据,使分析职员大概管理职员可以或许从多方面、多角度去查询数据,从而得到有代价的信息。
以是针对数据立方体包罗的操纵有:下钻(drill- down)、上卷(roll- up)、切片(slice)、切块(dice)、旋转(pivot)
- 下钻:往更细粒度深挖,从上一条理到下一条理,比方:浙江省维度的数据,颠末钻取可以分为杭州市、宁波市,湖州市、绍兴市等地级市维度的数据;
- 上卷:和钻取意思相反,从细粒度向上聚合,比方将北京、上海、深圳、广州的贩卖数据举行汇总检察一线都会的贩卖数据;将2020年四个季度的数据汇总成2020年总数据等都属于上卷;
- 切片:选中特定的值举行分析,好比只选择电子产物的贩卖数据,或只选择浙江省一个省粒度举行分析;
- 切块:比切片粒度更大,选择某个维度中多个范围内的数据。比方选择2020年第一季度到第二季度的贩卖数据,产物种类中电子产物和日用品的贩卖数据;
- 旋转:即维度位置交换,像一张表的行和列交换,旋转是根据差别的需求,改变分析角度。比方原来将产物作为观察角度,在地区和时间维度上差别产物的贩卖环境,旋转之后分析差别地域的贩卖环境。
根据数据存储格式OLAP可分为ROLAP、MOLAP、HOLAP。
- ROLAP:基于关系数据库的OLAP,以关系型数据库为底子,以关系型布局对多维数据举行数据存储和显现,常用的开源技能有Presto、Impala;
- MOLAP:基于多维数据库的OLAP实现,此中切片、切块是重要技能本领,数据检索速率较快,但是生建立方体的时间较长,数据存储在多维立方体中,常用的开源技能有Kylin、Druid;
- HOLAP:是基于关系性和多维矩阵型等混淆型的OLAP,它的技能重要联合MOLAP和ROLAP两种技能的长处。
在数据架构时,现在没有一个OLAP技能能在数据量,机动水平和性能上(吞吐和并发)做到完善,这块各人可以深入相识后,根据自身的业务需求选择相应的技能。
2. OLAP怎么用? 2.1 OLAP的实现架构
OLAP就是用来资助我们办理数据访问、快速的数据分析、报表展示等题目,OLAP多维分析的实现架构大抵包罗:业务数据源、数据堆栈、多维分析模子计划、多维分析立方体天生、报表图表制作。
业务数据源:OLAP可以支持多种数据源毗连分析,主流数据源包罗SQL类数据源,可将其进一步分别为关系数据库与分析型数据库,其次另有NoSQL类数据库、大数据离线盘算体系以及API类数据源,文件类数据源等。
数据堆栈:将业务数据源中的数据按照一些业务属性相干规则举行数据开辟后,形成一个个主题数据库存放于数据堆栈中,当必要做数据分析时,直接从数据堆栈获取相干主题数据。
多维分析模子:常用的多维分析模子有雪花模子和星型模子。
- 星型模子:将多维数据分成究竟表和维表,究竟表存储的都是指标数据和维表的关键字段值,维表存储维度的条理、种别等信息。维表和究竟表通过主外键关联在一起,形成了星型模子。
- 雪花模子:对于条理较复杂的维,可以利用多个表来形貌。比方,一个产物贩卖数目实行表,维表有产物维表、时间维表、产物范例维表、地点维表,地点维表又包罗国家、省级、地市等维表。通过建立雪花模子,可以最大限度的淘汰数据存储量以及关联较小的维表来改善数据查询的性能。
多维分析立方体:就是我们上文讲到的数据立方体,数据立方体使OLAP工具可以或许实现便捷快速查询、分析。
报表图表制作:我们利用BI工具时,行外人最常打仗的功能,通过拖沓拽的方式,将数据用一个悦目又直观的方式显现出来。报表制作的组件有许多种,比方,柱状图、折线图、双轴图(或叫柱线图)、散点图等。
2.2 OLAP的实行过程
OLAP的实行步调重要分为以下几个阶段:
2.2.1 需求阶段
需求分析包罗:通过调研得出的业务需求(从维度、各业务的分析主题等方面举行形貌)、性能需求(体系相应时间的要求)、技能需求、安全性需求以及需求的优先级等。
在需求阶段,是我们认识相干业务知识的过程,这对我们接下来的计划环节至关紧张。
2.2.2 规划阶段
在需求分析的底子上,必要对项目标团体布局有肯定的相识,按照软件工程的一样平常规则和方法规划整个项目标过程。同时必要确定整个项目必要的资源,包罗人力,做哪些相干培训等内容。
2.2.3 计划阶段
计划阶段是整个OLAP实行最紧张的阶段,包罗对模子的分析、维度的分析和计划、究竟表的计划等内容。此中模子的分析包罗界说题目和确定分析的目的和内容,A这家电商公司整年贩卖的毛衣的利润总额是多少?在2020年第一年度,牛仔裤的利润趋势是什么?
维度的分析包罗分析题目中所涉及的维度是哪些,每个主题中维度和度量值是多少。
2.2.4 构建模子阶段
根据业务需求确定必要分析的主题,根据分析的主题确定分析的粒度和度量值,包罗分析的维度。比方,服装贩卖环境信息主题重要从服装种别、日期两个维度举行分析,末了测试和验证模子的精确性。
2.2.5 报表显现阶段
报表显现阶段,就是将分析的效果以一种直观、清楚明白的方式显现出来,可以使用一些成熟的报表工具展示(比方Cognos),也可以选择本身开辟,在OLAP模子的底子上举行多角度的分析并展示,到达阐明题目的结果。
3. 结语
OLAP很大水平上可以或许低落数据分析的利用门槛,大大低落了数据发掘的本钱,既方便数据分析师发掘数据,又能让不认识sql语言的产物、运营等业务同砚通过简朴的鼠标拖拽即完成数据分析大概查询计划。
联机分析处置惩罚技能是为了数据分析、数据查询等需求可以或许快速相应,BI工具是助力数据应用的末了一公里,岂论是处置惩罚简朴的报表需求照旧真的资助企业做职能决议,都是为了让数据可以或许真正的发挥代价。BI工具要想又快又好的完成需求,必要依附于OLAP技能。
当我们打仗一个本身还不认识的新事物时,可以先去研究其泉源、底层的逻辑,就会发现新事物相干的蜘丝马迹,究竟站在巨人的肩膀上我们能走的更远,在你研究的过程中,说不定就发现了什么新大陆,成为下一个创新者。
本文由 @金豌豆 原创发布于大家都是产物司理,未经允许,克制转载
题图来自 Unsplash,基于 CC0 协议返回搜狐,检察更多