阿里云有許多很好的技術,比如負載均衡SLB,關系型數據庫RDS,云服務器ECS,開放存儲服務OSS等。如今又增加了一款重磅云服務產品:基于飛天的ODPS(Open Data Processing Service),提供數據倉庫、數據挖掘和其他數據應用等功能。7月14日,阿里云計算公司總裁及阿里巴巴集團副總裁王文彬(花名菲青)為之站場,并稱之為“中國進入大數據時代的里程碑”。
阿里云總裁王文彬(花名菲青)為ODPS站場
從確定自主開發,到2014年1月,阿里云正式發布ODPS服務,整整五年。阿里云工程師們寫下250萬行代碼,不斷試錯,不斷優化,不斷打磨。如今,對內:阿里小微金服(支付寶、小貸、保險、基金)已經全線遷入,數據魔方,阿里媽媽廣告聯盟,廣告搜索,點擊預測模型訓練,淘寶指數,阿里無線,高德,中信21cn等業務都在其上,對外:藥品電子監管系統、華大基因也已采用了ODPS。
ODPS是阿里集團30多個事業部唯一的大數據處理平臺
更有意思的是,4月,為了更好地對ODPS平臺上進行算法的調試、測試,阿里巴巴舉辦了基于ODPS的天池算法競賽(“天池”平臺基于阿里云ODPS的大數據開放平臺,向學術界免費提供科研數據和數據處理服務,第一期開放三類科研數據集,包括用戶購買成交記錄、商品購買評論記錄、商品瀏覽日志記錄等,數據經過脫敏處理,所有數據均可由平臺應用者使用)。
競賽的題目是:天貓推薦算法大賽開放競賽數據:在天貓,每天都會有數千萬的用戶通過品牌發現自己喜歡的商品,品牌是聯接消費者與商品最重要的紐帶。本屆賽題的任務就是根據用戶在天貓的行為日志,建立用戶的品牌偏好,并預測他們在將來對品牌下商品的購買行為。
各大高校的參賽者在ODPS平臺上進行算法的調試、測試。幾個月下來,成績斐然。阿里云相關負責人對CSDN云計算表示:最優秀的算法比天貓本身數據預測算法效率還高10%!
正是有了這些真實落地的效果,王文彬才更有信心:“ODPS會是阿里集團30多個事業部唯一的大數據平臺。這其中既包含已經完全遷入的小微金服,也包含電子商務(淘寶、天貓、聚劃算、Alibaba.com、1688.com、AliExpress)、智能物流骨干網(菜鳥物流)在內。涉及到幾億用戶的數據,工作量極大,需要慢慢來做。但這一時間點,我相信很快。”
這一計劃被阿里內部稱之為“登月計劃”。其中還有一些小故事。接近阿里云的都知道:阿里云的云梯1,是基于Hadoop的;而云梯2才是自主開發的。阿里內部對于二者的技術爭論由來已久。而大家不知道的是,2013年10月,為了融合阿里小貸和支付寶的數據,支付寶希望ODPS團隊協助他們搬家,將支付寶數倉業務從Hadoop機群搬到ODPS上,這就是“登月1號項目”。2014年5月,登月1號項目成功,小微金服的全部數據業務開始基于ODPS發展。也正是阿里內部對于“穩定性,安全性,服務能力要求最高”的小微成功遷入,才有了后續覆蓋搜索、廣告、物流等多個BU的數據統一的計劃,才有了“ODPS將成為承載阿里集團全部數據的統一處理平臺”的實施。
阿里內部對ODPS評價頗高。
“從Oracle到Hadoop,我們解決了海量數據如何存儲和分析的問題,阿里的數據業務不再受制于規模的瓶頸;從Hadoop到ODPS,更是一次質的飛躍,為后續大數據業務的開展掃清了障礙。登月計劃共計劃了20多個項目,涉及阿里巴巴和小微金服所有的事業部,覆蓋集團全部數據人員,其牽扯人員、資源之多,在集團內部罕見。登月計劃的全面啟動,標志著阿里集團自研的飛天+ODPS平臺,從功能和性能上已經漸漸超越了Hadoop,阿里云的技術走在了世界前列。”
在阿里云的產品規劃中,基于飛天,有多類服務:離線的結構化數據存儲和計算服務平臺――ODPS (Open Data Processing Service),半結構化數據的實時隨機讀寫服務――OTS(Open Table Service),實時流數據處理服務――OSPS(Open Stream Processing Service)等。
ODPS的產品、用戶和生態
談到ODPS能夠處理什么類型的大數據,阿里云產品經理湯子楠表示:“ODPS最擅長處理結構化數據,比較擅長處理半結構數據,不能處理非結構數據(當然,最后這點會通過與開源技術合作及其他技術開發來拓展)。”
具體來看ODPS的產品、用戶和生態:
產品:SQL、MapReduce、BSP、算法包;安全控制、分享機制
用戶:大企業――存儲計算能力服務化,專注數據和業于務;
生態:海量計算、準實時計算、流式計算;個人,大數據平民化,數據創新;數據生產者,數據消費者(廣告、推薦、客滿改進、模式創新),數據加工者(行業專家、咨詢公司等)和服務與應用供應商(數據應用、BI等)
其產品優勢可以概括為5點:
海量運算觸手可得:用戶不必關心數據規模增長帶來的存儲困難、運算時間延長等煩惱,ODPS可以根據用戶的數據規模自動擴展機群的存儲和計算能力,使用戶專心于數據分析和挖掘,最大化發揮數據的價值。
服務“開箱即用”:用戶不必關心機群的搭建、配置和運維工作,僅需簡單的幾步操作,就可以在ODPS中上傳數據、分析數據并得到分析結果。
數據存儲安全可靠:ODPS采用三重備份、讀寫請求鑒權、應用沙箱、系統沙箱等多層次數據存儲和訪問安全機制保護用戶的數據:不丟失、不泄露、不被竊取。
多用戶協作:通過配置不同的數據訪問策略,用戶可以讓組織中的多名數據分析師協同工作,并且每人僅能訪問自己權限許可內的數據,在保障數據安全的前提下最大化工作效率。
按量付費:ODPS根據用戶實際的存儲和計算消耗收費,最大化的降低用戶的數據使用成本。
湯子楠表示:“ODPS所有的功能是以RESTful API的形式對外提供,目前僅支持SQL,其他服務將后續逐一對外開放。而由于ODPS設計之初就是為了對外開放,做基于互聯網的多租戶的公共數據處理服務,安全性在ODPS的設計和實現中具有優先級很高。未來,ODPS還將開放更底層的邏輯計算單元,支持用戶基于ODPS開發Spark、Pig、準實時、流處理等,真正成為在ODPS統一平臺可以實現多種框架的大數據運算的樂趣。徹底解決現在數據要從不同集群中導來導入,且沒有統一布局,數據處理和維護都的麻煩。”
對于ODPS,阿里云的定位顯然不僅是內部的數據統一平臺,而且在外部,也將通過合作共建生態,為更多企業提供大數據服務。湯子楠分享了一個用戶案例:
藥品電子監管平臺,收集中國境內每盒藥從生產、批發、零售環節的所有流通信息,每盒藥都印刷了一個條形碼“中國藥品電子監管碼”。藥監部門利用這些流通信息追蹤到中國市場上每批藥品流向,追溯到零售環節任何一盒藥品的來源。而伴隨藥品數量的急劇攀升和分析等新需求,原有的Oracle系統無法滿足需要。新的數據平臺基于OTS+ODPS兩款產品,關鍵業務處理的平均延時降低100倍以上,成本大幅降低。
除此以外,還有華大基因,其已經在ODPS上做了基因測序,耗時不到傳統方式的十分之一。
最后,ODPS的峰值是100PB數據處理6小時完成。按照使用量付費,存儲1GB的數據,ODPS每個月大概是0.5元左右。
從技術上看,對ODPS還有兩個疑問。阿里云的回復很到位。
1.ODPS與Google BigQuery、Amazon有Redshift和EMR的比較?
阿里云:Google的BigQuery,Amazon的Redshift和EMR,可以認為是ODPS的類似產品。在國內,ODPS是首款大數據存儲和計算開放服務。ODPS和BigQuery的產品形態比較類似,比如都支持海量數據的存儲和計算,都支持SQL語法等。兩者的主要區別在于:
1)底層技術實現不同。BigQuery基于Google自研的Dremel引擎,而ODPS則基于阿里云自研的飛天系統,兩者在存儲、任務調度、任務優化上有很多細節都不一樣。
2)BigQuery的主要應用場景是交互式BI分析,而ODPS的適用場景則廣的多:目前已經開放的SQL功能主要用于數據倉庫和日志分析;后續還將開放UDF和Map Reduce,支持用戶編程的離線計算;ODPS準實時,支持交互式BI分析;ODPS流處理,支持實時計算等。同時,ODPS的數據授權體系功能更加豐富,使用更加靈活,可以同時滿足數據擁有者、數據消費者和數據分析者的需要,ODPS未來可以成長為一個基于數據的生態系統的底層平臺。
3)BigQuery僅是一款產品,而ODPS則是阿里云產品線的一部分。除了ODPS之外,阿里云還有SLS、OTS等一系列大數據服務,組成一個綜合的大數據解決方案,滿足用戶在大數據領域的多項需求。
2. ODPS與各個超算中心提供能力的區別?
阿里云:1)超級計算機更適合計算密集型作業,如果是用MPI算核物理、天體物理、蛋白質折疊、求解普通PC上需要幾千萬年的迭代方程,用超級計算機可能更快。反過來,分布式集群Mapreduce適合IO密集型的作業,加上成本低,可以把集群規模搞得很大,因此最適合掃描過濾海量的數據,例如互聯網行業的經典應用:為搜索引擎創建全網Web頁面的索引。
2)超級計算機造價更昂貴,維護成本也高,甚至每小時電費就得上萬元。
云計算是建立在低成本硬件+牛B的分布式操作系統設計上,在計算靈活性和多任務處理上遠超超級計算機,可以更廣泛的應用于商業領域,例如阿里云去年和國內的動畫公司合作渲染出來的《昆塔》,計算量是《阿凡達》的四倍。隨著國內經濟的升級,很多造船、石油、材料、生物、天體物理、軍事領域的計算需求都很強烈,這一類計算密集型任務,也可以通過云計算完成。
ODPS是可以支撐科學運算的,阿里正在舉辦的大數據競賽就依托于ODPS平臺。參賽選手大量使用邏輯回歸、隨機森林這一類的數據挖掘算法。
進一步簡單解釋一下,基于飛天系統,ODPS實現了Mapreduce(以及更高級的多階段DAG)、Graph、MPI等編程模型在同一個計算集群上統一調度。因此除了 IO密集型的計算,還能支持計算密集型的迭代計算,例如隨機梯度下降。
不過目前阿里云ODPS只對外開放商用了SQL編程接口,更多接口例如Mapreduce、Graph等等還沒有進入公測階段,不過很快就會對外了。
大數據技術生態中,ODPS所代表的的只是其中重要的一環,后續更為重要的是,強化伙伴能力,迅速在更多行業和應用中扎根。期待基于ODPS的扶植計劃!