阿里巴巴计算平台资深技术专家“一浪”对大数据领域近几年的技术趋势和变化的看法【强烈推荐数据岗细细品!】
導(dǎo)讀:計算和存儲分離是近幾年大數(shù)據(jù)架構(gòu)領(lǐng)域頗受關(guān)注的一個技術(shù)風(fēng)向。在對剛剛過去的 2019 天貓雙 11 技術(shù)進行總結(jié)時,阿里巴巴 CTO 行癲也特別提到了阿里在計算存儲分離上的進展。大數(shù)據(jù)最初興起之時,主流網(wǎng)絡(luò)帶寬只有 100Mb,通過網(wǎng)絡(luò)遠程訪問數(shù)據(jù)實在太慢了。為了解決數(shù)據(jù)快速訪問的問題,Google 創(chuàng)造性地提出了計算和存儲耦合的架構(gòu),而 Hadoop 延續(xù)了這個架構(gòu),風(fēng)光一時無兩。但十年過去之后,如今的網(wǎng)絡(luò)帶寬相比當時已經(jīng)增長了一百倍,達到了 10G 以上,IO 不再是大數(shù)據(jù)的瓶頸,計算才是。
近日,在InfoQ 對阿里巴巴計算平臺資深技術(shù)專家胡月軍(花名一浪)的采訪中,聊了聊阿里搜索與廣告引擎的技術(shù)演進脈絡(luò)、阿里新一代交互式分析引擎以及大數(shù)據(jù)領(lǐng)域近幾年的技術(shù)趨勢和變化。在采訪中,胡月軍表示:“計算存儲分離使存儲和計算資源可以各自根據(jù)需求進行伸縮,較好地節(jié)約了成本,但也給高效引擎的設(shè)計與實現(xiàn)帶來了不少挑戰(zhàn)。”
InfoQ:您曾經(jīng)負責(zé)阿里巴巴多個不同業(yè)務(wù)線的搜索與廣告引擎,能否請您給我們整體梳理一下這幾年阿里不同搜索與廣告引擎的技術(shù)演進脈絡(luò)?比如可以分成哪些階段?不同階段技術(shù)上的側(cè)重點有何不同?
胡月軍: 近年來,伴隨著電商平臺商品量的大量豐富,基于實時推薦的智能化運營興起以及對提升購物體驗和促成交持續(xù)優(yōu)化的業(yè)務(wù)背景下,搜索和推薦的引擎技術(shù)也大致經(jīng)歷了三個階段。第一階段主要關(guān)注點在引擎檢索性能的提升,當時我們做了很多關(guān)于索引構(gòu)建、查詢流程以及算分等組件的優(yōu)化來提升引擎的 QPS;隨著業(yè)務(wù)實時化需求越來越迫切,第二階段我們引擎在在線和離線都做了不少工作,在線引擎實現(xiàn)了內(nèi)存索引以及輔表關(guān)聯(lián),離線基于 Flink 孵化了 Blink 的流計算引擎和 Porsche 在線機器學(xué)習(xí)平臺,大大縮短了端到端的處理延遲,大幅提升了搜索和推薦的實時性購物體驗;第三階段引擎的進步主要來自于支持算法的高效迭代和持續(xù)提升搜索和推薦的精準性,我們將引擎的召回和算分進行了分離,抽象出了 RankingService 服務(wù),從而支持各種搜索和推薦召回場景的統(tǒng)一打分,同時支持在線深度學(xué)習(xí)計算,較好地提升了購物體驗和成交引導(dǎo)。
InfoQ:阿里云新一代交互式分析產(chǎn)品誕生的背景是什么樣的?為什么你們要在阿里的 MaxCompute 大數(shù)據(jù)計算平臺、EMR 開源大數(shù)據(jù)計算平臺、實時計算平臺之外再打造一個新的交互式分析引擎?是為了解決哪些問題?
胡月軍: 阿里云計算平臺交互式分析引擎的高效存儲在 16 年就開始研發(fā)了。一開始開發(fā)交互式分析引擎的目標是為了解決 HBase 的穩(wěn)定性和性能問題,基于存儲計算分離和純異步的 runtime 我們實現(xiàn)了高性能的存儲引擎,上線以后性能是原 HBase 的 3~10 倍。后來基于業(yè)務(wù)需求,演進成了兼容 PG 生態(tài)的大數(shù)據(jù)實時數(shù)倉系統(tǒng)。
它和阿里的其他大數(shù)據(jù)平臺有著不一樣的定位:MaxCompute 平臺是阿里自研的高效離線數(shù)倉系統(tǒng),主要 focus 在高吞吐的批處理;EMR 平臺主要是為了方便公有云上的客戶快速搭建自己的開源大數(shù)據(jù)解決方案;實時計算平臺主要關(guān)注流處理這塊的業(yè)務(wù);至于交互式分析,我們主要是為解決實時數(shù)據(jù)存儲和 OLAP 分析的高效即席查詢問題,同時實現(xiàn)對 MaxCompute 的離線數(shù)倉進行直接查詢加速。
這些不同的平臺通常會合在一起給客戶提供一個完整的大數(shù)據(jù)解決方案。一個典型的場景是:數(shù)據(jù)通過 Flink/Blink 進行實時 ETL 處理后寫入交互式分析的存儲系統(tǒng),然后用戶在交互式分析引擎中進行各種 Ad Hoc 的查詢;如果用戶需要執(zhí)行批處理任務(wù),再把數(shù)據(jù)導(dǎo)入到 MaxCompute 中進行處理;此外,對于已經(jīng)在 MaxCompute 中的數(shù)據(jù),可以使用交互式分析進行直接加速查詢。
InfoQ:阿里云的交互式分析產(chǎn)品是否有對標的商業(yè)化產(chǎn)品或開源產(chǎn)品?如果有的話,它跟這些對標產(chǎn)品相比,有哪些技術(shù)上的差異和亮點?
胡月軍: 在業(yè)界和阿里云交互式分析對標的一些產(chǎn)品有 Redshift、Snowflake、GaussDB 和 Hermes。阿里云交互式分析的主要技術(shù)亮點有:基于存儲計算分離的高效行列混合存儲,基于 Orca 和支持聯(lián)邦查詢的優(yōu)化器,純異步高性能的查詢引擎,以及 PG11 生態(tài)兼容等特性。
infoQ:近 3 年來,您主要從事存儲與計算引擎的設(shè)計與研發(fā)工作,如果從大數(shù)據(jù)存儲層和計算引擎這兩個層面來看,您認為最近這三年有哪些值得一提的新技術(shù)或項目?技術(shù)趨勢上有哪些變化?
胡月軍:個人認為近 3 年大數(shù)據(jù)存儲和計算領(lǐng)域比較有意義的新技術(shù)就是存儲和計算分離的興起,比如 Snowflake 等,它使存儲和計算資源可以各自根據(jù)需求進行伸縮,較好地節(jié)約了成本,當然這也給高效引擎的設(shè)計與實現(xiàn)帶來了不少挑戰(zhàn)。比如怎么設(shè)計專門的存儲機型和高效 I/O 實現(xiàn)?怎么優(yōu)化網(wǎng)絡(luò)連接?怎么在計算節(jié)點 I/O 延遲可能會增大的情況下保證 query 處理的低延遲?
技術(shù)趨勢上,個人看到的一個趨勢就是大家對存儲層的重視,比如 Databricks 開源了 Delta Lake,對于阿里云的交互式分析引擎來說底層存儲引擎也是一個非常重要的競爭力,事實上只有做好了存儲引擎和數(shù)據(jù)的統(tǒng)一管理才能使得上層的計算更高效和統(tǒng)一。
InfoQ:有觀點認為“17-18 年是計算引擎火熱的一年,現(xiàn)在這塊已經(jīng)是紅海了”,您是否認同這一觀點?您認為當前大數(shù)據(jù)計算引擎處于什么樣的發(fā)展階段?市場是否已經(jīng)飽和?接下來計算引擎這塊還有什么值得關(guān)注的技術(shù)方向?
胡月軍: 這兩年各種開源的計算引擎確實發(fā)展得很快,比如 Flink SQL 的流批統(tǒng)一處理,Spark Structured Streaming 的完善以及 MPP 引擎 Greenplum 的 6.0 的發(fā)布。但紅海可能還不至于,據(jù)我們調(diào)查了解,目前很多公司的大數(shù)據(jù)解決方案還是基于 Hadoop/Hive,新引擎的市場普及度還處于早期階段。
對于計算引擎本身,個人認為圖計算和圖像、視頻處理的高效支持可能會是值得關(guān)注的技術(shù)方向。隨著當下推薦、信用和安全等需求的興起,對于關(guān)系的存儲和處理越來越重要,目前各家引擎對圖計算的支持還處在各顯神通的階段,后面的發(fā)展值得關(guān)注;圖形和視頻處理帶來向量計算應(yīng)用目前也原來越來廣泛,目前已經(jīng)有幾家陸續(xù)將自己的技術(shù)開源。
InfoQ:計算引擎之外,大數(shù)據(jù)存儲層今年出現(xiàn)了不少熱門話題,比如數(shù)據(jù)湖、實時數(shù)倉。您怎么看今年實時數(shù)倉和數(shù)據(jù)湖的火熱?
胡月軍: 實時數(shù)倉的火熱本質(zhì)上還是來自于業(yè)務(wù)的驅(qū)動。當下,智能推薦和精準運營等業(yè)務(wù)都依賴于對實時數(shù)據(jù)的快速挖掘。小時級別,或者天級別的數(shù)據(jù)分析對于很多業(yè)務(wù)來說再也回不去了。
再說數(shù)據(jù)湖,當前的數(shù)據(jù)倉庫一般存儲的是經(jīng)過 ETL 清洗過的數(shù)據(jù),原始的數(shù)據(jù)信息會有一定的缺失,所以現(xiàn)在有人提倡也存儲各種原始的數(shù)據(jù),從而進行各種靈活的分析。數(shù)據(jù)湖就是這樣一個解決方案,提供統(tǒng)一的數(shù)據(jù)同步、存儲和管理機制,以及計算任務(wù)的提交和調(diào)度,它強調(diào)對數(shù)據(jù)更全面和系統(tǒng)化的管理和應(yīng)用。按我個人的理解,數(shù)據(jù)湖就是一個概念,像數(shù)據(jù)倉庫一樣,只不過其提倡保存更多的原始數(shù)據(jù)以及加強對數(shù)據(jù)管理的控制。底層的相關(guān)技術(shù)應(yīng)該還是基于當下的存儲和計算技術(shù),沒有太大的革命性變化。
InfoQ:2019 年 6 月,谷歌以 26 億美元收購數(shù)據(jù)分析公司 Looker。同月,Salesforce 宣布以 157 億美元收購 BI 企業(yè) Tableau。2019 年 9 月,Cloudera 宣布收購商業(yè)智能實時分析廠商 Arcadia Data。這幾場收購對于大數(shù)據(jù)領(lǐng)域來說意味著什么?統(tǒng)一數(shù)據(jù)分析平臺會是大數(shù)據(jù)領(lǐng)域下一個技術(shù)爆發(fā)點嗎?
胡月軍: 個人理解這些收購反映的是大數(shù)據(jù)公司對上層數(shù)據(jù)分析業(yè)務(wù)系統(tǒng)的滲透和把控,這樣的整合應(yīng)該會給用戶帶來更好的分析系統(tǒng)使用體驗,比如數(shù)據(jù)分析服務(wù)的云化,從而使得公司能更好地占領(lǐng) PaaS 和 SaaS 市場。
一體化的數(shù)據(jù)分析平臺會實現(xiàn)數(shù)據(jù)的統(tǒng)一存儲和管理,以及各種分析任務(wù)的調(diào)度和執(zhí)行,在避免數(shù)據(jù)搬遷開銷的同時給用戶提供統(tǒng)一的使用體驗,個人認為這將會是一個水到渠成的結(jié)果。
以上采訪摘自:《阿里資深技術(shù)專家胡月軍:大數(shù)據(jù)十年,我看到的技術(shù)變化和趨勢》作者:蔡芳芳
最后,就我所知曉的一些知識,淺談一些看法。
還記得之前和一用友的領(lǐng)導(dǎo)交談(嗯,你沒想錯,我就是在面試),他提到大數(shù)據(jù)的技術(shù)近幾年已經(jīng)趨于成熟,他個人比較鼓勵我先走一走java,多學(xué)習(xí)整體的業(yè)務(wù),架構(gòu)。他也表示自己就是這樣過來的。
當然不能說前輩說的不對,是有他的道理,我呢?是一個比較較勁的人。偏不信。
我個人是比較想走數(shù)據(jù)崗的,雖然現(xiàn)在在后臺開發(fā)。(以后再絮叨這個事情。)
回到正題,我們從上述采訪中看到,一浪大哥說到這樣一句話:據(jù)我們調(diào)查了解,目前很多公司的大數(shù)據(jù)解決方案還是基于 Hadoop/Hive,新引擎的市場普及度還處于早期階段。
嗯,不知道算不算爆料,京東內(nèi)部的一些業(yè)務(wù)的實時使用的是storm,相比sparkstreaming和新生寵兒flink,確實顯得老久舊了點。
當然在公司,技術(shù)的選擇不代表新的就是最好的,最適合的才是最好的,就像談戀愛一樣。
所以大數(shù)據(jù)的前景并沒有這么悲觀。我覺得還是很友善的。
以及提到的實時數(shù)倉和數(shù)據(jù)湖,表述的那叫一個淺顯易懂,沒細看的自行上翻!!!
當然,采訪中提到了不僅僅這些,甚至有些內(nèi)容,因為才疏學(xué)淺,并不曉得。
但是整篇報道,很值得細細品味!
未來大家都沒辦法預(yù)測,就像今年你能想到口罩戰(zhàn)勝了豬肉嗎?
所以,我們要做的就是把握現(xiàn)在,擼起袖子加油干!
最后感謝蔡芳芳大大的采訪文章,非常喜歡。
然后,武漢加油(今天增加了15000,要嚇死我),中國加油,不能上班,理個發(fā)也行呀!!!
總結(jié)
以上是生活随笔為你收集整理的阿里巴巴计算平台资深技术专家“一浪”对大数据领域近几年的技术趋势和变化的看法【强烈推荐数据岗细细品!】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 停课不停学,优酷直播如何将网课点名延迟降
- 下一篇: 有初学的同学问你为什么Java的main