当前位置:首页 > 冰箱 > 文章正文

OLAP:BI培植的神器

编辑:[db:作者] 时间:2024-08-25 02:49:33

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年第一季度到第二季度的发卖数据,产品种类中电子产品和日用品的发卖数据;旋转:即维度位置互换,像一张表的行和列互换,旋转是根据不同的需求,改变剖析角度。
例如本来将产品作为不雅观察角度,在地域和韶光维度上不同产品的发卖情形,旋转之后剖析不同地区的发卖情形。

1.3 OLAP的种别

根据数据存储格式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 协议

本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除,如需转载请保留原文地址:http://www.baanla.com/bx/87108.html

XML地图 | 自定链接

Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码

声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com