【总结】维度数据建模过程及举例

2024-05-06 04:28

1. 【总结】维度数据建模过程及举例

 本文介绍数据仓库中维度数据建模的过程描述,并举一个示例以加深对相关概念的理解。
   维度模型是数据仓库领域大师Ralph Kimall所倡导,他的《数据仓库工具箱》,是数据仓库工程领域最流行的数仓建模经典。维度建模以分析决策的需求出发构建模型,构建的数据模型为分析需求服务,因此它重点解决用户如何更快速完成分析需求,同时还有较好的大规模复杂查询的响应性能。
   1、通过对业务需求以及可用数据源的综合考虑,确定对哪种业务过程开展建模工作
   2、建立的第一个维度模型应该是一个最有影响的模型——它应该对最紧迫的业务问题作出回答,并且对数据的抽取来说是最容易的。
   注:粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别,细化程度越高,粒度就越小
   1、应该先优先考虑为业务处理获取最有原子性的信息而开发维度模型。原子型数据是所收集的最详细的信息,这样的数据不能再做更进一步的细分。
   2、数据仓库几乎总是要求在每个维度可能得到的最低粒度上对数据进行表示的原因,并不是因为查询想看到每个低层次的行,而是因为查询希望以很精确的方式对细节知识进行抽取。
   一个经过仔细考虑的粒度定义确定了事实表的基本维度特性。同时,经常也可能向事实表的基本粒度加入更多的维度,而这些附加的维度会在基本维度的每个组合值方面自然地取得唯一的值。如果附加的维度因为导致生成另外的事实行而违背了这个基本的粒度定义,那么必须对粒度定义进行修改以适应这个维度的情景。
   确定将哪些事实放到事实表中。粒度声明有助于稳定相关的考虑。事实必须与粒度吻合。在考虑可能存在的事实时,可能会发现仍然需要调整早期的粒度声明和维度选择
   维度建模中有一些比较重要的概念,理解了这些概念,基本也就理解了什么是维度建模。
   额,看了这一句,其实是不太容易理解到底什么是事实表的。
   比如一次购买行为我们就可以理解为是一个事实,下面我们上示例。
                                           图中的订单表就是一个事实表,你可以理解他就是在现实中发生的一次操作型事件,我们每完成一个订单,就会在订单中增加一条记录。
   我们可以回过头再看一下事实表的特征,在维度表里没有存放实际的内容,他是一堆主键的集合,这些ID分别能对应到维度表中的一条记录。
   我们的图中的用户表、商家表、时间表这些都属于维度表,这些表都有一个唯一的主键,然后在表中存放了详细的数据信息。
   下面我们将以电商为例,详细讲一下维度建模的建模方式,并举例如果使用这个模型(这点还是很重要的)。
   假设我们在一家电商网站工作,比如某宝、某东。我们需要对这里业务进行建模。下面我们分析几点业务场景:
   好,基于这几点,我们来设计我们的模型。
   下面就是我们设计出来的数据模型,和之前的基本一样,只不过是换成了英文,主要是为了后面写sql的时候来用。
                                           我就不再解释每个表的作用了,现在只说一下为什么要这样设计。
   首先,我们想一下,如果我们不这样设计的话,我们一般会怎么做?
   如果是我,我会设计下面这张表。你信不信,我能列出来50个字段!其实我个人认为怎么设计这种表都有其合理性,我们不论对错,单说一下两者的优缺点。
                                            先说我们的维度模型: 
    再说我们这张大款表的优缺点: 
   数据模型的建立必须要为更好的应用来服务,下面我先举一个例子,来切实地感受一下来怎么用我们的模型。
    需求 :求出2016年在帝都的男性用户购买的LV品牌商品的总价格。
    实现 :
   维度建模是一种十分优秀的建模方式,他有很多的优点,但是我们在实际工作中也很难完全按照它的方式来实现,都会有所取舍,比如说为了业务我们还是会需要一些宽表,有时候还会有很多的数据冗余。

【总结】维度数据建模过程及举例

2. 大数据分析模型成功关键因素之我见

大数据分析模型成功关键因素之我见
无论在报纸、杂志、机场媒体,还是在酒吧的闲谈中,大数据都成了一个热门话题。每个人都在谈论这个时尚的话题,但迄今为止只有极少数企业真正成功的运用这一技术!导致这一情况的重要原因就是企业对建立可操作的大数据分析模型成功关键因素缺乏深刻的认识。结合多年来与多家全球性公司合作经验,我们认为:为了取得成功,大数据分析模型需要满足如下几种要求: (1)业务相关性。业务相关性是对分析模型的第一个关键要求。分析模型必须能够解决特定的商业问题。那些性能优越,却不能解决商业问题的模型是毫无意义的。显然,在模型开发前,对商业背景和业务问题有全面的理解必不可少。例如,在保险欺诈检测问题中,必须在一开始对如何定义、衡量和管理欺诈有清晰的界定。(2)统计性能。影响模型成功的另一个重要关键因素是模型性能表现。换句话说,从统计意义的角度,分析模型应该显着提高预测或描述的性能。根据分析问题的类型不同,常常采用不同类型的性能评价指标。在客户细分,统计评价指标主要评价对比簇内的相似性与簇间的差异性;在客户流失预测中,主要评价模型是否赋予了潜在流失客户的较高得分。(3)解释性和合理性。解释性是指分析模型容易为决策者所理解,合理性是指模型与专家的预期和业务知识相一致。解释能力和合理性都是主观判断,取决于决策者的知识和经验。这两个因素与统计性能分析之间常常是矛盾的,譬如:复杂神经网络和随机森林模型预测性能较好,但是解释性较差。所以,决策者需要在两者之间寻找平衡点。在信用风险分析等应用场景中,解释性和合理性是非常重要的因素,而在欺诈检测和营销响应建模中,这一因素就不是那么重要了。(4)运行效率。运行效率涉及模型评估、监测、检验及重建过程中所需投入的时间。从这个因素来看,很明显的神经网络或随机森林效率较低,而回归模型和决策树等更有效率。在信用卡欺诈检测等业务场景中,运行效率是非常重要的,因为所有的决策必须在信用卡交易开始后几秒钟内完成。(5)经济成本。经济成本是收集模型所需数据、运行模型以及分析模型结果的过程中所投入的成本,此外还包括引入外部数据和模型的成本。在分析模型的经济回报时,所有的这些成本都必须考虑在内,通常不是能简单直接计算出来的。(6)合规性。在很多行业中,合规性变得越来越重要。合规性是指模型对现有制度和法律的遵从程度。在信用风险领域,分析模型符合巴塞尔协议II和III的规定尤其重要。而在保险行业中,模型则必须遵从欧盟偿付能力协议(Solvency II) 。总结以上,我们简要论述了成功构建数据分析模型的关键因素。如我们所指出的那样,每个因素的重要性取决于模型应用场景。

3. 数据模型的介绍

数据(Data)是描述事物的符号记录。模型(Model)是现实世界的抽象。数据模型(Data Model)是数据特征的抽象,是数据库管理的教学形式框架。数据库系统中用以提供信息表示和操作手段的形式构架。数据模型包括数据库数据的结构部分、数据库数据的操作部分和数据库数据的约束条件。

数据模型的介绍

最新文章
热门文章
推荐阅读