上一篇咱们重点把数仓的前世:DBMS 数据库管理系统(OLTP)讲解的非常清楚,大家可戳 《秒懂数仓的前世今生:DBMS、DW、OLTP、OLAP到底是啥?(上篇)》
本日我们重点来讲解下篇数仓今生:DW数据仓库(包含OLAP操作)
一、DW是啥:定义
由于数据量的不断膨胀,人们对数据需求的风雅化(从月到天,从天到小时,从小时到分钟),OLTP仅仅针对关系型数据库做联机事务处理已经无法知足哀求。此时,Dataware数据仓库的体系构造应运而生,DW环境中的处理类型可以概括为装载和访问过程。数据一旦被装载,常日是无法更新的,紧接着就会被用于访问查询,用于各种剖析。

此时,我们会常常利用一种OLAP的技能优化数据构造,使得企业灵巧对数据进行调查。
OLAP,即多维数据库管理系统处理,他供应了一种信息系统构造,这种构造可以使得企业对数据进行灵巧访问,有多种办法对数据进行切片、分块,可以灵巧动态的稽核汇总数据和细节数据之间的关系与变革。
二、为啥须要DW:意义
DW紧张有以下意义和特点
降落 存储本钱:减少不必要的数据冗余,从而极大地降落存储和打算本钱,更好且有效的利用数据。提高 利用效率:当业务发生变革时,可以更加方便的进行扩展,提高数据稳定性和连续性保障 数据质量:良好的数据模型能改进数据统计口径的不一致性,减少数据打算缺点的可能性。三、如何用DW:详细建模一共分为三层六类
第一层:ODS操作数据存储层第二层:DW数据仓库层,个中又可以分为公共维度汇总层 DIM、数据仓库层DW(数据细节层DWD、数据中间层DWM、数据做事层DWS)第三层:ADS运用数据做事层这部分详情可见文章《》
四、关于OLAP4.1 啥是OLAP:定义
大家在和研发对接的过程中,可能会常常听到OLAP这个词,到底OLAP是啥呢?OLAP是否就等价于DW呢?
实在不是这样的,我们先来区分下DW数仓和OLAP:
DW数据仓库是一种数据库,其设计使得剖析数据更随意马虎(常日利用来自多个来源的数据)。它常日由事实表和维度表组成,并且常日由聚合表组成。OLAP是一组操作可以对数据集进行操作,例如旋转,切片,切割,钻孔。例如,可以利用Excel数据透视表实行OLAP操作。以是从实质上来说,两者并不等价,从包含关系上来说,DW包含了OLAP这种操作,OLAP也是DW数仓中的主要一环。如果再直白一点表达这两部分差异,DW数据仓库是一个日常管理和存储数据的地方,OLAP是一种剖析数据的方法。
4.2 OLAP有啥用:特点
此时肯定有人要问了,我用DBMS的关系型数据库也能进行剖析,为啥要用OLAP剖析呢?
——关系数据库报表工具当然可以查询、报表和剖析存储在表中的多维数据,但随着数据量的增加,性能会变慢。并且须要大量的事情来重新组织结果以关注不同的维度。例如,以前只须要业务A整体的数据,现在要看这个业务下人群1和人群2的数据,或者要看业务A和业务B下有交叉的人群1和人群2的数据情形,再交叉韶光维度一起。
多维剖析,这便是 OLAP 多维数据集的用武之地以及最大特点。OLAP 多维数据集利用附加层扩展了单个表,每个层都添加了附加维度——常日是维度“观点层次构造”中的下一个级别。例如,立方体的顶层可能按地区发卖;附加层可以是国家、省、城市乃至特定商店。
理论上,一个立方体可以包含无数层。(代表三个以上维度的 OLAP 多维数据集有时称为超多维数据集。)层中可以存在更小的多维数据集。例如:每个商店层可以包含按发卖职员和产品排列发卖情形的多维数据集。在实践中,数据剖析师将创建仅包含他们须要的层的 OLAP 多维数据集,以实现最佳剖析和性能。
4.3 如何用OLAP:支持的操作
OLAP 多维数据集支持四种基本类型的多维数据剖析:
下钻操作
向下钻取操作通过以下两种方法将粗略的数据转换为更详细的数据 :在观点层次构造中向下移动或向多维数据集添加新维度。例如,如果你想查看季度的发卖表现,可以以月为单位向下钻取查看每个月的发卖额,在“韶光”维度的观点层次构造中维度下移。
上卷操作
与下钻相反,上卷通过在观点层次构造中向上移动或减少维数来聚合 OLAP 多维数据集上的数据。例如,可以通过查看每个区域的数据,而不是每个城市的数据,在“位置”维度的观点层次构造中向上移动。
切片操作
切片是通过从主 OLAP 多维数据集中选择一个维度来创建子多维数据集。例如,你可以通过切片来突出表示某业务线第二季度的发卖情形
切快操作
切块操作通过在主 OLAP 多维数据集中选择一个小的多维数据集。例如,我只须要剖析华南区域男装和妈妈装业务线下半年的发卖情形。
旋转操作
旋转当前的多维数据集视图。实在OLAP 的这个操作与Excel中的数据透视表功能相称, OLAP 数据透视表相对更易于利用(仅需较少的专业知识),并且具有更快的相应韶光和查询性能。
4.4 OLAP有哪些:分类
按数据存储办法(建模类型)分类,可分为 MOLAP、ROLAP、HOLAP等。
MOLAP:Multidimensional(多维的 )OLAP
将数据存储在优化的多维数组中,而不是关系数据库中。
优点:性能绝佳,MOLAP cubes为了快速数据检索而构建,具有最佳的分块和分片操作。可以实行繁芜的打算,速率快。
缺陷:可以处理的数据量有限,由于所有的打算都是实行在构建的多维数据集上,多维数据集本身不可能包括大量的数据。须要额外的本钱,多维数据集技能每每是有专利或现在并不存在在某个组织中。因此,要想采取MOLAP技能,常日是要付出额外的人力和资源本钱。
ROLAP:Relational (关系型) OLAP
将剖析用的多维数据存储在关系数据库中。这种办法依赖SQL措辞实现传统OLAP的切片和切块功能,实质上,切片和切块等动作都等同于在SQL语句中添加“WHERE”子句。
优点:可以处理大数据量,ROLAP技能的数据量大小便是底层关系数据库存储的大小,ROLAP本身没有对数据量的限定。
且可以利用关系型数据库所固有的功能,关系型数据库已经具备非常多的功能。
劣势:性能可能会很慢,由于每个ROLAP包裹实际上是一个SQL查询(或多个SQL查询)关系数据库,可能会由于底层数据量很大,使得查询的韶光很长。
HOLAP:Hybrid(稠浊型) OLAP
将上述两种办法结合,从而可以获取各自的优点。
本文由 @数据产品高远 原创发布于大家都是产品经理,未经容许,禁止转载
题图来自 Unsplash,基于CC0协议