人云科技理吳朱華:中小企業(yè)Big Data解決之道
人云科技創(chuàng)始人兼總經(jīng)理吳朱華
吳朱華表示海量數(shù)據(jù)呈現(xiàn)“4V + 1C”的特點。既Variety:一般包括結構化、半結構化和非結構化等多類數(shù)據(jù),而且它們處理和分析方式有區(qū)別;Volume:通過各種設備產(chǎn)生了大量的數(shù)據(jù),PB級別是常態(tài);Velocity:要求快速處理,存在時效性;Vitality:分析和處理模型必須快速變化,因為需求在變;Complexity:處理和分析的難度非常大。互聯(lián)網(wǎng)企業(yè)、智能電網(wǎng)、車聯(lián)網(wǎng)、醫(yī)療行業(yè)和安全領域等都充分體現(xiàn)出海量數(shù)據(jù)的用途和價值。他認為中小企業(yè)面對大數(shù)據(jù)的解決之道應遵循采集、導入/處理、查詢、挖掘的流程。
***吳朱華向大家介紹了自家的YunTable。YunTable是在傳統(tǒng)的分布式數(shù)據(jù)庫和新的NoSQL技術的基礎上發(fā)展而來的新一代分布式數(shù)據(jù)庫。通過它能構建一個百臺級別的分布式集群來管理PB級別的海量數(shù)據(jù)。YunTable***的特色就是快,它能極快地導入海量的數(shù)據(jù),并極快地進行相關的查詢;其次是TCO低,整體成本比提供類似性能的Oracle Exadata或者EMC GreenPlum等低很多,并且擴展能力更強。
以下為文字實錄
剛才有嘉賓說到審核,我們大多數(shù)群眾希望哪一天微博能夠自動審核,而不用人工審核。今天非常榮幸來到這里,海量數(shù)據(jù)是一個非常大的趨勢,不僅在座一些淘寶,騰訊,阿里巴巴這種公司有這類需求,我接觸很多公司都有這種類似需求,特別是一些中型物聯(lián)網(wǎng)跟互聯(lián)網(wǎng)公司我今天借這個機會和大家分享一下,我是如何幫助一些中小型企業(yè)實施一些海量數(shù)據(jù)相關解決方案。
在這里我首先做一下自我介紹,我叫吳朱華,是上海人云科技團隊創(chuàng)始人,之前是在IBM中國研究院從事云計算相關的研究工作。這是我的郵件地址,還有我的微博,還有我 網(wǎng)站地址,就是人云的意思。接著介紹一下我們團隊,是成立2010年底,主要都是來自于研究院和上海貝爾卡特等著名IT企業(yè),我們現(xiàn)在離力推的產(chǎn)品是YunTable,還有今年年初我們出版一本書叫《云計算核心技術剖析》,這本書半年之內(nèi)已經(jīng)印刷上萬冊,具有非常好評。之前的一些書沒有專門針對程序員,我專門寫了這本書,雖然不是說什么大師之作,看了之后還是有所收獲。
首先給大家講一下在我眼中什么是海量數(shù)據(jù)?最近幾年由于物聯(lián)網(wǎng),由于微博,智能手機,傳感器這種設備越來越多,通過電腦生成數(shù)據(jù)越來越多,而且量級化是過去無法想象的。在這些數(shù)據(jù)里面都有什么價值呢?談到這了,我跟大家做一個比喻,我覺得非常合適。如果我們拿出一個放大鏡,放大鏡指的是用于處理海量數(shù)據(jù)的一個工具,我們拿放大鏡照著這些冰冷的數(shù)據(jù),我們就能發(fā)現(xiàn)有一些非常有價值,通過行業(yè)給大家講一下價值在哪些方面。
***個是互聯(lián)網(wǎng)企業(yè),比如我們有用戶做網(wǎng)絡廣告監(jiān)測,每天有幾百G技術,網(wǎng)絡點擊數(shù)據(jù),他就會去分析這些點擊日志來分析,哪些用戶在哪些階段點擊廣告,從而幫助商戶們來判斷他投廣告是否有價值。第二是智能電網(wǎng),我有客戶是做一些智能電網(wǎng)方面的解決方案。比如說,他們一個省有300個用電用戶,每隔幾分鐘會將他們大宗數(shù)據(jù)發(fā)送到后端集群當中,之后集群就會對這些數(shù)億條數(shù)據(jù)進行分析,來分析一下大概的用電模式,根據(jù)用電模式來生產(chǎn)電力,這樣能夠節(jié)省電力資源的浪費。
第三個方面是車聯(lián)網(wǎng),我們有用戶是做這方面,他們有幾十萬個車載終端。他們車載終端,是每隔幾分鐘都會上傳一些數(shù)據(jù)到后端數(shù)據(jù)集群里面,***會分析這些數(shù)據(jù),來判斷一下大致路況是什么情況,之后將有價值的路況信息給Push客戶端里面,能夠幫助客戶節(jié)省在路上時間。第四是醫(yī)療行業(yè),每個人看病都有病例,如果我們把全國,幾千萬病例都匯總起來之后進行一些數(shù)據(jù)分析,數(shù)據(jù)處理,會找出大致的一些模式,通過這種模式非常容易的幫助醫(yī)生看病。
第五個是安全領域,比如美國比較火,中情局,他們有很多影視數(shù)據(jù)關于煽動的,還有本拉登一些照片,之后就分析一些哪些煽動助薩達姆,卡札菲,本拉登,除此之外還有一些通過海量分析文本數(shù)據(jù)從而形成一定程度的AI。
之后跟大家講一下,我總結數(shù)據(jù)有四個特點,4V+1C。***V是Variety,海量數(shù)據(jù)有不同格式,***種是結構化,我們常見的數(shù)據(jù),還有半結據(jù)化網(wǎng)頁數(shù)據(jù),還有非結構化視頻音頻數(shù)據(jù)。而且這些數(shù)據(jù)化他們處理方式是比較大的。第二點就是Volume,量比較大,我們有一些用戶化每秒就要進入很多數(shù)據(jù),很多客戶內(nèi)部都有幾批數(shù)據(jù),還有下面淘寶都是幾PB數(shù)據(jù),所以PB化將是比較常態(tài)的情況。
第三個是Velocity,因為數(shù)據(jù)化會存在時效性,需要快速處理,并得到結果出來。比如說,一些電商數(shù)據(jù),今天的信息不處理沒有結果化,將會影響到今天捕獲很多商業(yè)決策。第四是Vitality,因為大家知道互聯(lián)網(wǎng)行業(yè),各行業(yè)需求在變,所以說不像銀行業(yè),金融業(yè)都是IBM大型機用了幾十年都沒有問題。所以,他們分析模型是不斷變化的,基于上個4個V,說明促成***一個C就是Complexity,使得海量數(shù)據(jù)分析非常復雜,使得過去靠單純易于關于數(shù)據(jù)庫BI已經(jīng)不是太適合了。所以,可能需要新的創(chuàng)新。
***跟大家講一下海量數(shù)據(jù)如何從小做起?如何做企業(yè)化,離不開兩個東西,一個是流程,利用流程來幫助我們認清一個大致的步伐和節(jié)奏。第二就是方針,利用方針來指導我們?nèi)绾巫哌@個流程。跟大家講一下剛才說到方針和流程,先講一下流程,流程怎么分四步,我個人總結。***步是采集,第二步是導入和處理,第三步是查詢,第四步是挖掘,分別給大家解釋一下。
***步是采集,我們現(xiàn)在很多客戶端他們都會發(fā)數(shù)據(jù)給前端的數(shù)據(jù)庫,比如MySQL,MySQL把數(shù)據(jù)存下來,并且用戶會對這些數(shù)據(jù)進行查詢,比如說電商數(shù)據(jù),我們現(xiàn)在做筆交易,馬上可以存到里面,用戶可以進行查詢訂單什么樣一個情況,是不是發(fā)到上海,我們家那邊了。在采集階段特點并發(fā)數(shù)非常高,每秒鐘有幾十萬次并發(fā),或者是上次奧運會一樣,幾百萬次,幾千萬次并發(fā)。在這個階段比較常用的數(shù)據(jù)MySQL,Redis,MongoDB,還有用于一些工業(yè)場合實時數(shù)據(jù)庫。
第二階段是導入和處理,因為前端雖然很多小型數(shù)據(jù)庫,但是太分散很難進行統(tǒng)一分析。所以,我們需要將海量來自前端數(shù)據(jù)導入到一個集中數(shù)據(jù)庫進行集中處理,并在導入過程中進行一些數(shù)據(jù)清洗工作。在這個階段導入量非常大,需要每秒100兆,或者百萬行量級,如果太低會造成流程堵塞。
第三點是查詢,將很多數(shù)據(jù)導入集群里面,就可以對數(shù)據(jù)進行普通查詢和分類匯總,從而滿足一些大多數(shù)商業(yè)方面要求。在這邊查詢涉及到數(shù)據(jù)量非常大,查詢的請求特別多,被選工具有Hadoop,還有Hadoop比較好的一些東西,比如來自FaceBook的hive,還有來自雅虎,HBase等階段。我們走到第三階段挖掘,基于之前一些數(shù)據(jù)結果進行挖掘。一種是推介,第二種是分類,第三種是群集,三大類的數(shù)據(jù)挖掘算法。特點算法比較復雜,一般是看不懂,并且涉及到數(shù)據(jù)量跟計算量是非常大的。因為這塊我不是太熟只舉了一個產(chǎn)品,就是Hadoop Mahout,可以支持三大類算法,一推介,二分類,三集群。
對于現(xiàn)在的大數(shù)據(jù)環(huán)境而言,Hadoop絕對是現(xiàn)在最主流的平臺。不論IBM、微軟還是Oracle都選擇與她并存。還有一些小公司,也在做基于Hadoop的東西。
之后給大家講一下具體方針,***點要認識自己的不足,因為我們中小企業(yè),無論是在資源,資金方面,是無法跟一些三巨頭相媲美,我們要認識自己的不足。第二點是明確分析自己的需求,比如說我們的海量數(shù)據(jù)是結構化的,還是非結構化的,還是半結構化的。比如說,我們數(shù)據(jù)大小是TB級別,還是PB級別,還是PB+級別的。還有我們瞬間讀寫量級是什么級別,出現(xiàn)讀寫100萬行,或者讀寫100兆,或者我們是讀為主,還是寫為主,還是同時建立并發(fā)數(shù)大概是多少,不是我們百萬并發(fā)還是千萬并發(fā),還有一致性,我們是需要強一致性,還是***一致性,還有延遲度,***能夠容忍多慢延遲度,而不是一秒,10秒,或者1小時,還有算法復雜度。
第三點我們要靈活使用現(xiàn)有工具,比如一些開源,還有一些可以承受的商業(yè)軟件。我個人不是排斥自建,因為我們小公司,我們要找準點,希望那個點不是重新發(fā)明文字,而是能夠做到畫龍點睛。第四部分并不是所有公司都是亞馬遜,我們盡可能,就連Google也很難做平臺化路線,我們盡量不要往那方面走,因為平臺化本身有很多成本在上面,比如設計成本,我們盡可能以應用場景為先,先把我們商用場景,商用價值跑出來再說。
第五點比較通用的語言,我們要進行不斷測試迭代來進行驗證。通過不斷測試迭代我們就認清楚,哪些技術分析。之后還有通過迭代認清楚需求,并且通過迭代向老板證明我們做的事情是有價值的。還有你覺得流程,都比較復雜跑出來再說,可能通過這個過程就知道大致需要一些什么,如果實在不行就可以先跑跑試試看。
***跟大家介紹一下我們YunTable,在性能方面做很多優(yōu)化。因為我們出去跟客戶談,為什么要用我們的東西,唯一的理由就是我們快。我們專注點在導入和查詢,能夠?qū)?shù)據(jù)非??鞂胛覀僘unTable里面,并且能夠非??斓倪M行查詢。比如我們上周有個例子,我們用戶一個表大概50列,我們先試一個比較簡單的,現(xiàn)實一下兩億行的場景,我們起4個節(jié)點把兩億行導進來,每秒能導入20多萬行,大概20多分鐘能夠?qū)霐?shù)據(jù)庫里面,之后在這個基礎上,平均在10秒以內(nèi)完成大多數(shù)的查詢工作。
因為我們那邊性能方面已經(jīng)做到***,我感覺是接近Oracle Exadata,但是成熟度都比我們強很多。***謝謝大家,我做兩個小廣告。書的廣告已經(jīng)做了,第二點如果大家需要一些海量數(shù)據(jù)分析的解決方案,特別中小企業(yè)可以跟我聯(lián)系,我微博還有郵件都在上面,如果大家需要一個導入數(shù)據(jù)非??爝M行導入,幾十萬條,幾億條都沒有問題,我們可以幫你試試看,***感謝大家。