本节首先简要介绍业界常用的模型实施过程,然后重点讲解阿里巴巴OneData模型设计的实际及实施过程。
Kimball模型实施过程
Kimball维度建模主要关注需求分析、高层模型、详细模型和模型审查等环节。构建维度模型通常经历以下几个阶段:
Inmon模型实施过程
Inmon将数据模型视为通往数据仓库其他部分的智能路径。为了协调不同人员的工作和适应不同类型的用户,需要建立一个数据模型,描绘数据仓库各部分的组合方式。Inmon将模型划分为三个层次:ERD(实体关系图)、DIS(数据项集)和物理层。
Inmon建议采用螺旋式开发方法,迭代完成多次需求。ERD模型是抽象的数据模型,描绘企业的整体数据,每次迭代则完成ERD模型的子集。
其他模型实施过程
实际应用中,还会用到一些数据仓库模型层次的划分,这些方法与Kimball和Inmon的方法有一定的相似之处,但不涉及具体的模型表达。例如,业务建模、范畴建模、逻辑建模和物理建模等步骤。
本节重点讲解如何使用OneData体系及其配套工具实施大数据系统的模型建设,并以阿里巴巴的具体业务为例进行说明。
指导方针
首先,进行充分的业务调研和需求分析,这是数据仓库建设的基础。其次,进行数据总体架构设计,根据数据域对数据进行划分,并按照维度建模理论构建总线矩阵、抽象出业务过程和维度。再次,对报表需求进行抽象整理,定义目标体系,并利用OneData工具完成目标规范定义和模型设计。最后,进行代码研发和运维。
实施工作流
数据调研——业务调研
阿里巴巴的业务涵盖电商、数字文娱、导航(高德)、移动互联网服务等多个领域。每个领域内又有多个业务线,如电商领域的淘宝、天猫、天猫国际等。数据仓库需要涵盖所有业务领域,因此需要了解各个业务领域和业务线的共同点和不同点,以及每个业务线可以细分为哪些业务模块和业务流程。业务调研是否充分,直接影响数据仓库建设的成功与否。
在阿里巴巴,一般各个业务领域单独建设数据仓库,业务线由于业务相似和相关性较大,会统一集中建设。
数据调研——需求调研
没有考虑到分析师和业务运营人员的数据需求,仅凭业务调研建设的数据仓库无异于闭门造车。因此,需要了解数据使用者的需求,特别是报表需求。需求调研可以通过与分析师和业务运营人员沟通(邮件、即时消息)或研究现有报表来实现。
架构设计——数据域划分
数据域是指面向业务分析,将业务过程或维度进行抽象的集合。为保证整个系统的生命力,数据域需要进行抽象提炼,并长期维护和更新,但不应轻易变动。
架构设计——构建总线矩阵
在充分的业务调研和需求调研后,需要构建总线矩阵,明确每个数据域下的业务过程及其相关维度。
规范定义
规范定义主要是定义目标体系,包括原子目标、修饰词、时间周期和派生目标。
模型设计
模型设计主要包括维度及属性的规范定义,维表、明细事实表和汇总事实表的模型设计。
总结:OneData的实施过程是一个高度迭代和动态的过程,通常采用螺旋式实施方法。在总体架构设计完成后,开始根据数据域进行迭代式模型设计和评审。在架构设计、规范定义和模型设计等模型实施过程中,都会引入评审机制,以确保模型实施过程的正确性。
请注意,本书中的部分内容来自淘宝(中国)软件有限公司内部项目的惯用词语,如与第三方名称相同,纯属巧合。本文内容来自阿里云,未经允许不得转载。