阿里巴巴大数据实践: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的实施过程是一个高度迭代和动态的过程,一般采用螺旋式实施方法。在总体架构设计完成之后,开始根据数据域进行迭代式模型设计和评审。在架构设计、规范定义和模型设计等模型实施过程中,都会引入评审机制,以确保模型实施过程的正确性。
注:本书中出现的部分专有名词、专业术语、产品名称、软件项目名称、工具名称等,是淘宝(中国)软件有限公司内部项目的惯用词语,如与第三方名称雷同,实属巧合。

 

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515075.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

​谁是信创担当 《2021中国信创生态市场研究报告》今日正式发布

1986年3月,我国启动国家高技术研究发展计划——863计划,我国坚持走信息技术应用自主创新之路,全面拉开序幕。 三十五年来,我国加强自主创新,并在民用实践中不断提升产品及技术可用性,实现从小范围推动到“…

戏说云栖,如果这些名人参加云栖大会。。。

导语:参加云栖大会是怎样一种体验?当人们在谈云栖大会时,到底在聊什么?如果这些名人参加云栖大会,他们是不是这样想? 看你脑洞清奇,是万中无一的创意奇才~你就是评论区最皮的仔! 上…

如果故障选择了你……

简介: 总以为混沌工程离你很远?但发生故障的那一刻不是由你来选择的,而是那一刻来选择你,你能做的就是为之做好准备。混沌工程在阿里内部已经应用多年,而ChaosBlade这个开源项目是阿里多年来通过注入故障来对抗故障的经…

存储基础:磁盘 IO 为什么总叫你对齐?

‍‍来源 | 奇伢云存储头图 | 下载于ICphoto存储 IO 重要的一个知识点划重点:存储 IO 要对齐。资深存储人员为啥总叫你注意 IO 对齐的?机械磁盘 IO 为什么要 512 对齐呢,SSD 盘为啥要 4K 对齐?不对齐又会如何?重要的知…

如何理解这6种常见设计模式?

简介: 设计模式能够帮助我们优化代码结构,让代码更优雅灵活。有哪些常见的设计模式?如何合理运用?本文分享作者对工厂模式、单例模式、装饰模式、策略模式、代理模式和观察者模式的理解,介绍每种模式的模式结构、优缺点…

腾讯云~Redis6.2.0 集群 主从复制_搭建

文章目录1. 部署划分2. 单机安装Redis3. 创建配置/数据/日志目录4. 修改配置文件5. redis启动6. 登录查看信息7. 读写分离1. 部署划分 IP角色192.168.92.100Master192.168.92.101Slave192.168.92.102Slave 2. 单机安装Redis 首先在在3台服务器上分别安装Redis单机环境 Linux环…

构建在线教育弹性高可用视频处理架构实战

简介: 对于负责建设视频处理系统的技术团队而言,这样的业务场景就留给了他们一系列的挑战。 前言 近些年,在线教育行业飞速发展,为整个社会的知识传播提供了前所未有的便利性。通过多种形式的在线教育平台,学员与教师…

Fortinet不断践行安全平台的战略保持长效增长

IDC 曾对全球 TOP 2000 的企业 CEO 做调查,结果显示,全球 2/3 的CEO将数字化转型作为企业战略的核心。特别是在后疫情下,数字化如何帮助企业更好发展,已成为当下关键的发展趋势。 可随着企业的数字化程度越来越高,背后…

一文解开java中字符串编码的小秘密

简介: 在本文中你将了解到Unicode和UTF-8,UTF-16,UTF-32的关系,同时你还会了解变种UTF-8,并且探讨一下UTF-8和变种UTF-8在java中的应用。 简介 在本文中你将了解到Unicode和UTF-8,UTF-16,UTF-32的关系,同时你还会了解变种UTF-8&…

Gartner数据劲爆:阿里全球第三,华为中国第二!

看了一份数据,非常振奋人心,给大家分享一下。国外著名信息分析公司 Gartner,4月21号发布了一份数据,瞬间引发了朋友圈是刷屏。这份数据是讲什么的呢?云计算!可能由于疫情,很多公司上云的热情变得…

程序员:写作能收获什么?

简介: 很多程序员已经通过自己的个人博客或者公众号来进行技术沉淀,记录自己的成长。越来越多的程序员们也开始意识到了写作的重要性。程序员为什么需要写作?写作能带来什么收获?又有哪些额外的惊喜?本文介绍三位长期坚…

腾讯云~Redis6.2.6 伪集群 哨兵模式_搭建

文章目录一、redis准备3节点1. 创建目录2. 节点1~配置3. 节点2~配置4. 节点3~配置5. 启动redis二、新增sentinel配置1. sentinel_01.conf2. sentinel_02.conf3. sentinel_03.conf4. sentinel 启动5. sentinel 监控6. 哨兵验证一、redis准备3节点 1. 创建目录 mkdir /usr/loca…

教你 4 步搭建弹性可扩展的 WebAPI

简介: 本文整理自《Serverless 技术公开课》,关注“Serverless”公众号,回复“入门”,即可获取 Serverless 系列文章 PPT。 作者 | 萧起 阿里云云原生团队 本文整理自《Serverless 技术公开课》,关注“Serverless”公…

从 0 到 1,高德 Serverless 平台建设及实践

来源 | Serverless作者 | 邓学祥头图 | 下载于东方IC导读:高德从 FY21 财年开始启动 Serverless 建设,至今一年了,高德 Serverless 业务的峰值超过十万 qps 量级,平台从 0 到 1,qps 从零到十万,成为阿里集团…

看动画学算法之:排序-快速排序

简介: 快速排序也采用的是分而制之的思想。那么快速排序和归并排序的区别在什么地方呢? 归并排序是将所有的元素拆分成一个个排好序的数组,然后将这些数组再进行合并。 而快速排序虽然也是拆分,但是拆分之后的操作是从数组中选出一…

思考、创新、坚持——阿里做了七年前端,我的成长经验分享

在成长的未知道路上,我们总会遇到各种各样的问题,但是,所有的迷茫与逆境都能够帮助我们成长,我们要抓住每一个机会让自己进步,而不是徘徊不前。 淘系前端开发同学——林晚,今天就来和大家分享他这七年的成长…

存储进阶:怎么才能保证 IO 数据的安全?

来源 | 奇伢云存储头图 | 下载于视觉中国写成功了数据就安全了吗?思考一个问题:写数据做到什么程度才叫安全了?就是:用户发过来一个写 IO 请求,只要你给他回复了 “写成功了”,那么无论机器发生掉电&#x…

解决SpringBoot测试提示Failed to resolve org.junit.platform:junit-platform-launcher:1.5.2

解决SpringBoot测试提示Failed to resolve org.junit.platform:junit-platform-launcher:1.5.2 解决方案&#xff1a;只需要添加:junit-platform-launcher依赖即可 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-s…

设计稿生成代码与 Serverless 的前世今生与未来!

简介&#xff1a; 云栖大会云上 Hello World 活动火热进行中&#xff01;每位参与者都可收获一份阿里云出品的全球唯一序列号纪念证书&#xff01; 一场脑洞实验 云栖大会云上 Hello World 活动火热进行中&#xff01;每位参与者都可收获一份阿里云出品的全球唯一序列号纪念证…

ARMS在APM工具选型中的实践

简介&#xff1a; 当前的系统在数字化转型需求以及互联网架构实施的影响下&#xff0c;越来越普遍地使用了微服务架构&#xff0c;我们在享受微服务带来的好处&#xff08;开发效率高&#xff0c; 独立部署&#xff0c; 水平扩展&#xff0c; 故障与资源隔离等等&#xff09;外…