开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第三阶段): 网站流量日志分析—数仓设计—维度建模多维数据分析】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/695/detail/12197
网站流量日志分析—数仓设计—维度建模多维数据分析
内容介绍:
一、维度建模的概念
二、多维数据分析的概念
一、维度建模的概念
建模可以理解为建立模型,表跟库,库跟表,表与表之间的模型,维度通常可以把它看待为一个问题的角度。比如同样的一件事情站在不同的角度,不同的维度下,可以得出不同的结果。分析公司的订单销售情况,从时间的维度下手分析哪个月卖的多,哪一天卖的多;也可以从地域的维度来分析,哪个省卖的多,是北方卖的多还是南方卖的多;也可以从商品的维度来分析,这样一发现,从不同的角度切入分析都是订单销售情况。这个维度建模呢非常满足分析的需求,因为在大数据分析领域当中通常就是通过不同的维度去看待一个相关数据的规律。在理解维度建模具体概念之前,首先一点要特别的明确,维度建模这个理论专门适用于面向分析的环境,比如说分析型数据库是定向分析的、数据仓库是定向分析的,还有一个数据集市,可以理解为小型的数据仓库,还是面向分析的通常所说的 OLAP 连接分析处理,它肯定不是传统的关系数据库。
以维度为标准开展数据的分析需求,适用于面向分析领域的理论,比如分析型数据库、数据仓库、数据集市,这三种 OLAP 区别于面向四步的关系型数据库。
1、事实表
事实表跟客观事件相关联,所谓的事实表所对应的就是客观发生的事件,比如说分析网站的访问情况,一条访问日志是一个事实表的记录,而要分析订单销售情况,一笔订单就是一条记录。所以说事实表一般跟主题相关,要分析 A 找到 A 的数据,分析 B 要找到 B 的数据,分析订单要找订单数据,要分析人找人的数据,要分析评论找评论的数据,它是跟分析主题相关,是对分析主题的度量,比如说(下图),
老板下达命令,去分析下公司订单销售情况,这时候确定分析主题是订单之后是否要根据主题相关的订单表打过来,订单表就是俗称的事实表。在订单表当中,它的一条记录对应着一个客观事件,下一个订单记录数据,在订单表中可以看到当中往往都是一堆主键的聚集,订单编号多少,哪一个人购买的,买的商品编号,时间,地址编号,订单金额以及数量等等。这样简单的一些字段就可以把客观发生的事件记录下来,这是所谓的事实表。有了事实表之后,维度表可以从不同的角度来分析它,不去看上图,分析订单可以从不同的角度去切入它,比如说从用户的角度来切入,购买者的 ID 是谁,关联用户表去分析哪个人买的多,分析一下过去一个月订单金额最多前三位是谁,再发一个优惠券,这时候是跟用户相关的,用户表就是维度表。
再比如说,从三屏的维度来分析大家都来买东西,哪个商品卖的多,买手机哪种型号卖的多,通过商品来去关联商品表,又可以分析哪个商品卖的多;
再比如说时间表,客观的订单一天发生,统计一下过去一个月订单在上旬卖的多,还是下旬卖的多还是哪个时间买的多,去关联一个时间表又可以带来分析,这时候发现维度表正是之前所说的看待问题的角度,同样一个事实可以从不同角度去切入它得到不同的一些字标,甚至这些维度之间还可以做一个组合,看待过去一个月当中哪个商品卖的多,是不是时间跟商品做一个组合,这样组合起来,维度表加上事实表构成纬度建模的一个理论,这套理论非常贴近于客观分析实践的需求,因为类具分析事情偶尔从不同角度不同维度具体看待它相关标准的情况。
分析主题的客观事件度量,是分析主题的数据聚集,事实表中一条记录往往对应着客观的一个事件,往往是一堆主键的聚集。
2、维度表
所谓的维度表就是看待问题的角度,可以通过不同的维度去分析同一个事实表,得出不同的分析结果。维度表可以跟事实表进行相关查询。
如果说给订单都是中国用户的订单,接下来从美国用户的维度分析肯定是分析不出来,因为他两之间是没有关联的,所以说要想以纬度来分析肯定是要有相关的数据关联上,那么这样两个构成起来,满足数据分析领域当中的所谓的维度建模。在当下企业当中,用的最多一套是维度建模理论,其实位次还验证出来多维数据分析。
二、多维数据分析
所谓的多维数据分析就是通过不同维度的聚集计算出某种度量值。
举个例子:统计来自于北京地区女性24岁未婚的过去三年购物金额做多的前三个,这个例子非常贴近于实际需求,在企业当中,比如说用户来这个需求,去统计一下指标,维度有地域、性别、年龄、婚姻、时间。常见的度量值有 max、min、count、sum、avg、topn。根据度量值来看刚才的例子当中就是统计来自北京女性24岁未婚三年,因此度量值有 sum(订单金额)做一个排序找出前三,这就是多维数据的分析的应用。
多维数据分析本身给予不同的维度对数据开展分析,这是在面向分析当中非常适用的分析理论叫做维度建模。