数据模型篇之阿里巴巴数据整合及管理体系

第9章 阿里巴巴整合及管理体系

  OneData的设计是为了建设统一的、规范化的数据接人层( ODS )和数据中间层( DWD和DWS ),通过数据服务和数据产品,完成服务于阿里巴巴的大数据系统建设 ,即数据公共层建设。提供标准化的( Standard )、共享的( Shared )、数据服务( Service )能力,降低数据互通成本,释放计算、存储、人力等资源,以消除业务和技术之痛。

1. OneData体系架构

在这里插入图片描述

  • 业务板块

由于阿里巴巴集团业务生态庞大,所以根据业务的属性划分出几个相对独立的业务板块,业务板块之间的指标或业务重叠性较小。如电商业务板块涵盖淘系、 B2B系和 AliExpess系等。

  • 规范定义

规范定义指以维度建模作为理论基础 构建总线矩阵,划分和定义数据域、业务过程、维度、度量 原子指标、修饰类型、修饰词、时间周期、派生指标

在这里插入图片描述

名词术语解释
数据域指面向业务分析,将业务过程或者维度进行抽象的集合。其中,业务过程可以概括为一 个个不可拆分的行为事件,在业务过程之下,可以定义指标;维度是指度数据域的环境,如买家下单事件,买家是维度。为保障整个体系的生命力,数据域是需要抽象提炼,并且长期维护和更新的,但不轻易变动。在划分数据域时,既能涵盖当前所有的业务需求,又能在新业务进入时无影响地被包含进已有的数据域中和扩展新的数据域
业务过程指企业的业务活动事件,如下单、支付、退款都是业务过程。请注意,业务过程是一个不可拆分的行为事件,通俗地讲,业务过程就是企业活动中的事件
时间周期用来明确数据统计的时间范用或者时间点,如最近 30 天、自然周、截至当日等
修饰类型是对修饰词的一种抽象划分。修饰类型从属于某个业务域,如日志域的访问终端类型涵盖无线端、 PC端等修饰词
修饰词指除了统计维度以外指标的业务场景限定抽象。修饰词隶属于一种修饰类型,如在日志域的访问终端类型下,有修饰词 PC 端、无线端等
度量/原子指标原子指标和度自含义相同,基于某一业务事件行为下的度量,是业务定义中不可再拆分的指标,具有明确业务含义的名词 ,如支付金额
维度维度是度量的环境,用来反映业务的一类属性,这类属性的集合构成一个维度也可以称为实体对象。维度属于一个数据域,如地理维度(其中包括国家、地区、省以及城市等级别的内容)、时间维度(其中包括年、季、月、周、日等级别的内容)
维度属性维度属性隶属于一个维度,如地理维度里面的国家名称、同家 ID 、省份名称等都属于维度属性
派生指标派生指标= 一个原子指标+多个修饰词(可选)+时间周期。可以理解为对原子指标业务统计范围的圈定。如原子指标:支付金额,最近1天海外买家支付金额则为派生指标(最近1天为时间周期,海外为修饰词,买家作为维度,而不作为修饰词)
  • 模型设计

(1)指导理论

维度建模理论:基于维度数据模型总线架构,构建一致性的维度和事实。

(2)模型层次
在这里插入图片描述

① 操作数据层(ODS)
功能:同步;结构化;累积历史、清洗
② 公共维度模型层(DM):明细数据层(DWD)+汇总数据层(DWS)
功能:组合相关和相似数据;公共指标统一加工;建立一致性维度
③ 应用数据层( DS )
功能:个性化指标加工;基于应用的数据组装

(3)基本原则

高内聚和低辑合
核心模型与扩展模型分离
公共处理逻辑下沉及单一
成本与性能平衡
数据可回滚
一致性
命名清晰、可理解

2.模型实施

  • 业界常用模型实施过程

(1)Kimball 模型实施过程

高层模型
详细模型
模型审查、再设计和验证
提交 ETL 设计和开发
参考:Ralph Kimball, The DataWarehouse Lifecycle Toolkit

(2)Inmon 模型实施过程

三个层次:
ERD (Entity Relationship Diagram ,实体关系图)层
DIS (Data Item Set 数据项集)层
物理层(Physical Model ,物理模型)
参考:Inmon, Building the Data Warehouse

(3)其他模型实施过程

业务建模,生成业务模型
领域建模,生成领域模型
逻辑建模,生成逻辑模型
物理建模,生成物理模型

  • OneData模型实施过程
    (1)指导方针

首先,在建设大数据数据仓库时,要进行充分的业务调研和需求分析。
其次,进行数据总体架构设计,主要根据数据域对数据进行划分;按照维度建模理论,构建总线矩阵、抽出业务过程和维度。
再次,对报表需求进行抽象整理出相关指标体系,使用 OneData 工具完成指标规范定义和模型设计。
最后,就是代码研发和运维。

(2)实施工作流
OneDatade的实施过程是一个高度迭代和动态的过程,一般采用螺旋式实施方法。
在这里插入图片描述

① 数据调研
业务调研
需求调研
②架构设计
数据域划分
构建总线矩阵
③ 规范定义
主要定义指标体系,包括原子指标、修饰词、时间周期和派生指标。
④ 模型设计
主要包括维度及属性的规范定义,维表、明细事实表和汇总事实表的模型设计。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
阿⾥巴巴⼤数据之路 阿⾥巴巴⼤数据之路——数据技术 数据技术 ⼀、整体架构 ⼀、整体架构      从下⾄上依次分为数据采集层、数据计算层、数据服务层、数据应⽤层    数据采集层:以DataX为代表的数据同步⼯具和同步中⼼    数据计算层:以MaxComputer为代表的离线数据存储和计算平台    数据服务层:以RDS为代表的数据库服务(接⼝或者视图形式的数据服务)    数据应⽤层:包含流量分析平台等数据应⽤⼯具 ⼆、数据采集(离线数据同步) ⼆、数据采集(离线数据同步)   数据采集主要分为⽇志采集和数据库采集。⽇志采集暂略(参考书籍原⽂)。我们主要运⽤的是数据库采集(数据库同步)。   通常情况下,我们需要规定原业务系统表增加两个字段:创建时间、更新时间(或者⾄少⼀个字段:更新时间)   数据同步主要可以分为三⼤类:直连同步、数据⽂件同步、数据库⽇志解析同步   1.直连同步     通过规范好的接⼝和动态连接库的⽅式直接连接业务库,例如通过ODBC/JDBC进⾏直连     当然直接连接业务库的话会对业务库产⽣较⼤压⼒,如果有主备策略可以从备库进⾏抽取,此⽅式不适合直接从业务库到数仓的情景   2.数据⽂件同步     从源系统⽣成数据⽂本⽂件,利⽤FTP等传输⽅式传输⾄⽬标系统,完成数据的同步     为了防⽌丢包等情况,⼀般会附加⼀个校验⽂件 ,校验⽂件包含数据量、⽂件⼤⼩等信息     为了安全起见还可以加密压缩传输,到⽬标库再解压解密,提⾼安全性   3.数据库⽇志同步     主流数据库都⽀持⽇志⽂件进⾏数据恢复(⽇志信息丰富,格式稳定),例如Oracle的归档⽇志   (数据库相关⽇志介绍,参考:)    4.阿⾥数据仓库同步⽅式     1)批量数据同步     要实现各种各样数据源与数仓的数据同步,需要实现数据的统⼀,统⼀的⽅式是将所有数据类型都转化为中间状态,也就是字符串类型。以此来实现数据格式的统⼀。     产品——阿⾥DataX:多⽅向⾼⾃由度异构数据交换服务产品,产品解决的主要问题:实现跨平台的、跨数据库、不同系统之间的数据同步及交互。     产品简介:     开源地址:     更多的介绍将会通过新开随笔进⾏介绍!(当然还有其他主流的数据同步⼯具例如kettle等!)     2)实时数据同步     实时数据同步强调的是实时性,基本原理是通过数据库的⽇志(MySQL的bin-log,Oracle的归档⽇志等)实现数据的增量同步传输。     产品——阿⾥TimeTunnel(简称TT)。TT产品本质是⼀个⽣产者、消费者模型的消息中间件     3)常见问题       1.增量数据与全量数据的合并         主要的场景是数据同步中周期全量同步,对应的解决⽅案是每次只同步变更的数据,然后和上⼀周期合并,形成最新的全量数据(选择此⽅案的原因是绝⼤多 数⼤数据平台不⽀持update操作)         具体的⽅案主要有union的联合操作(可以通过⽣成增量中间表detal)与阿⾥主推的全外连接full outer join+全量覆盖insert overwrite的形式。实例参考如下: SQL的Join语法有很多, inner join(等值连接) 只返回两个表中联结字段相等的⾏, left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录, right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录, 假设我们有两张表。Table A 是左边的表。Table B 是右边的表。其各有四条记录,其中有两条记录name是相同的,如下所⽰: A表 id name 1 Pirate 2 Monkey 3 Ninja 4 Spaghetti B表 id name 1 Rutabaga 2 Pirate 3 Darth Vade 4 Ninja 让我们看看不同JOIN的不同。 FULL [OUTER] JOIN (1) SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name TableA.name = TableB.name 的情况,A和B的交集有两条数据,那么 FULL OUTER JOIN的结果集, 应该是2+2+2=6条,即上⾯的交集,再加剩下的四条数据,没有匹配,以null补全。 结果集 (TableA.) (TableB.) id name id name 1 Pirate 2 Pirate 2 Monkey null null 3 Ninja 4 Ninja 4 Spaghetti null null null null 1 Rutabag
阿里集团数据研发体系-数据模型设计规范.docx是阿里集团为了保证数据研发工作的统一性和高效性而制定的一份文档。该文档详细介绍了数据模型设计的规范和要求。 首先,该规范要求数据模型设计必须具备可扩展性和可维护性。数据模型的设计应考虑到未来的业务需求变化,能够快速地进行扩展和修改。同时,设计必须易于理解和维护,保证各团队成员的协同工作。 其次,该规范强调了数据模型设计的高质量要求。设计过程中需要考虑到数据的完整性、准确性和一致性。模型中的数据应符合业务实际情况,要进行充分的数据验证和校验,确保数据的可靠性。 此外,该规范还规定了数据模型设计的标准化要求。设计过程中应遵循统一的设计原则和规范,确保模型的一致性和规范化。其中包括命名规范、字段类型和长度规范、索引和约束规范等。 最后,该规范提及了数据模型设计的文档要求。设计人员需要编写详细的设计文档,包括模型图、数据字典、设计思路等,并以可读性强和易于理解的方式进行描述和解释。 通过制定《阿里集团数据研发体系-数据模型设计规范》,阿里集团能够确保数据研发工作的规范性和高效性。该规范的实施将提高数据模型的质量,促进各团队之间的协作,为业务创新提供可靠的数据支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Listen·Rain

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值