1:引言
数据的处理主要分为两种:操做型数据处理和分析型数据处理,前者能够称为oltp,后者能够称为olap。
2:olap定义
联机分析处理的定义有如下几种:
olap是以海量数据为基础的复杂分析技术,支持各级管理决策人员从不一样的角度,快速灵活地对数据仓库中的数据进行复杂查询
和多维分析处理,而且能以直观易懂的形式将查询和分析结果提供给决策人员,从而辅助各级管理人员做出正确的决策。
3:olap的特色
支持海量数据
支持复杂查询计算
多维分析
快速灵活
支持决策
4:olap与oltp的区别
olap与oltp是两类不一样的应用,oltp是对数据库中数据的联机查询和增删改操做,它以数据库为基础;而olap适合以数据仓库为
基础的数据分析处理;
olap中历史的,导出的以及通过综合提炼的数据主要来自于oltp所依赖的底层数据库,olap数据较oltp数据须要多一步综合处理
或多维化操做。
主要区别
oltp:原始数据,细节性数据,当前数据,可更新,一次性处理的数据量小,面向应用,事务驱动,面向操做人员,支持平常操做
olap:导出数据,综合性或提炼性数据,历史数据,不可更新,但周期进行追加或刷新,一次处理的数据量大,面向分析,分析驱
动,面向决策人员,支持管理须要。
5:多维数据模型的概念
a:定义
多维数据模型是olap中的一项核心技术。
多维数据模型是数据分析时用户的数据视图,是面向分析的数据模型,用于给分析人员提供多种观察的视角和面向分析的操做。
多维数据模型的数据结构能够用多维数组来表示,如:维度1,维度2...维度n。度量1,度量2...度量n
多维数据模型也能够用多维立方体来直观展示,其中维表示用户的观察视角,多维空间中的点表示度量的值。
b:经常使用术语
1:维---维是人们观察事物的特定角度,是事物的某个属性,好比时间,地点,产品。每一个维都有惟一的名称,好比时间维,地区
维,产品维。
2:维成员---维成员就是维的取值。若是一个维是多个层次的,那么维成员就是不一样层次上的取值的组合。好比,地区维,维成员
就能够是“北京”,“上海”“杭州”等;而日期维包括年,月,日三个层次,那么它的为成员就是“2018年12月3日”,但并非
每一个层次上都有取值,好比“2018年8月”也能够是维成员。
3:维层---维是观察事物的角度,维层就是这个角度的细节程度,不一样的细节程度对应着不一样的维层。好比,日期维,能够从“年”
这一细节程度去观察,也能够从“季度”“月份”去观察,所以年,季度,月份等就是日期维的不一样层次。层之间有必定的层次级别。
4:维层次---维层次是维层的不一样划分。好比,日期维能够按照“年-季度-月”划分,也能够按照“年-星期-日”划分。两种划分规则
就是日期维的两个维层次。再好比产品维,能够按照产品,类型,种类划分,也能够按照承销商,代理商,制造商划分。
5:维属性---就是维成员所具备的特性,维属性能够在每一个维成员上定义,也能够在维层上定义。若是在维层上定义,那么该维层
上的全部维成员都有这些属性,好比产品维的某一个成员“洗衣机”,他有一个洗涤重量的属性,这就是维属性。
6:度量---度量就是要分析的目标或对象。常见的度量值有销售量,供应量,利润等。度量通常有名称,数据类型,单位,计算公式
等属性。度量还能够分为可累计型和不可累计型。
7:数据方体---多维数据模型的空间展示就是数据数据方体,也称为多维立方体。一个数据方体由多个维度和度量组成,n维立方体
能够看做是由一系列的n-1维立方体组成。
8:数据单元---在一个数据立方体中,当每个维上都有肯定的维成员,那么就能够惟一肯定多维空间中的一个点。一个数据单元能够
有多个度量值,好比一个三维立方体,有三个维度:日期维,地区维,时间维,那么2018-8-8,北京,冰箱,就能够肯定一个数据单元
这个数据单元上的度量值就能够是利润,销售额,销售数量等。
6:常见的多维数据模型
常见的多维数据模型有星型模型,雪花模型,事实群模型。
1:星型模型
星型模型是多维数据模型的基本结构,一般由位于中心的一张表和其周围的多张表组成。中心的表叫作事实表,周围的表叫作维度表。
事实表是用来存储事实的度量值和各类维度表的主码值。维度表用来保存维的信息,即每一个维成员的属性信息和层次信息。事实表
经过维度表的主码与各维度表相连。
星型模型不支持维的层结构,每一个维只有一个维表。若是一个维表有多个维层,那么全部的维层属性都必须放在这一个维表里面。
所以就会由于没有规范化而产生必定的冗余。
2:雪花模型
雪花模型是在星型模型的基础上发展而来的,每个维度再也不只有一张维度表,而是能够有多张维度表。雪花模型和星型模型的主要
区别在于:雪花模型会根据维层对维度表进行规范化。通过规范化的维表不只易于存储,并且能节省空间,可是在查询时就须要比较
多的链接操做。所以,咱们在处理时,能够将雪花模型和星型模型进行综合,对于较小的维度表仍然使用星型模型的不规范形式,对
于较大的维度表则使用雪花模型的规范形式。
3:事实群模型
事实群模型相似于星型模型,区别只是多张事实表之间能够共享同一张维度表。
7:经常使用的分析操做 1:多维分析基础---汇集函数 汇集就是对细节数据进行综合的过程。 最经常使用的五中汇集函数:求和(sum),计数(count),最大值(max),最小值(min),平均值(avg),求中间值(median), 排序(rank); 2:切片:slice 就是在数据方体的某一维上选定一个维成员的动做,即限定多维数组某一维度只取一个特定值。 好比地区维,选定“北京”这一个维成员,这样就获得一个切片。 3:切块:dice 就是在数据方体的某一维上选定某个区间的所有维成员的动做,即限定多维数组某一个维度只取必定区间的值。 好比地区维,选定“北京”“上海”“广州”,这样就获得一个切块。当这一区间只有一个维成员时,就获得一个切片。所以 切块能够由多个切片操做叠合而成。 4:旋转 改变数据方体维的次序的动做称为旋转,旋转操做对数据不作任何改变,只是改变立方体摆放的视角。 5:下钻 下钻操做就是在某个分析的过程当中,用户可能须要从更多的维或者某个维的更细层次上观察数据,这时候就须要经过下钻操做 来实现。好比将日期维从季节层次下钻到月份层次,下钻前用户只能看到季度数据,而下钻后就能够看到月份数据。 下钻操做主要有两种类型:一是现有的维下钻取更细节一层的数据,好比日期维上的季度数据下钻到月份数据 二是增长更多的维,好比如今只分析了三个维度的数据,可是问题仍然没法解决,这时候就须要更多 维度的数据。 6:上卷 上卷操做是相对下钻操做而言的,下钻能够看到更多更细节数据,所以上卷操做就是看到更少更综合数据。所以,上卷操做也 分为两种,一是上卷到更高层次的数据,另外一种是减小维度。