2003年至今淘寶網(wǎng)從零開始飛速發(fā)展,走過了13個(gè)年頭,支撐淘寶業(yè)務(wù)野蠻式生長(zhǎng)背后是一套不斷完善的技術(shù)平臺(tái)膜钓,淘寶大數(shù)據(jù)平臺(tái),就是其中非常重要的一個(gè)組成部分卿嘲,承擔(dān)了數(shù)據(jù)采集颂斜、加工處理、數(shù)據(jù)應(yīng)用的職責(zé)拾枣,淘寶大數(shù)據(jù)平臺(tái)一路到今天沃疮,總共經(jīng)歷了三個(gè)大的階段(如圖1),不同階段面臨了不一樣的挑戰(zhàn)梅肤,隨著我的理解回顧下這些年大數(shù)據(jù)所經(jīng)歷過的故事:
圖1 數(shù)據(jù)倉(cāng)庫(kù)平臺(tái)發(fā)展三個(gè)階段
第一個(gè)階段:RAC 時(shí)代
2008年前的單節(jié)點(diǎn) ORACLE司蔬,這個(gè)時(shí)候還稱不上數(shù)據(jù)倉(cāng)庫(kù),只能承擔(dān)簡(jiǎn)單的數(shù)據(jù)處理工作姨蝴,也基本上沒有數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)俊啼,隨著業(yè)務(wù)的飛速發(fā)展,很快單節(jié)點(diǎn)的 ORACLE 因無擴(kuò)展能力左医,計(jì)算存儲(chǔ)能力就應(yīng)付不了了授帕;
2008年之后,為了應(yīng)對(duì)日益增長(zhǎng)的數(shù)據(jù)量浮梢,RAC 集群應(yīng)運(yùn)而生跛十,從一開始的4個(gè)節(jié)點(diǎn)逐步發(fā)展到20個(gè)節(jié)點(diǎn),成為當(dāng)時(shí)號(hào)稱全球最大的 RAC 集群秕硝,在 ORACLE 官網(wǎng)上也作為了經(jīng)典案例芥映,RAC 集群當(dāng)時(shí)不管在穩(wěn)定性、安全性、存儲(chǔ)能力還是計(jì)算能力都表現(xiàn)非常優(yōu)秀奈偏,隨之而來第一代數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)也逐步形成坞嘀;
這個(gè)階段數(shù)據(jù)的 ETL 過程主要通過 ORACLE 的存儲(chǔ)過程實(shí)現(xiàn),大量的 SQL 腳本任務(wù)運(yùn)行在集群上霎苗,任務(wù)運(yùn)行的調(diào)度過程是通過 Crontab 來進(jìn)行控制管理姆吭,隨著任務(wù)數(shù)的不斷增長(zhǎng),這時(shí)面臨最大的問題是如何保證這成千上萬的腳本每天是正常運(yùn)行唁盏,出錯(cuò)后如何及時(shí)發(fā)現(xiàn)解決内狸,這在當(dāng)時(shí)天天困擾著開發(fā),一直處于每天救火的狀態(tài)厘擂,也就是這個(gè)時(shí)候昆淡,為了解決這個(gè)難題,數(shù)據(jù)團(tuán)隊(duì)開始自主研發(fā)調(diào)度系統(tǒng)刽严,并將之命名為天網(wǎng)調(diào)度系統(tǒng)昂灵,形成了如下第一代調(diào)度系統(tǒng)的架構(gòu)和原型:
圖2 天網(wǎng)調(diào)度系統(tǒng)架構(gòu)
圖3 天網(wǎng)調(diào)度系統(tǒng)原型
第二個(gè)階段:HADOOP 時(shí)代
調(diào)度系統(tǒng)的上線很好的解決了每天救火的狀態(tài),但是好景不常在舞萄;2008年眨补,淘寶 B2C 新平臺(tái)淘寶商城(天貓前身)上線;2009年倒脓,淘寶網(wǎng)成為中國(guó)最大的綜合賣場(chǎng)撑螺;2010年1月1日淘寶網(wǎng)發(fā)布全新首頁,此后聚劃算上線崎弃,然后又推出一淘網(wǎng)甘晤;業(yè)務(wù)的飛速發(fā)展給數(shù)據(jù)帶來的挑戰(zhàn),就是每天處理的數(shù)據(jù)量也在不斷的翻倍饲做,首先碰上瓶頸的是 RAC 集群針對(duì)網(wǎng)站的訪問日志數(shù)據(jù)已經(jīng)搞不定了线婚,RAC 集群雖然有一定的擴(kuò)展能力,但是無法無限制的線性擴(kuò)展盆均,并且擴(kuò)容就意味著高昂的機(jī)器成本和軟件成本塞弊,為了應(yīng)對(duì)日益增長(zhǎng)的數(shù)據(jù)量,2009年數(shù)據(jù)團(tuán)隊(duì)開始探索新的技術(shù)領(lǐng)域泪姨,同時(shí)探索應(yīng)用了兩個(gè)方向的技術(shù):Greenplum 和 Hadoop居砖,主要的場(chǎng)景就是用來解決海量的日志數(shù)據(jù),Hadoop 因其良好的線性擴(kuò)展能力驴娃,并且是開源的系統(tǒng),能夠基于官方版本二次開發(fā)適合淘寶的特性功能循集,逐漸占據(jù)了優(yōu)勢(shì)唇敞;
2010年初,最終確定放棄 Greenplum 和 RAC,全面使用 Hadoop疆柔,也就是這個(gè)時(shí)候我加入了淘寶數(shù)據(jù)團(tuán)隊(duì)咒精,之后不久數(shù)據(jù)團(tuán)隊(duì)啟動(dòng)了去 O 項(xiàng)目,整個(gè)數(shù)據(jù)團(tuán)隊(duì)歷經(jīng)一個(gè)多月時(shí)間旷档,風(fēng)風(fēng)火火將所有 RAC 上的存儲(chǔ)過程模叙,改寫成 HIVE 和 MR 腳本,并將所有的數(shù)據(jù)都搬到了 Hadoop 上鞋屈,Hadoop 集群命名為云梯1范咨,形成了 Hadoop 時(shí)代的數(shù)據(jù)倉(cāng)庫(kù)架構(gòu),如下圖4:
圖4 云梯1數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)
進(jìn)入2010年底厂庇,數(shù)據(jù)應(yīng)用場(chǎng)景越來越多渠啊,2010年底發(fā)布了量子統(tǒng)計(jì)(淘寶官方版),2011年4月1日淘寶發(fā)布了數(shù)據(jù)魔方权旷,將數(shù)據(jù)對(duì)外進(jìn)行開放替蛉,廣告和搜索團(tuán)隊(duì)也大量將數(shù)據(jù)應(yīng)用到業(yè)務(wù)系統(tǒng)中,對(duì)內(nèi)的淘數(shù)據(jù)產(chǎn)品也越來越成熟拄氯,數(shù)據(jù)的大量應(yīng)用躲查,帶來的一個(gè)問題是如何保證數(shù)據(jù)的準(zhǔn)確性和穩(wěn)定性,需要從數(shù)據(jù)采集到數(shù)據(jù)加工及最終的數(shù)據(jù)應(yīng)用全流程的保障译柏;
這時(shí)第一個(gè)環(huán)節(jié)就碰到了問題镣煮,數(shù)據(jù)同步,業(yè)務(wù)系統(tǒng)有各種各樣的數(shù)據(jù)源艇纺,ORACLE怎静、MYSQL、日志系統(tǒng)黔衡、爬蟲數(shù)據(jù)蚓聘,當(dāng)時(shí)有多種同步的方式,有通過 SHELL 腳本的盟劫、也有通過 Jdbcdump 的夜牡、還有別的方式,當(dāng)時(shí)負(fù)責(zé)數(shù)據(jù)同步的同學(xué)侣签,最痛苦的事情莫過于塘装,業(yè)務(wù)系統(tǒng)進(jìn)行數(shù)據(jù)庫(kù)變更時(shí),各種同步任務(wù)需要不斷的調(diào)整影所,每次調(diào)整幾百個(gè)任務(wù)極其容易出錯(cuò)蹦肴,當(dāng)時(shí)為了解決數(shù)據(jù)同步的問題,數(shù)據(jù)工具團(tuán)隊(duì)開始研發(fā)專門的同步工具 DATAX猴娩,也就是現(xiàn)在同步中心的前身阴幌,同時(shí)還研發(fā)了針對(duì) DB 的實(shí)時(shí)同步工具 Dbsync 和針對(duì)日志的 TT勺阐,現(xiàn)在統(tǒng)一叫 TT,如圖5:
圖5 云梯1數(shù)據(jù)同步工具
天網(wǎng)調(diào)度系統(tǒng)也不斷進(jìn)行完善矛双,開始支持小時(shí)調(diào)度渊抽、甚至分鐘調(diào)度,并且集成了自動(dòng)告警等一系統(tǒng)功能议忽,升級(jí)為在云端懒闷,相關(guān)的 DQC 系統(tǒng)、數(shù)據(jù)地圖栈幸、血緣分析等周邊系統(tǒng)在這個(gè)時(shí)期不斷推出愤估,數(shù)據(jù)團(tuán)隊(duì)也不在斷壯大。
在這期間侦镇,雙十一網(wǎng)購(gòu)狂歡節(jié)的影響力不斷放大灵疮,已成為中國(guó)電子商務(wù)行業(yè)的年度盛事,并且逐漸影響到國(guó)際電子商務(wù)行業(yè)壳繁,不斷刷新的成交記錄刺激著所有人的神經(jīng)震捣。這時(shí)為了直觀的提供第一線的數(shù)據(jù)給到?jīng)Q策層,產(chǎn)生了數(shù)據(jù)直播間的數(shù)據(jù)應(yīng)用闹炉,需要活動(dòng)當(dāng)天及統(tǒng)計(jì)相關(guān)的數(shù)據(jù)蒿赢,2013年前,采用的方式都是基于 Hadoop 一個(gè)小時(shí)計(jì)算一次的方式進(jìn)行數(shù)據(jù)計(jì)算渣触,數(shù)據(jù)存在一定的延遲性羡棵,從2013年開始,數(shù)據(jù)團(tuán)隊(duì)開始投入研發(fā)實(shí)時(shí)計(jì)算平臺(tái)嗅钻,也就是現(xiàn)在的 galaxy皂冰,并在當(dāng)年的雙11上線了第一個(gè)應(yīng)用,雙11數(shù)據(jù)直播間實(shí)時(shí)版本养篓。
第三個(gè)階段:MaxCompute(原 ODPS) 時(shí)代
就在 Hadoop 大量應(yīng)用的同時(shí)秃流,另外一個(gè)項(xiàng)目正在悄悄進(jìn)行,那就是阿里云團(tuán)隊(duì)自主研發(fā)的 ODPS 系統(tǒng)柳弄,ODPS 所有的代碼都由阿里自己完成舶胀,在統(tǒng)一、安全碧注、可管理嚣伐、能開放方面相比于 Hadoop 做了大量的完善,ODPS 系統(tǒng)命名為云梯二萍丐,從2010年開始轩端,在很長(zhǎng)一段時(shí)間內(nèi),一直處于云梯一和云梯二并存的狀態(tài)逝变;
這期間基茵,集團(tuán)為更好的打造數(shù)據(jù)生態(tài)刻撒,成立了 CDO,統(tǒng)一數(shù)據(jù)平臺(tái)事業(yè)群耿导,專門投入研發(fā)大數(shù)據(jù)平臺(tái)的相關(guān)工具,包含計(jì)算存儲(chǔ)平臺(tái)态贤、周邊的調(diào)度系統(tǒng)舱呻、元數(shù)據(jù)血緣系統(tǒng)、數(shù)據(jù)質(zhì)量管理系統(tǒng)悠汽、還有 DQC 等箱吕;
這個(gè)狀態(tài)持續(xù)到2013年4月, 這時(shí)出現(xiàn)了一個(gè)新的挑戰(zhàn)柿冲,Hadoop 集群的上限是5000個(gè)節(jié)點(diǎn)茬高,按照當(dāng)時(shí)數(shù)據(jù)增長(zhǎng)數(shù)據(jù)的推算,集群存儲(chǔ)即將撞墻假抄,但是基于當(dāng)時(shí)的狀況怎栽,ODPS 無法完全替代 Hadoop,于是當(dāng)時(shí)啟動(dòng)了一個(gè)規(guī)模非常龐大的項(xiàng)目宿饱,叫做“5K 項(xiàng)目”熏瞄,同時(shí)進(jìn)行云梯一和云梯二的跨機(jī)房集群項(xiàng)目,當(dāng)時(shí)世界上沒有任何一家公司具備跨機(jī)房的能力谬以,存在非常大的技術(shù)挑戰(zhàn)强饮,最后項(xiàng)目歷經(jīng)近5個(gè)月的周期,攻克大量技術(shù)難點(diǎn)为黎,項(xiàng)目取得了成功邮丰;
在“5K 項(xiàng)目”成功的同時(shí),ODPS 架構(gòu)逐步成熟铭乾,于是全集團(tuán)又啟動(dòng)了一個(gè)規(guī)模更龐大的項(xiàng)目剪廉,叫做“登月項(xiàng)目”,將全集團(tuán)的數(shù)據(jù)加工應(yīng)用全部搬移到 ODPS片橡,項(xiàng)目一直持續(xù)到2015年妈经,Hadoop 正式下線,淘寶大數(shù)據(jù)徹底進(jìn)入 ODPS 時(shí)代捧书,整個(gè)數(shù)據(jù)的生態(tài)圈也越來越豐富吹泡,同時(shí),阿里云開始對(duì)外提供云服務(wù)经瓷,其中大數(shù)據(jù)解決方案作為其中重要的組成部分爆哑,也開始對(duì)外提供;
時(shí)間回到2013年時(shí)舆吮,當(dāng)時(shí)淘寶數(shù)據(jù)團(tuán)隊(duì)的每個(gè)成員都在忙于應(yīng)對(duì)各類需求揭朝,每天都有做不完的各類報(bào)表队贱,當(dāng)時(shí)為了解救自己,數(shù)據(jù)團(tuán)隊(duì)開始摸索探索新的數(shù)據(jù)服務(wù)模式潭袱,思考如何解決數(shù)據(jù)冗余柱嫌、口徑統(tǒng)一、數(shù)據(jù)交換屯换、用戶自助等一系統(tǒng)問題编丘,最終通過一段時(shí)間思考和摸索,開始研發(fā)孔明燈產(chǎn)品彤悔,針對(duì)不同的數(shù)據(jù)角色形成了一套完整的數(shù)據(jù)解決方案嘉抓,如下:
圖6 孔明燈解決方案
孔明燈產(chǎn)品的出現(xiàn),對(duì)傳統(tǒng)的開發(fā)模式做了個(gè)升級(jí)晕窑,對(duì)整個(gè)大數(shù)據(jù)建設(shè)也起到了非常好的管理作用抑片,當(dāng)時(shí)在淘寶內(nèi)部,覆蓋了大部分的業(yè)務(wù) BU杨赤,對(duì)數(shù)據(jù)使用成本的降低敞斋,釋放了大量的人力,同時(shí)也吸引了外部用戶高德地圖望拖、阿里健康基于這套體系進(jìn)行大數(shù)據(jù)建設(shè)渺尘;
2014年,集團(tuán)公共層項(xiàng)目啟動(dòng)说敏,集團(tuán)內(nèi)的各個(gè)數(shù)據(jù)團(tuán)隊(duì)鸥跟,開始進(jìn)行數(shù)據(jù)內(nèi)容重構(gòu)和整合,同時(shí)盔沫,CCO 正式成立医咨,七公來到 CCO 帶領(lǐng)技術(shù)團(tuán)隊(duì),薛奎來到 CCO 帶領(lǐng)數(shù)據(jù)倉(cāng)庫(kù)團(tuán)隊(duì)架诞,CCO 也基于 ODPS 啟動(dòng)公共層建設(shè)項(xiàng)目拟淮,集成了包括淘系、1688谴忧、ICBU很泊、AE 相關(guān)的服務(wù)數(shù)據(jù),公共層建設(shè)的同時(shí)完成了登月項(xiàng)目沾谓,并且與 DIC 團(tuán)隊(duì)委造、RDC 團(tuán)隊(duì)協(xié)同建設(shè)了服務(wù)數(shù)據(jù)門戶 DIGO 產(chǎn)品;
今天均驶,數(shù)據(jù)在阿里巴巴已經(jīng)深入到每個(gè)角落昏兆,阿里云有強(qiáng)大的算法團(tuán)隊(duì)、大批的數(shù)據(jù)接口人妇穴、分析師爬虱,每天的工作都與數(shù)據(jù)產(chǎn)生關(guān)聯(lián)隶债,隨著人工智能的不斷深入使用,業(yè)務(wù)系統(tǒng)的不斷創(chuàng)新迭代跑筝,對(duì)數(shù)據(jù)的采集死讹、加工、應(yīng)用又提出了新的要求曲梗,如何更好的提供數(shù)據(jù)服務(wù)回俐,面對(duì)未來我們需要思考更多,數(shù)據(jù)將進(jìn)入一個(gè)新的時(shí)代——數(shù)據(jù)智能時(shí)代稀并。