文档章节

淘宝大数据之路

阿里云官方博客
 阿里云官方博客
发布于 2017/05/12 16:55
字数 2753
阅读 32
收藏 1

免费开通大数据服务:https://www.aliyun.com/product/odps

转载yanchun

2003年至今淘宝网从零开始飞速发展,走过了13个年头,支撑淘宝业务野蛮式生长背后是一套不断完善的技术平台,淘宝大数据平台,就是其中非常重要的一个组成部分,承担了数据采集、加工处理、数据应用的职责,淘宝大数据平台一路到今天,总共经历了三个大的阶段(如图1),不同阶段面临了不一样的挑战,随着我的理解回顾下这些年大数据所经历过的故事:

图1 数据仓库平台发展三个阶段

第一个阶段:RAC时代

      2008年前的单节点ORACLE,这个时候还称不上数据仓库,只能承担简单的数据处理工作,也基本上没有数据仓库架构,随着业务的飞速发展,很快单节点的ORACLE因无扩展能力,计算存储能力就应付不了了;

      2008年之后,为了应对日益增长的数据量,RAC集群应运而生,从一开始的4个节点逐步发展到20个节点,成为当时号称全球最大的RAC集群,在ORACLE官网上也作为了经典案例,RAC集群当时不管在稳定性、安全性、存储能力还是计算能力都表现非常优秀,随之而来第一代数据仓库架构也逐步形成;

      这个阶段数据的ETL过程主要通过ORACLE的存储过程实现,大量的SQL脚本任务运行在集群上,任务运行的调度过程是通过Crontab来进行控制管理,随着任务数的不断增长,这时面临最大的问题是如何保证这成千上万的脚本每天是正常运行,出错后如何及时发现解决,这在当时天天困扰着开发,一直处于每天救火的状态,也就是这个时候,为了解决这个难题,数据团队开始自主研发调度系统,并将之命名为天网调度系统,形成了如下第一代调度系统的架构和原型:


图2 天网调度系统架构


图3 天网调度系统原型

第二个阶段:HADOOP时代

      调度系统的上线很好的解决了每天救火的状态,但是好景不常在;2008年,淘宝B2C新平台淘宝商城(天猫前身)上线;2009年,淘宝网成为中国最大的综合卖场;2010年1月1日 淘宝网发布全新首页,此后聚划算上线,然后又推出一淘网;业务的飞速发展给数据带来的挑战,就是每天处理的数据量也在不断的翻倍,首先碰上瓶颈的是RAC集群针对网站的访问日志数据已经搞不定了,RAC集群虽然有一定的扩展能力,但是无法无限制的线性扩展,并且扩容就意味着高昂的机器成本和软件成本,为了应对日益增长的数据量,2009年数据团队开始探索新的技术领域,同时探索应用了两个方向的技术:Greenplum 和 Hadoop,主要的场景就是用来解决海量的日志数据,Hadoop因其良好的线性扩展能力,并且是开源的系统,能够基于官方版本二次开发适合淘宝的特性功能,逐渐占据了优势;

      2010年初,最终确定放弃Greenplum和RAC,全面使用Hadoop,也就是这个时候我加入了淘宝数据团队,之后不久数据团队启动了去O项目,整个数据团队历经一个多月时间,风风火火将所有RAC上的存储过程,改写成HIVE和MR脚本,并将所有的数据都搬到了Hadoop上,Hadoop集群命名为云梯1,形成了Hadoop时代的数据仓库架构,如下图4:

图4 云梯1数据仓库架构

      进入2010年底,数据应用场景越来越多,2010年底发布了量子统计(淘宝官方版),2011年4月1日淘宝发布了数据魔方,将数据对外进行开放,广告和搜索团队也大量将数据应用到业务系统中,对内的淘数据产品也越来越成熟,数据的大量应用,带来的一个问题是如何保证数据的准确性和稳定性,需要从数据采集到数据加工及最终的数据应用全流程的保障;

      这时第一个环节就碰到了问题,数据同步,业务系统有各种各样的数据源,ORACLE、MYSQL、日志系统、爬虫数据,当时有多种同步的方式,有通过SHELL脚本的、也有通过Jdbcdump的、还有别的方式,当时负责数据同步的同学,最痛苦的事情莫过于,业务系统进行数据库变更时,各种同步任务需要不断的调整,每次调整几百个任务极其容易出错,当时为了解决数据同步的问题,数据工具团队开始研发专门的同步工具DATAX,也就是现在同步中心的前身,同时还研发了针对DB的实时同步工具Dbsync和针对日志的TT,现在统一叫TT,如图5:

图5 云梯1数据同步工具

      天网调度系统也不断进行完善,开始支持小时调度、甚至分钟调度,并且集成了自动告警等一系统功能,升级为在云端,相关的DQC系统、数据地图、血缘分析等周边系统在这个时期不断推出,数据团队也不在断壮大。

      在这期间,双十一网购狂欢节的影响力不断放大,已成为中国电子商务行业的年度盛事,并且逐渐影响到国际电子商务行业,不断刷新的成交记录刺激着所有人的神经。这时为了直观的提供第一线的数据给到决策层,产生了数据直播间的数据应用,需要活动当天及统计相关的数据,2013年前,采用的方式都是基于Hadoop一个小时计算一次的方式进行数据计算,数据存在一定的延迟性,从2013年开始,数据团队开始投入研发实时计算平台,也就是现在的galaxy,并在当年的双11上线了第一个应用,双11数据直播间实时版本。

 

第三个阶段:MaxCompute(原ODPS)自主研发的大数据平台时代

      就在Hadoop大量应用的同时,另外一个项目正在悄悄进行,那就是阿里云团队自主研发的ODPS系统,ODPS所有的代码都由阿里自己完成,在统一、安全、可管理、能开放方面相比于Hadoop做了大量的完善,ODPS系统命名为云梯二,从2010年开始,在很长一段时间内,一直处于云梯一和云梯二并存的状态;

      这期间,集团为更好的打造数据生态,成立了CDO,统一数据平台事业群,专门投入研发大数据平台的相关工具,包含计算存储平台、周边的调度系统、元数据血缘系统、数据质量管理系统、还有DQC等;

      这个状态持续到2013年4月, 这时出现了一个新的挑战,Hadoop集群的上限是5000个节点,按照当时数据增长数据的推算,集群存储即将撞墙,但是基于当时的状况,ODPS无法完全替代Hadoop,于是当时启动了一个规模非常庞大的项目,叫做“5K项目”,同时进行云梯一和云梯二的跨机房集群项目,当时世界上没有任何一家公司具备跨机房的能力,存在非常大的技术挑战,最后项目历经近5个月的周期,攻克大量技术难点,项目取得了成功;

      在“5K项目”成功的同时,ODPS架构逐步成熟,于是全集团又启动了一个规模更庞大的项目,叫做“登月项目”,将全集团的数据加工应用全部搬移到ODPS,项目一直持续到2015年,Hadoop正式下线,淘宝大数据彻底进入ODPS时代,整个数据的生态圈也越来越丰富,同时,阿里云开始对外提供云服务,其中大数据解决方案作为其中重要的组成部分,也开始对外提供;

      时间回到2013年时,当时淘宝数据团队的每个成员都在忙于应对各类需求,每天都有做不完的各类报表,当时为了解救自己,数据团队开始摸索探索新的数据服务模式,思考如何解决数据冗余、口径统一、数据交换、用户自助等一系统问题,最终通过一段时间思考和摸索,开始研发孔明灯产品,针对不同的数据角色形成了一套完整的数据解决方案,如下:


图6 孔明灯解决方案

      孔明灯产品的出现,对传统的开发模式做了个升级,对整个大数据建设也起到了非常好的管理作用,当时在淘宝内部,覆盖了大部分的业务BU,对数据使用成本的降低,释放了大量的人力,同时也吸引了外部用户高德地图、阿里健康基于这套体系进行大数据建设;

      2014年,集团公共层项目启动,集团内的各个数据团队,开始进行数据内容重构和整合,同时,CCO正式成立,七公来到CCO带领技术团队,薛奎来到CCO带领数据仓库团队,CCO也基于ODPS启动公共层建设项目,集成了包括淘系、1688、ICBU、AE相关的服务数据,公共层建设的同时完成了登月项目,并且与DIC团队、RDC团队协同建设了服务数据门户DIGO产品;

      今天,数据在阿里巴巴已经深入到每个角落,阿里云有强大的算法团队、大批的数据接口人、分析师,每天的工作都与数据产生关联,随着人工智能的不断深入使用,业务系统的不断创新迭代,对数据的采集、加工、应用又提出了新的要求,如何更好的提供数据服务,面对未来我们需要思考更多,数据将进入一个新的时代-数据智能时代。

本文转载自:https://www.aliyun.com/product/odps?spm=5176.8142029.388261.127.XOYvZm

阿里云官方博客
粉丝 186
博文 1908
码字总数 4691697
作品 0
杭州
程序员
私信 提问
各大互联网公司架构演进之路汇总

大型网站架构演化历程 大型网站架构技术一览 Web 支付宝和蚂蚁花呗的技术架构及实践 支付宝的高可用与容灾架构演进 聚划算架构演进和系统优化 (视频+PPT) 淘宝交易系统演进之路 (专访) ...

星逝流
2016/02/16
518
3
Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈与熟练的掌握Scala语言【大数据Spark

Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈 大数据的概念与应用,正随着智能手机、平板电脑的快速流行而日渐普及,大数据中图的并行化处理一直是一个非常热门的话题。图计算正在被广泛地...

Spark亚太研究院
2014/08/29
1K
0
SegmentFault D-Day 北京:后端

SegmentFault D-Day 介绍 SegmentFault D-Day,全称 SegmentFault Developer Day,是由 SegmentFault 发起主办的系列技术沙⻰。自 2014 年启动,D-Day 技术沙龙已在北、上、广、深、杭、等 ...

SegmentFault
2016/02/29
3
0
SegmentFault D-Day 北京:后端

SegmentFault D-Day 介绍 SegmentFault D-Day,全称 SegmentFault Developer Day,是由 SegmentFault 发起主办的系列技术沙⻰。自 2014 年启动,D-Day 技术沙龙已在北、上、广、深、杭、等 ...

SegmentFault
2016/02/29
262
1
400余份阿里珍贵技术资料限时免费下载(持续更新中)

400余份阿里珍贵技术资料限时免费下载(持续更新中) 2017年,你是否有一个小目标,打算在新的一年事业更上一层楼、代码写的更优美、对互联网生态拥有更多宏观的战略性了解? 小编精心挑选2...

阿里云官方博客
2017/03/16
3.6K
7

没有更多内容

加载失败,请刷新页面

加载更多

计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
今天
5
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
今天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
今天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
今天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部