阿里巴巴大数据实践—阿里巴巴的数据模型实践综述

来源:数智化转型俱乐部

阿里巴巴集团很早就已经把大数据作为其战略目标实施,而且其各个业务也非常依赖数据支撑运营,那么阿里巴巴究竟采取何种方法构建自己的数据仓库模型呢?阿里巴巴的数据仓库模型建设经历了多个发展阶段。

1.完全应用驱动时代

第一个阶段:完全应用驱动的时代,阿里巴巴的第一代数据仓库系统构建在Oracle上,数据完全以满足报表需求为目的,将数据以与源结构相同的方式同步到Oracle(称作ODS层),数据工程师基于ODS数据进行统计,基本没有系统化的模型方法体系,完全基于对Oracle数据库特性的利用进行数据存储和加工,部分采用一些维度建模的缓慢变化维方式进行历史数据处理。这时候的数据架构只有两层,即ODS+DSS。

2.四层模型架构时代

第二个阶段:随着阿里巴巴业务的快速发展,数据量也在飞速增长,性能成为一个较大的问题,因此引入了当时MPP架构体系的Greenplum,同时阿里巴巴的数据团队也在着手进行一定的数据架构优化,希望通过一些模型技术改变烟囱式的开发模型,消除一些冗余,提升数据的一致性。来自传统行业的数据仓库工程师开始尝试将工程领域比较流行的ER模型+维度模型方式应用到阿里巴巴集团,构建出一个四层的模型架构,即ODL(操作数据层)+BDL(基础数据层)+IDL(接口数据层)+ADL(应用数据层)。ODL和源系统保持一致;BDL希望引入ER模型,加强数据的整合,构建一致的基础数据模型;IDL基于维度模型方法构建集市层;ADL完成应用的个性化和基于展现需求的数据组装。在此期间,我们在构建ER模型时遇到了比较大的困难和挑战,互联网业务的快速发展、人员的快速变化、业务知识功底的不够全面,导致ER模型设计迟迟不能产出。至此,我们也得到了一个经验:在不太成熟、快速变化的业务面前,构建ER模型的风险非常大,不太适合去构建ER模型。

3.公共层模型数据架构体系时代

第三个阶段:阿里巴巴集团的业务和数据还在飞速发展,这时候迎来了以Hadoop为代表的分布式存储计算平台的快速发展,同时阿里巴巴集团自主研发的分布式计算平台MaxCompute也在紧锣密鼓地进行着。我们在拥抱分布式计算平台的同时,也开始建设自己的第三代模型架构,这时候需要找到既适合阿里巴巴集团业务发展,又能充分利用分布式计算平台能力的数据模型方式。我们选择了以Kimball的维度建模为核心理念的模型方法论,同时对其进行了一定的升级和扩展,构建了阿里巴巴集团的公共层模型数据架构体系。

数据公共层建设的目的是着力解决数据存储和计算的共享问题。阿里巴巴集团当下已经发展为多个BU,各个业务产生庞大的数据,并且数据每年以近2.5倍的速度在增长,数据的增长远远超过业务的增长,带来的成本开销也是非常令人担忧的。

阿里巴巴数据公共层建设的指导方法是一套统一化的集团数据整合及管理的方法体系(在内部这一体系称为“OneData”),其包括一致性的指标定义体系、模型设计方法体系以及配套工具。注:本书中出现的部分专有名词、专业术语、产品名称、软件项目名称、工具名称等,是淘宝(中国)软件有限公司内部项目的惯用词语,如与第三方名称雷同,实属巧合。

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值