乐趣区

关于javascript:阿里巴巴大数据实践OneData模型实施介绍

如何从具体的需要或我的项目转换为可施行的解决方案,如何进行需要剖析、架构设计、具体模型设计等,则是模型施行过程中探讨的内容。本节先简略介绍业界罕用的模型施行过程,而后重点解说阿里巴巴 OneData 模型设计实践及施行过程。

1.业界罕用的模型施行过程

**Kimball 模型施行过程
**
Kimball 维度建模次要探讨需要剖析、高层模型、具体模型和模型审查整个过程。

构建维度模型个别要经验三个阶段:第一个阶段是高层设计期间,定义业务过程维度模型的范畴,提供每种星形模式的技术和性能形容;第二个阶段是具体模型设计期间,对每个星形模型增加属性和度量信息;第三个阶段是进行模型的审查、再设计和验证等工作,第四个阶段是产生具体设计文档,提交 ETL 设计和开发。

高层模型:高层模型设计阶段的间接产出指标是创立高层维度模型图,它是对业务过程中的维表和事实表的图形形容。确定维表创立初始属性列表,为每个事实表创立提议度量。

具体模型:具体的维度建模过程是为高层模型填补缺失的信息,解决设计问题,并一直测试模型是否满足业务需要,确保模型的齐备性。确定每个维表的属性和每个事实表的度量,并确定信息起源的地位、定义,确定属性和度量如何填入模型的初步业务规定。

模型审查、再设计和验证:本阶段次要招集相干人员进行模型的审查和验证,依据审查后果对具体维度进行再设计。

提交 ETL 设计和开发:最初,实现模型具体设计文档,提交 ETL 开发人员,进入 ETL 设计和开发阶段,由 ETL 人员实现物理模型的设计和开发。

上述内容次要援用自 Ralph Kimball 等的 The Data Warehouse Lifecycle Toolkit,具体细节请参考原著述。

Inmon 模型施行过程

Inmon 对数据模型的定位是:扮演着通往数据仓库其余局部的智能路线图的角色。因为数据仓库的建设不是欲速不达的,为了协调不同人员的工作以及适应不同类型的用户,十分有必要建设一个路线图——数据模型,形容数据仓库各局部是如何联合在一起的。

Inmon 将模型划分为三个档次,别离是 ERD(Entity Relationship Diagram,实体关系图)层、DIS(Data Item Set,数据项集)层和物理层(Physical Model,物理模型)。

ERD 层是数据模型的最高层,该层形容了公司业务中的实体或主题域以及它们之间的关系;DIS 层是中间层,该层形容了数据模型中的关键字、属性以及细节数据之间的关系;物理层是数据建模的最底层,该层形容了数据模型的物理个性。

Inmon 对于构建数据仓库模型倡议采纳螺旋式开发方法,采纳迭代形式实现屡次需要。但须要采纳对立的 ERD 模型,才可能将每次迭代的后果整合在一起。ERD 模型是高度形象的数据模型,形容了企业残缺的数据。而每次迭代则是实现 ERD 模型的子集,通过 DIS 和物理数据模型实现。

上述内容次要援用自 Inmon 的 Building the Data Warehouse,具体细节请参考原著述。

其余模型施行过程

在实践中常常会用到如下数据仓库模型档次的划分,和 Kimball、Inmon 的模型施行实践有肯定的相通性,但不波及具体的模型表白。

业务建模,生成业务模型,次要解决业务层面的合成和程序化。

领域建模,生成畛域模型,次要是对业务模型进行形象解决,生成畛域概念模型。

逻辑建模,生成逻辑模型,次要是将畛域模型的概念实体以及实体之间的关系进行数据库档次的逻辑化。

物理建模,生成物理模型,次要解决逻辑模型针对不同关系数据库的物理化以及性能等一些具体的技术问题。

2.OneData 施行过程

本节重点解说怎么应用 OneData 这套体系和相配套的工具施行大数据系统的模型建设,在解说中会以阿里巴巴的具体业务进行阐明。

指导方针

首先,在建设大数据数据仓库时,要进行充沛的业务调研和需要剖析。这是数据仓库建设的基石,业务调研和需要剖析做得是否充沛间接决定了数据仓库建设是否胜利。其次,进行数据总体架构设计,次要是依据数据域对数据进行划分;依照维度建模实践,构建总线矩阵、形象出业务过程和维度。再次,对报表需要进行形象整顿出相干指标体系,应用 OneData 工具实现指标标准定义和模型设计。最初,就是代码研发和运维。本文将会重点解说物理模型设计之前(含)步骤的内容。

施行工作流

数据调研——业务调研:整个阿里团体波及的业务涵盖电商、数字娱乐、导航(高德)、挪动互联网服务等畛域。各个领域又涵盖多个业务线,如电商畛域就涵盖了 C 类(淘宝、天猫、天猫国内)与 B 类(阿里巴巴中文站、国内站、速卖通)业务。数据仓库是要涵盖所有业务畛域,还是各个业务畛域单独建设,业务畛域内的业务线也同样面临着这个问题。所以要构建大数据数据仓库,就须要理解各个业务畛域、业务线的业务有什么共同点和不同点,以及各个业务线能够细分为哪几个业务模块,每个业务模块具体的业务流程又是怎么的。业务调研是否充沛,将会间接决定数据仓库建设是否胜利。

在阿里巴巴,个别各个业务畛域单独建设数据仓库,业务畛域内的业务线因为业务类似、业务相关性较大,进行对立集中建设。

数据调研——需要调研:能够设想一下,在没有思考分析师、业务经营人员的数据需要的状况下,依据业务调研建设的数据仓库无疑等于闭门造车。理解了业务零碎的业务后并不代表就能够进行施行了,此刻要做的就是收集数据使用者的需要,能够去找分析师、业务经营人员理解他们有什么数据诉求,此时更多的就是报表需要。

需要调研的路径有两种:一是依据与分析师、业务经营人员的沟通(邮件、IM)获知需要;二是对报表零碎中现有的报表进行钻研剖析。通过需要调研剖析后,就分明数据要做成什么样的。很多时候,都是由具体的数据需要驱动数据仓库团队去理解业务零碎的业务数据,这两者并没有严格的先后顺序。

举例:分析师须要理解大淘宝(淘宝、天猫、天猫国内)一级类目标成交金额。当获知这个需要后,咱们要剖析依据什么(维度)汇总,以及汇总什么(度量),这里类目是维度,金额是度量;明细数据和汇总数据应该怎么设计?这是一个专用的报表吗?是须要积淀到汇总表外面,还是在报表工具中进行汇总?
架构设计——数据域划分:数据域是指面向业务剖析,将业务过程或者维度进行形象的汇合。业务过程能够概括为一个个不可拆分的行为事件,如下单、领取、退款。为保障整个体系的生命力,数据域须要形象提炼,并且长期保护和更新,但不轻易变动。在划分数据域时,既能涵盖以后所有的业务需要,又能在新业务进入时无影响地被蕴含进已有的数据域中或者扩大新的数据域。

架构设计——构建总线矩阵:在进行充沛的业务调研和需要调研后,就要构建总线矩阵了。须要做两件事件:明确每个数据域下有哪些业务过程;业务过程与哪些维度相干,并定义每个数据域下的业务过程和维度。

标准定义:标准定义次要定义指标体系,包含原子指标、修饰词、工夫周期和派生指标。

模型设计:模型设计次要包含维度及属性的标准定义,维表、明细事实表和汇总事实表的模型设计。相干实际详解请参考后续章节。

总结:OneData 的施行过程是一个高度迭代和动静的过程,个别采纳螺旋式施行办法。在总体架构设计实现之后,开始依据数据域进行迭代式模型设计和评审。在架构设计、标准定义和模型设计等模型施行过程中,都会引入评审机制,以确保模型施行过程的正确性。
注:本书中呈现的局部专有名词、专业术语、产品名称、软件项目名称、工具名称等,是淘宝(中国)软件有限公司外部我的项目的习用词语,如与第三方名称雷同,实属偶合。

原文链接
本文为阿里云原创内容,未经容许不得转载。

退出移动版