以下是現(xiàn)場(chǎng)速遞。(聲明:本稿件來(lái)源為現(xiàn)場(chǎng)速記,可能有筆誤和別字,僅供參考)
易觀 首席技術(shù)官 郭煒
主持人:尊敬的各位嘉賓,各位用戶代表,渠道代表,廠商代表,媒體朋友們,上午好! 2017 CCS云計(jì)算渠道伙伴合作高峰論壇現(xiàn)在開(kāi)始!我是本次大會(huì)主持人企業(yè)網(wǎng)D1net的金頡。我謹(jǐn)代表本次會(huì)議的主辦方企業(yè)網(wǎng)D1net,對(duì)各位來(lái)賓的光臨表示熱烈的歡迎!
冬去春來(lái),花落花開(kāi),云計(jì)算也早已從概念落地到了人間,無(wú)論是私有云,混合云,公有云,都如雨后春筍,遍地開(kāi)花。而作為關(guān)注實(shí)戰(zhàn)的企業(yè)網(wǎng)D1net,我們最關(guān)心的還是實(shí)戰(zhàn)案例,今天的大會(huì),我們安排了多場(chǎng)干貨分享,請(qǐng)大家共享盛宴。
由于易觀的發(fā)言人郭煒總中午臨時(shí)要出差,所以把他的發(fā)言調(diào)到第一場(chǎng),郭煒最的發(fā)言與云和大數(shù)據(jù)相關(guān),云和大數(shù)據(jù)說(shuō)得很多了。大數(shù)據(jù)上云的案例見(jiàn)過(guò)嗎?上云后又想從云上遷移出來(lái)的案例呢?這中間的坑和注意事項(xiàng)你造嗎?接下來(lái)是一個(gè)干貨滿滿的案例分享。由易觀首席技術(shù)官郭煒為我們帶來(lái):PB級(jí)大數(shù)據(jù)集群云化與遷移,掌聲歡迎!
郭煒:大家早上好!先替老范歡迎一下在座的各位,因?yàn)槲覔屃死戏兜拈_(kāi)場(chǎng)發(fā)言,感謝大家今天到我們這個(gè)云計(jì)算渠道合作伙伴峰會(huì)。今天我其實(shí)會(huì)給大家講講云遷移的事情。開(kāi)場(chǎng)之前,我想問(wèn)一個(gè)問(wèn)題,大家都在說(shuō)大數(shù)據(jù)好,究竟大數(shù)據(jù)能做什么,如果你是一個(gè)企業(yè)的管理者,你會(huì)第一件事情拿什么東西去證明一個(gè)大數(shù)據(jù)?
我這兒正好有兩個(gè)圖。左邊是一個(gè)實(shí)時(shí)計(jì)算分析的展示大屏幕,它能做到任何目前無(wú)論是APP,還是一個(gè)網(wǎng)站,能夠五秒鐘把你的上百億條的數(shù)據(jù)馬上計(jì)算出來(lái),這個(gè)數(shù)字會(huì)實(shí)時(shí)變化。這是看上去一個(gè)非??岬募夹g(shù)的展示。右邊這個(gè)是一個(gè)我們叫做在企業(yè)里邊常見(jiàn)的一個(gè)數(shù)據(jù)分析的界面,它是做什么的?是做漏斗轉(zhuǎn)化,所謂漏斗轉(zhuǎn)化就是大家經(jīng)常知道做互聯(lián)網(wǎng)的會(huì)知道,有人要從渠道過(guò)來(lái),會(huì)花一些推廣,會(huì)瀏覽你的網(wǎng)頁(yè),可能會(huì)看商品,看完商品會(huì)下訂單,下完訂單可能去做結(jié)算,會(huì)告訴你每一步中間的轉(zhuǎn)化率和流失率有多大。這其實(shí)是兩個(gè)不同的界面,這個(gè)如果你是一個(gè)企業(yè)大數(shù)據(jù)的負(fù)責(zé)人,或者一個(gè)企業(yè)的CIO,或者CTO,同樣的兩個(gè)方案放在你面前,在座的各位會(huì)選哪個(gè)?選左邊的這個(gè)大家舉手?誰(shuí)會(huì)選企業(yè)自己內(nèi)部數(shù)據(jù)分析的?沒(méi)有。選右邊這個(gè)呢?有一些。
今天我說(shuō)云遷移之前,先給大家說(shuō)一個(gè)概念,就是以“精益創(chuàng)業(yè)”的理念修建大數(shù)據(jù)平臺(tái)。什么意思呢?把我剛才的自我介紹跳過(guò)去了,我其實(shí)是易觀的CTO,我以前在IBM做過(guò),去中經(jīng)做了一段副總監(jiān),然后去萬(wàn)達(dá)做大數(shù)據(jù)平臺(tái)的總經(jīng)理,然后去聯(lián)想做大數(shù)據(jù)平臺(tái)的總監(jiān),現(xiàn)在在易觀負(fù)責(zé)它的整個(gè)技術(shù)和產(chǎn)品,是去年的月份加入的。
剛才說(shuō)的“精益創(chuàng)業(yè)”這個(gè)理念,大家都在說(shuō)做大數(shù)據(jù)好,其實(shí)大部分企業(yè)都在喊一個(gè)口號(hào),說(shuō)我們要建設(shè)大數(shù)據(jù)平臺(tái),或者要建設(shè)大數(shù)據(jù)平臺(tái)項(xiàng)目。其實(shí)從我的觀點(diǎn)來(lái)看,《精益創(chuàng)業(yè)》這本書(shū)我非常推薦在座的各位無(wú)論做哪行哪也都應(yīng)該看一下,里面有一個(gè)MVP,說(shuō)叫最小的可行化產(chǎn)品。這個(gè)意思是說(shuō),如果建一個(gè)大數(shù)據(jù)平臺(tái)的時(shí)候,你應(yīng)該是有一個(gè)業(yè)務(wù)閉環(huán)在里面,而不是只是一個(gè)展示,或者是一個(gè)數(shù)據(jù)上的一個(gè)平臺(tái)的建設(shè)。所以,這個(gè)意思是說(shuō),如果你要建一個(gè)大數(shù)據(jù)平臺(tái),一定要端到端的解決一個(gè)業(yè)務(wù)問(wèn)題。所以,如果從這個(gè)理念來(lái)看,大家再看這兩個(gè)圖片是怎么來(lái)做的。
第二個(gè)是說(shuō),你要和你最終的客戶業(yè)務(wù)保持同步。其實(shí)經(jīng)常也能聽(tīng)見(jiàn)一些話,我們先建平臺(tái),有了平臺(tái)再建業(yè)務(wù),大數(shù)據(jù)平臺(tái)都是這么建的,其實(shí)不是,是先有業(yè)務(wù),再有平臺(tái),這也是“精益創(chuàng)業(yè)”的理念。
第三,業(yè)務(wù)閉環(huán),一定要端到端的解決一個(gè)問(wèn)題,否則將來(lái)你真的讓業(yè)務(wù)用起來(lái),推廣大數(shù)據(jù)的時(shí)候發(fā)現(xiàn)這個(gè)事情會(huì)非常難,可能最高層看到一些報(bào)表,其實(shí)大數(shù)據(jù)的魅力在于真的能夠驅(qū)動(dòng)你的業(yè)務(wù)的閉環(huán)和業(yè)務(wù)的優(yōu)化。
第四,增速、轉(zhuǎn)型、創(chuàng)新,它其實(shí)不是一個(gè)技術(shù)的事情,而是業(yè)務(wù)的一個(gè)閉環(huán),結(jié)合這四個(gè)理念,再回頭看這兩個(gè)比較炫的屏幕,大家會(huì)發(fā)現(xiàn)做真的業(yè)務(wù)轉(zhuǎn)化的數(shù)據(jù)分析要比我們要建一個(gè)真正看上去非常炫的Dashboard好的多,能得到相關(guān)的業(yè)務(wù)的數(shù)據(jù)魅力和數(shù)據(jù)分析。所以,我講的“精益創(chuàng)業(yè)”貫穿在我所有的演講和發(fā)言當(dāng)中,今天云的遷移當(dāng)中,其實(shí)也可以看到,是這樣一個(gè)基本的理念,就是MVP的產(chǎn)品,從它逐步的迭代,實(shí)現(xiàn)云遷移,大數(shù)據(jù)建設(shè)到最后。
先說(shuō)說(shuō)PB級(jí)的大數(shù)據(jù)云化遷移的一些難點(diǎn)。首先,這是我剛?cè)サ臅r(shí)候遇到的現(xiàn)狀,每天處理量大概10T,歷史數(shù)據(jù)基本是PB級(jí)別,現(xiàn)在采集接口大概幾十萬(wàn)的這樣一個(gè)并發(fā)的整合,如果大家知道QBS達(dá)到幾十萬(wàn)是非常大的一個(gè)量,非常高,還有一些數(shù)據(jù)流的實(shí)時(shí)計(jì)算。我們?cè)诩軜?gòu)上面是要大概率,過(guò)去是一個(gè)純?cè)苹臇|西,我們后來(lái)把它遷成了混合云,它的數(shù)據(jù)模型也會(huì)發(fā)生變化,數(shù)據(jù)本身存儲(chǔ)的方式也發(fā)生變化。而且從我們的業(yè)務(wù)部門(mén)和我們的整個(gè)公司來(lái)講,要求無(wú)縫切換,要求兩個(gè)東西要并行,這兩個(gè)東西每天10T的數(shù)據(jù),PB級(jí),還要并存,這個(gè)非常難。
怎么干呢?先說(shuō)說(shuō)早期的我剛?cè)サ臅r(shí)候大數(shù)據(jù)平臺(tái)的架構(gòu)。其實(shí)我是一個(gè)堅(jiān)持推廣云化的技術(shù)決策人,我在幾年前就說(shuō)大數(shù)據(jù)云化,但是為什么在這個(gè)時(shí)候我說(shuō)公有云不能讓這樣一個(gè)大數(shù)據(jù)規(guī)模的集群,大家看到有一些技術(shù)細(xì)節(jié),它有MQ,然后放在HDFS上面,這是每一個(gè)公有云上面的流程,但是當(dāng)數(shù)據(jù)量級(jí)在PB量級(jí)的時(shí)候目前咱們國(guó)內(nèi)的公有云的支持力度還是有限的,比如數(shù)據(jù)量QBS是幾十萬(wàn)次,會(huì)把我這個(gè)東西直接當(dāng)成DDoS做一些清洗,這是第一個(gè)問(wèn)題。第二個(gè)問(wèn)題,因?yàn)楣性拼蠹抑朗菫榱朔窒?,而不是去?dú)占,對(duì)這個(gè)大數(shù)據(jù)處理的時(shí)候會(huì)發(fā)現(xiàn)它的IO和CPU已經(jīng)幾乎會(huì)獨(dú)占某一臺(tái)物理機(jī)了,所以我們物理隔離其實(shí)做的并不是特別好,就是同樣一個(gè)數(shù)據(jù)量發(fā)生變化,我的腳本沒(méi)有發(fā)生變化。有一天可能頭一天數(shù)據(jù)量級(jí)在4個(gè)小時(shí),第二天可能同樣的腳本要運(yùn)作8個(gè)小時(shí),這樣對(duì)我來(lái)講,我無(wú)法承諾我的用戶能看到的一些數(shù)據(jù)分析的指標(biāo)的時(shí)間。大家很難想象說(shuō),今天有的時(shí)候早上9點(diǎn)鐘我就能把這個(gè)東西跑出來(lái),有時(shí)候12點(diǎn)。所以,在這個(gè)量級(jí)的時(shí)候我們發(fā)現(xiàn)在公有云沒(méi)有辦法支撐我現(xiàn)有的這樣一個(gè)數(shù)據(jù)量級(jí)計(jì)算的時(shí)候我們會(huì)選擇混合云。
這個(gè)時(shí)候大家說(shuō)為什么不自己自建IDC,為什么不自己做存儲(chǔ),為什么選混合云?其實(shí)這里面和各位企業(yè)決策者一樣,會(huì)有一個(gè)為什么上云的問(wèn)題,究竟什么時(shí)候上云,為什么要去上,上什么樣的云?從我個(gè)人理解來(lái)講,云化其實(shí)是一個(gè)大的趨勢(shì),但是你的業(yè)務(wù)不是一步就全部上云了,基本上你是看到自己的業(yè)務(wù)的發(fā)展,如果你的業(yè)務(wù)發(fā)展是一個(gè)新的業(yè)務(wù),可能會(huì)出現(xiàn)指數(shù)級(jí)增長(zhǎng)的時(shí)候,那么你一定是要云化的。
為什么這么講?是因?yàn)楹芏嗟倪@些企業(yè),現(xiàn)在有傳統(tǒng)企業(yè),有互聯(lián)網(wǎng)企業(yè),會(huì)發(fā)現(xiàn)自己的業(yè)務(wù)如果真的增長(zhǎng)的時(shí)候它是爆發(fā)性的。比如說(shuō),現(xiàn)在我以這個(gè)例子來(lái)講,去年我們的日貨在百萬(wàn)量級(jí),今年此時(shí)此刻已經(jīng)接近四千萬(wàn),月活過(guò)去可能不到一個(gè)億,現(xiàn)在月活已經(jīng)到4.4億,會(huì)發(fā)現(xiàn)每天它的數(shù)據(jù)量,如果有新的合作伙伴的渠道接入,可能日活就會(huì)翻番。所以,去年我一年經(jīng)歷了整個(gè)它的數(shù)據(jù)從1倍到10倍的增長(zhǎng)。如果沒(méi)有這樣一個(gè)好的云化的平臺(tái),我很難去完成這樣一個(gè)彈性增長(zhǎng)。
為什么云混合云呢?第一,接受端公用云彈性擴(kuò)展,網(wǎng)絡(luò)帶寬、接收性能、安全防控,可以幫我防住第一波安全相關(guān)的問(wèn)題。第二,對(duì)于處理平臺(tái)來(lái)講,我的數(shù)據(jù)量一直在增加,每天有十幾T,幾十T的數(shù)據(jù)資源,如果是云化的,如果不是獨(dú)占性沒(méi)法滿足我很多的業(yè)務(wù)需求,后面我會(huì)講到實(shí)時(shí)計(jì)算,是耗高CPU,高內(nèi)存。技術(shù)逮逮迅速,我們這個(gè)大的屏幕版本的增加,Hadoop這些版本的提升,會(huì)用到很多新的東西,這些公有云是沒(méi)有辦法讓我滿足我的這些需求,我的速度是快于公有云。投入TCO可控,真正做實(shí)體機(jī)的大數(shù)據(jù)集群的時(shí)候,它的沒(méi)有你真正云上的投入那么大,所以我選擇混合云會(huì)選擇大數(shù)據(jù)這塊的存儲(chǔ)在底下線下我們的實(shí)體機(jī)集群。每天接近200億條的數(shù)據(jù),現(xiàn)在已經(jīng)200多億條,然后大概三四千萬(wàn)的用戶,600多個(gè)合作伙伴的數(shù)據(jù)源源不斷的接入是非常穩(wěn)定的。所以當(dāng)時(shí)可能也是去年1月份我第一個(gè)提的這個(gè)混合云真的把它實(shí)現(xiàn)了,然后包括公有云到私有云的帶寬打通,我當(dāng)時(shí)找了很多供應(yīng)商,找的很多都沒(méi)有實(shí)現(xiàn),好不容易找到一家,真的打通了公有云和我們自己IDC之間的帶寬的問(wèn)題。
當(dāng)然,現(xiàn)在很多公有云廠商已經(jīng)提供了,今年開(kāi)始提供混合云的這些實(shí)質(zhì)的服務(wù)了,去年在我用的時(shí)候可能還沒(méi)有。
我剛才說(shuō)的那個(gè)架構(gòu),簡(jiǎn)單的再重復(fù)一下。我們?cè)贏cloud做數(shù)據(jù)接收,在大數(shù)據(jù)集群通過(guò)了大數(shù)據(jù)的處理,然后我會(huì)在公有云的Bcloud提供我對(duì)外的服務(wù),中間有一個(gè)比較大的問(wèn)題是這個(gè)數(shù)據(jù)怎么從我的公有云上傳到IDC上,這個(gè)我會(huì)有一頁(yè)去講,是我做的一個(gè)開(kāi)源的“四分衛(wèi)”的項(xiàng)目,“四分衛(wèi)”就是橄欖球的傳球手。這個(gè)是目標(biāo)混合云的架構(gòu)。
先說(shuō)遷移這件事,遷移真正做起來(lái)我覺(jué)得是原始數(shù)據(jù)壓縮同步比較難,我們一開(kāi)始通過(guò)互聯(lián)網(wǎng)對(duì)傳效果還好,基本上我們傳了接近200多T的一些數(shù)據(jù),后來(lái)我發(fā)現(xiàn)有一些數(shù)據(jù)量比較大,但是傳的時(shí)候速度不夠理想的時(shí)候其實(shí)也沒(méi)有什么辦法。大家看到亞馬遜的遷移,拿卡車(chē)運(yùn),拉了那么多機(jī)柜,我是通過(guò)硬盤(pán)拷過(guò)去的,通過(guò)物理的方法可能比通過(guò)網(wǎng)絡(luò)方法更快。
另一個(gè)在做了一些數(shù)據(jù)的驗(yàn)證,這個(gè)其實(shí)沒(méi)有什么難點(diǎn)。難點(diǎn)就是每天200億條的數(shù)據(jù),怎么讓它并行,就是我不但要原有集群能夠接收這樣的數(shù)據(jù),新集群也能接收這樣的數(shù)據(jù),大家想200億條數(shù)據(jù)等于實(shí)時(shí)的拷貝出來(lái),拷貝完以后,一方面給原有集群,另一方面給現(xiàn)有集群,這個(gè)東西其實(shí)當(dāng)時(shí)是難度很久的一段時(shí)間。包括無(wú)縫切換,因?yàn)橐交^(guò)渡,切的時(shí)候肯定不能一刀切過(guò)去,其實(shí)真正切的時(shí)候比兩邊可能更長(zhǎng),這個(gè)肯定是所有業(yè)務(wù)部門(mén)和所有我們的客戶是不能忍受的,我怎么無(wú)縫,怎么去做,這件事當(dāng)時(shí)我們想了很久。
其實(shí)當(dāng)時(shí)做數(shù)據(jù)遷移的時(shí)候我們想了很多方案,接收端說(shuō)能不能通過(guò)nginx在里面做一些東西,為什么不行?不行的原因其實(shí)很簡(jiǎn)單,就是它是一個(gè)轉(zhuǎn)發(fā)的服務(wù)器只負(fù)責(zé)轉(zhuǎn)發(fā),但是如果這條線路斷掉,或者慢,這個(gè)數(shù)據(jù)可能就會(huì)在傳輸當(dāng)中發(fā)現(xiàn)丟失,丟失的時(shí)候就會(huì)發(fā)現(xiàn)這兩邊的數(shù)據(jù)將來(lái)你的新的集群和老集群里的數(shù)據(jù)會(huì)對(duì)不上,這樣遷移并行就失敗了。所以,通過(guò)nginx的方式只是做一個(gè)簡(jiǎn)單轉(zhuǎn)發(fā)這件事情是肯定不行的,這個(gè)東西會(huì)丟包,丟包完以后是沒(méi)有辦法彌補(bǔ)的。Kafka也是,200億條數(shù)據(jù)量級(jí)的時(shí)候通過(guò)互聯(lián)網(wǎng)同步,第一,占用帶寬非常大,第二,很容易丟包,這個(gè)數(shù)據(jù)就對(duì)不上了,這樣沒(méi)有辦法做到很好的數(shù)據(jù)同步。所以,這個(gè)肯定不能通過(guò)這種方式來(lái)做。
后來(lái)我們做了“四分衛(wèi)”的開(kāi)源項(xiàng)目,大家知道在云遷移,通過(guò)互聯(lián)網(wǎng)互傳的時(shí)候小包去傳是非常沒(méi)有效率的,所以我們會(huì)在“四分衛(wèi)”這個(gè)項(xiàng)目里面把它做了一個(gè)壓縮,這樣可以把一個(gè)可能每個(gè)包都是幾十的,可能有一百萬(wàn)的包括,或者兩三百萬(wàn)這樣的一個(gè)包壓縮成一個(gè)檔案,當(dāng)然中間也用了一些壓縮算法和一些排序把它做好以后,通過(guò)互聯(lián)網(wǎng)傳到兩個(gè)接收端,然后在那里邊再去解包,然后按照它的順序再進(jìn)入到Kafka里面,進(jìn)入Kafka,然后通過(guò)互傳同步的機(jī)制,保證不丟,丟完以后可以續(xù)傳,然后那邊是一個(gè)陣列,然后再把那邊放進(jìn)Kafka。當(dāng)然,中間有為什么斷鏈續(xù)傳,很多人問(wèn)我為什么會(huì)排序,因?yàn)榻?jīng)常會(huì)斷,斷的時(shí)候要保證先進(jìn)的這些數(shù)據(jù)優(yōu)先去處理,而不是亂序排,這樣可能數(shù)據(jù)量的方式計(jì)算會(huì)有問(wèn)題。所以,在這里面也用了很多的一些小的trip和踩過(guò)一些坑。做大數(shù)據(jù)云遷移的時(shí)候肯定遇到數(shù)據(jù)并行的問(wèn)題,遇到這個(gè)問(wèn)題可以通過(guò)開(kāi)源的項(xiàng)目去看。
說(shuō)完云遷移中間互傳的問(wèn)題,其實(shí)還有另外一個(gè)問(wèn)題存在,就是各種的大數(shù)據(jù)做完以后持續(xù)的很多的挑戰(zhàn)。
挑戰(zhàn)一,可能左邊那個(gè)圖如果做CIO和做CTO的管理者可能都會(huì)熟悉,這個(gè)圖是在那時(shí)候每年?yáng)|部全部斷網(wǎng),其實(shí)仔細(xì)想一下,現(xiàn)在如果我們做大數(shù)據(jù)的數(shù)據(jù)接收端,當(dāng)我的活躍已經(jīng)到月活4.4億的時(shí)候,當(dāng)每天有4億多臺(tái)給我傳這個(gè)數(shù)據(jù),其實(shí)結(jié)果搞不好和它是一樣的。這樣一旦做不好,結(jié)果其實(shí)跟美國(guó)那邊是一樣的。所以,這里面當(dāng)我的數(shù)據(jù)到某一個(gè)量級(jí)的時(shí)候會(huì)由量變到質(zhì)變,這時(shí)候就會(huì)讓數(shù)據(jù)的并發(fā),像交易系統(tǒng)一樣,就是你的并發(fā)非常高,后面會(huì)不停的再往上傳輸,這時(shí)候它的數(shù)據(jù)量像雪球一樣越滾越大,這個(gè)數(shù)據(jù)可能就完全處理不完了,真的成為DDoS了。
所以,這里有兩個(gè)觀點(diǎn):第一,要良好的擴(kuò)展網(wǎng)絡(luò)架構(gòu),剛才我講到混合云為什么采用混合云,不采用私有機(jī)房。第二,云+端的控制策略。云+端是什么意思?其實(shí)就是大家真的在做大數(shù)據(jù),在做處理的時(shí)候,不是說(shuō)你這個(gè)數(shù)據(jù)從底下一下就到云端這個(gè)事就完了,不是。是因?yàn)槟阈枰谀愕亩说倪@個(gè)地方,就是你在數(shù)據(jù)上傳這個(gè)端是要有策略的,當(dāng)你云端出現(xiàn)了無(wú)法處理完成的時(shí)候,你要回來(lái)說(shuō),這個(gè)東西先別傳了,4個(gè)小時(shí)以后,或者2個(gè)小時(shí)以后再傳,或者我發(fā)現(xiàn)這個(gè)設(shè)備本身是惡意的一個(gè)設(shè)備,不停的在傳一些設(shè)備,我會(huì)下一個(gè)策略說(shuō),這個(gè)設(shè)備現(xiàn)在不要傳了,進(jìn)入黑名單靜默,這樣我在啟動(dòng)的時(shí)候,有心跳的時(shí)候你再傳,這些策略會(huì)在這個(gè)里面設(shè)。在云端有一些策略,比如時(shí)間間隔是5秒傳還是5個(gè)小時(shí)傳。清洗策略,就是這些數(shù)據(jù)哪些是你來(lái)的時(shí)候我接收,哪些我接收都不接受了。包括像分流,我們現(xiàn)在在傳的時(shí)候,你肯定不能單點(diǎn)傳到某一個(gè)地方,你的云端一個(gè)策略,云告訴底下端的策略到底傳到哪里去,下一步不要往里傳了,這個(gè)混合云的接收端不行了,換一個(gè)公有云再傳,這些其實(shí)都是云端的一些策略。
設(shè)備端的策略,主要是看有一些失敗的策略,更新的策略,包括?;?,就是一直有心跳,這些也是驗(yàn)證了很多合作伙伴,現(xiàn)在目前來(lái)講,我這個(gè)策略會(huì)從5秒到6個(gè)小時(shí),而且可以屏蔽和分流一些歷史設(shè)備,這些都是大家在做云化大數(shù)據(jù)處理的時(shí)候都會(huì)遇到的一些問(wèn)題。
挑戰(zhàn)二,其實(shí)這個(gè)事也是,數(shù)據(jù)都上來(lái)了,大家已經(jīng)在混合云上面使用了。經(jīng)常遇到企業(yè)的一些需求是什么?就是說(shuō),我想看到某一些特征的用戶,這些標(biāo)簽它的某一些的統(tǒng)計(jì)值是什么,這里舉了一個(gè)例子,右邊各種各樣的標(biāo)簽,做完標(biāo)簽之后,馬上說(shuō)具有這些標(biāo)簽的這些用戶統(tǒng)計(jì)值是什么樣的,最難的是要求30秒給我算出來(lái),但是其實(shí)背后是一個(gè)幾百億條的數(shù)據(jù),然后用戶是一個(gè)十幾億的用戶,標(biāo)簽可能幾千個(gè)。如果通過(guò)標(biāo)簽+用戶+設(shè)備數(shù)一乘起來(lái)上萬(wàn)億了,所以這個(gè)事是不行的。最終我們的解決方案還是兩件事,一個(gè)是解決方案中另一個(gè)除了Hadoop之外的一個(gè)開(kāi)源的大的APP架構(gòu)的一個(gè)解決方案,前年年底開(kāi)源的,我去年年初的時(shí)候用了它,它是在數(shù)據(jù)并行計(jì)算方面比較快的。即使用了它還是不行,所以中間我們會(huì)做一些分層抽樣,就是對(duì)你的這些人群,根據(jù)抽樣策略有一個(gè)小的模型,抽樣完了,目前能體驗(yàn)到20秒把這個(gè)東西算出來(lái)。這是其中像大數(shù)據(jù)常見(jiàn)的問(wèn)題之一了。
問(wèn)題之二,剛才說(shuō)查這個(gè)數(shù)現(xiàn)在好了,現(xiàn)在也經(jīng)常有企業(yè)有另外一個(gè)場(chǎng)景,就是漏斗查詢,我想看這些人究竟誰(shuí)瀏覽了網(wǎng)頁(yè),瀏覽網(wǎng)頁(yè)的人有多少人瀏覽了商品,瀏覽商品的人有多少人真的下單了,下單完了之后有多少人支付了,很簡(jiǎn)單這樣一個(gè)問(wèn)題,就看一個(gè)月內(nèi)7日的轉(zhuǎn)化率是多少,但是目前來(lái)講,整個(gè)互聯(lián)網(wǎng)圈子都沒(méi)有特別好的解答,大部分人會(huì)避開(kāi)這個(gè)問(wèn)題,所以這個(gè)東西是非常難的。它難在是在對(duì)一個(gè)有序行為序列的轉(zhuǎn)化漏斗,因?yàn)檫^(guò)去咱們熟悉的這些SQL,包括常見(jiàn)的處理方式,都是針對(duì)無(wú)序的,針對(duì)有序的查詢是很麻煩的。我后來(lái)也是在這里邊寫(xiě)了一個(gè)東西,先寫(xiě)成一個(gè)函數(shù),再作為一個(gè)轉(zhuǎn)化率的時(shí)候,這件事情我后來(lái)也是會(huì)把它開(kāi)源掉,因?yàn)檫@一堆問(wèn)題,業(yè)界大家都在問(wèn)這個(gè)問(wèn)題,很常見(jiàn),我打算也把它開(kāi)源掉,給大家一個(gè)參考,如果有做的更好的,也希望持續(xù)開(kāi)源。
其實(shí)針對(duì)每個(gè)點(diǎn)的布點(diǎn)優(yōu)化,云+端,端的SDK會(huì)不停的做優(yōu)化,做每一個(gè)點(diǎn)的優(yōu)化,把整個(gè)原來(lái)的系統(tǒng)去重新構(gòu)建,重構(gòu)去變成新的一個(gè)系統(tǒng)才能滿足你將來(lái)幾個(gè)億的月活的這樣一個(gè)大數(shù)據(jù)集群的滿足。
所以,回到我這個(gè)現(xiàn)在看到我的整個(gè)的一個(gè)易觀的混合云的一個(gè)大數(shù)據(jù)這樣一個(gè)平臺(tái),你會(huì)發(fā)現(xiàn)其實(shí)底下是各種各樣的數(shù)據(jù)采集,然后通過(guò)我們的公有云的接收端,上面有很多技術(shù)的大數(shù)據(jù)的平臺(tái)模塊,有Hadoop,那邊有一些我們自己自建的平臺(tái),看上去很簡(jiǎn)單,但是每一個(gè)模塊畫(huà)上去背后都有它的故事。我今天主要給大家講講剛才遷移上面遇到的一些問(wèn)題,這是最后遷移完的一個(gè)結(jié)果。
浴火重生以后,現(xiàn)在我們看到混合云大數(shù)據(jù)平臺(tái)4.42億月活,累計(jì)裝機(jī)量1.8個(gè),18.2億,現(xiàn)在3000多萬(wàn)的日活,這個(gè)基本上在互聯(lián)網(wǎng)是前十,確切說(shuō)是前五。這是全公有云的平臺(tái),現(xiàn)在基本上我們的存儲(chǔ)達(dá)到5.8PB,這是目前整個(gè)存儲(chǔ)的量級(jí)。因?yàn)榇蟮募旱紫氯渴撬接谢?,所以還會(huì)不停的擴(kuò)集群,然后有公有云的這種非常健壯的接收能力,能夠讓我一直不停的擴(kuò)大初級(jí)接收端。
總結(jié)一下,其實(shí)簡(jiǎn)單的幾件事。第一,要做基礎(chǔ)建設(shè),混合云的建設(shè),混合云的驗(yàn)證。第二,做歷史數(shù)據(jù),原始數(shù)據(jù)的同步,包括MR研發(fā)與追數(shù),數(shù)據(jù)比對(duì)與校準(zhǔn)。第三,并行驗(yàn)證,并行程序研發(fā),并行試運(yùn)行,并行運(yùn)行,產(chǎn)品切換準(zhǔn)備,兩邊數(shù)據(jù)都有了,然后進(jìn)行無(wú)縫的切換,其實(shí)沒(méi)有感覺(jué)到產(chǎn)品是由原來(lái)的集群遷移到另外一個(gè)新的集群,從用戶端和產(chǎn)品端看不到這個(gè)事。最后,處理過(guò)程當(dāng)中有很多數(shù)據(jù)治理的問(wèn)題,數(shù)據(jù)口徑的問(wèn)題,元數(shù)據(jù)治理的問(wèn)題,這些都是大家在大數(shù)據(jù)云遷移的時(shí)候遇到的這樣一個(gè)問(wèn)題。
基本上用幾個(gè)話總結(jié)一下今天跟大家分享的。第一,分享了幾個(gè)簡(jiǎn)單的方法論,怎么做大數(shù)據(jù)云的遷移。然后,講了一個(gè)最佳實(shí)踐。第三,賦予了一些開(kāi)源的一些工具,希望今天我的分享給大家有所幫助,非常感謝各位!