圓桌論壇:如何應對海量資料的挑戰

發表於2011-08-12

海量資料的浪潮有多迅猛?IDC在2006年估計全世界產生的資料量是0.18ZB(1ZB=100萬PB),而今年這個數字已經提升了一個數量級,達到1.8ZB,差不多對應全世界每個人一塊100多GB的硬碟。這種增長還在加速,預計2015年將達到近8ZB。目前IT系統的儲存能力遠遠不足,就更不用說深入地挖掘和分析了。

在本文中,百度首席科學家威廉·張、Teradata首席客戶官周俊凌、Yahoo!北京全球軟體研發中心架構師韓軼平、SAP中國區企業資訊管理諮詢資深顧問杜韜等四位業內專家,將分享他們在應對海量資料挑戰方面的見解和經驗。

您所在企業的資料量現在達到了什麼規模?

威廉·張:這個問題比較容易回答。百度不是一個產品,不僅有搜尋引擎,還包括很多社群產品和媒體產品,所以這個數字大概是數百個PB,每天處理的資料大約有幾十個PB。我是差不多四年半前加入百度的,所以我比較清楚地記得那時候的規模。與那時相比,現在的資料規模成長比較驚人,大概是那時的500~1000倍。

資料量大並不可怕,問題是要實時處理資料,因為任何的時延都會使服務失去一些優勢,從而導致商業經濟的下降。我們所做的策略都是針對實時性的,而且今天網際網路使用者的需求更加實時化,比如說微博、團購、秒殺。

周俊凌:從IDC的資料統計報告來看,資料增長是非常快的。相對於具體的資料量,Teradata更關注資料發展的趨勢,並大量投入研究這種發展趨勢,包括BI方面的變化和增長模式,這個模式對於我們非常有價值,通過研究這種模式,包括每分鐘、每秒鐘交易量有多大等這些資料的發掘和建模,資料科學家進行研究和探討,把這些技術應用到生產系統裡面,對企業發揮作用。

韓軼平:Yahoo!的主要雲端計算平臺Hadoop現在有34個叢集,總數超過3萬臺機器,最大的叢集是 4000臺左右,總儲存容量超過100PB。這個數量級可以說並不大,主要原因在於我們最近將很多精力放在處理使用者隱私性和資料安全性上,因為按照歐盟的規定,Yahoo!不能儲存超過一年的資料,所以我們的應對措施就是:不儲存原始資料,但做很深入的資料探勘,挖掘出真正蘊含的有價值的資訊,把這些資訊儲存下來。

杜韜:SAP作為企業級應用提供商,更關注客戶的資料量,而我們的客戶有許多資料密集型企業,比如電信、金融、政府、零售等,資料量級從幾個TB到數百TB。SAP在德國總部的資料中心有3萬臺伺服器,資料量大概是15PB,主要為客戶提供服務。我們正在幫助客戶將內部應用遷移到我們的資料中心服務平臺,這也意味著越來越多的客戶資料會存在我們這兒。

面對如此海量的資料,您所在公司是怎樣進行儲存、處理、分析的?

杜韜:一方面在資料中心,我們使用了標準的虛擬化以及分散式儲存;另一方面,我們推出了記憶體計算技術,用以應對資料應用和分析的挑戰。傳統的架構存在很大的瓶頸,磁碟讀取是以毫秒,而記憶體讀取則是納秒。因此,我們將以前需要在應用層做的計算分析,比如預測分析或者大量運算,都放到記憶體裡操作,從而實現效能提升,幫助使用者充分利用資料。

韓軼平:對Yahoo!的情況,我想分三個部分來說明:資料採集、資料儲存和資料處理。

在資料採集方面,我們建立了一個遍佈Yahoo!幾個資料中心、幾十萬臺機器的實時蒐集資料系統,該系統特點是一個主幹道負責把資料經過過濾、清理以後,進行整合,並且在高可靠性的情況下,把它放到Hadoop平臺。雖然相對來說精度很高、效果很好,但速度會慢一些。為了滿足威廉·張所說實時性的需求,還有一個旁路系統,旁路系統在秒級能夠把資料匯到主幹道上,這是資料採集的部分。

在資料儲存方面,基本上以HDFS為核心。在資料處理方面,主要技術是Hadoop、MapReduce以及我們自己開發的Pig。目前,我們有超過一半資料處理引擎是用Pig完成的。

周俊凌:Teradata一直在持續創新傳統的企業級資料倉儲產品線,在對接大資料時代的同時,繼續傳統的BI領域,包括提高資料處理的能力,從而更容易適應大資料管理。例如,通過資料訪問頻率高低確認資料溫度,進行資料壓縮,適應大資料的分析要求,使資料管理更容易。

我們有適應超高規模資料容量要求的硬體平臺產品Teradata 1000,可以壓縮35PB的資料。特別適用一些結構性資料和非結構性資料的分析,同時開發了很多能夠進行資料統計和分析的軟體包,包括將Hadoop等架構整合到Teradata資料倉儲之中,可以基於目前的Teradata企業級資料倉儲介面使用。

我們提供基於雲的架構,能夠使用Amazon EC2,為客戶提供安全的儲存產品,用來儲存公司防火牆以外的、儲存在雲端的資料。我們剛剛收購了Aster Data公司,它有一些非常好的工具,適用於Hadoop、MapReduce的一些應用。

威廉·張:各網際網路企業在雲端計算技術方面的應用都差不多,比如說百度也用了Hadoop,我提幾個比較有特點的地方。

第一個是大搜尋,即不僅是把網頁抓過來,建立極其龐大的索引,而且為了使資料做到準實時或者更快速的更新,進行一些優化,比如根據地域分佈和重要性分佈,放在南方或者北方的機房裡,主要還是根據資料應用制訂的策略。另外就是採用資料流技術。

第二個是機器學習演算法。在科技領域裡,機器學習以前更多的是對一臺伺服器記憶體裡的資料進行高複雜的計算,可能要跑很長時間。而在百度,機器學習應用於所有地方,比如判斷使用者需求,從使用者行為反饋中得到我們應該推薦什麼樣的內容、匹配什麼樣的廣告等,時效性非常高。可以稱得上是增量型、大規模的機器學習方法。

此外,網際網路應用要繼續發展,最關鍵還是找到更有價值的資料,即不管資料來自何方,都要按照價值來決定如何處理它。

您怎樣看待層出不窮的NoSQL技術?

杜韜:我一直認為,存在的就是合理的,NoSQL的產生和演進也是因為我們現有的應用需求所導致。當前在大併發量、海量資料的高效讀寫等方面,對關係型資料庫提出了更高的要求,而NoSQL在這方面有獨特的價值和優勢。

周俊凌:通過資料訪問頻率高低確認資料溫度,進行資料壓縮
韓軼平:Yahoo!不儲存原始資料,但做很深入的資料探勘

當然,這並不是說NoSQL的出現就代表著關係型資料庫的世界末日,因為對於一些應用,特別是企業級應用,對於事務的一致性以及讀寫的實時性等各方面有很高的要求,而關係型資料庫在這些年的發展中積累了自己的優勢。

因此,我很認同NoSQL是“Not Only SQL”的說法,相信在未來關係型資料庫和NoSQL會並存甚至是相互融合。

韓軼平:NoSQL是一個很寬泛的概念。在Yahoo!,雖然NoSQL說得不多,但用的NoSQL工具非常多,我們的Key-Value資料庫等各種各樣的系統,都屬於NoSQL框架。至於說NoSQL和SQL之間的關係,因為很多場合需要ACID,也就需要 NoSQL的東西,而NoSQL之所以會出現,就像我經常說的“上帝是公平的”,當有一個需求出現時必須放棄另一個東西。我們的很多需求,比如大資料量、高分佈性,當有了這些需求以後另一個需求可能成為新的瓶頸。事實上,對我們來說,網際網路行業在很多應用中並不需要一致性。當把需求放寬時,自然能夠滿足另一些需求。

怎樣挖掘資料中的價值?

威廉·張:我舉一個直觀的匹配廣告的例子,它包括兩類資料:一類是廣告庫,即廣告內容資訊和廣告客戶資訊,這類資訊很適合於傳統資料庫;另一類資訊是使用者看到廣告之後的一切行為,經歷了日積月累,可能會有幾百萬億的使用者行為。這兩種資料可以相結合,經過機器學習演算法就能產生價值。顯然,第二種資訊更重要,因為它能給使用者提供想要的資訊,比如搜尋一個詞,可以利用所有使用者在他之前、在他之後的群體智慧、群體行為,判定哪一類的資訊最重要、最優質,哪一類資訊可能是作弊資訊,然後經過反饋機制,把最好的內容提供給使用者,甚至推薦相關的一些搜尋、查詢資訊。總而言之,對任何企業來說,資料是命根子;對雲端計算來說,資料處理就是雲資料中心或者雲端計算存在的理由。

韓軼平:我們工作之餘經常開玩笑說:從資料中能挖出的東西,不一定是錢,更重要的是使用者體驗,對網際網路公司來說,資料就是一切。Yahoo!不僅僅是搜尋引擎,也有很多在美國各領域中排名第一的網站。我們做的很多工作,比如新聞網站資訊,都是根據新聞的相關性和大家的興趣推薦的,我們希望根據每一個使用者自己的興趣,甚至每一個使用者此時此刻的興趣,進行推薦。Yahoo!新聞的推薦系統,是把Yahoo!所有的資料蒐集起來,使用者在Yahoo!搜尋上的所有行為都蒐集到一起,做深度挖掘和個性化,對每一個使用者都進行分析和推薦,沒有這些資料我們不可能為客戶提供體驗,資料對我們來說就是一切。
杜韜:既然各位是從網際網路的角度來看資料的價值,那麼我就從企業的角度來分享一下。

智慧電網現在歐洲已經做到了終端,也就是所謂的智慧電錶。在德國,為了鼓勵利用太陽能,會在家庭安裝太陽能,除了賣電給你,當你的太陽能有多餘電的時候還可以買回來。通過電網收集每隔五分鐘或十分鐘收集一次資料,收集來的這些資料可以用來預測客戶的用電習慣等,從而推斷出在未來2~3個月時間裡,整個電網大概需要多少電。有了這個預測後,就可以向發電或者供電企業購買一定數量的電。因為電有點像期貨一樣,如果提前買就會比較便宜,買現貨就比較貴。通過這個預測後,可以降低採購成本。

另一個例子更偏我個人的興趣。丹·布朗的《失落的祕符》一書講到,如果把很多人的精神集中在一個點,能夠移動物體。當然這個我們無從考證,但我們在網上搜尋關鍵詞、敏感詞時,就可以判斷出某件事情的公眾態度。有一些新的業務模式,比如做一個網路廣告投放評估公司,利用這樣的技術評估網路廣告的效果,我覺得也許是未來的業務價值產生點。

海量資料時代對企業和技術人員帶來了哪些挑戰?怎樣看待海量資料的未來?

韓軼平:以前我們都說自己是軟體工程師,我們這個行業也經常被叫做軟體行業,但我認為我們是真正的 Information Technology行業。對大多數人來說,現在最重要的一點是轉變觀念,從Code/Program觀念轉變成Data觀念,在做任何設計和開發時,要把Data放在第一位。

杜韜:海量資料一直在增長,但是我們應該想辦法控制下來,未來的趨勢應該放在怎樣縮小海量資料上,而不是任憑它擴張。此外,海量資料時代對中國來說是一次引領世界IT業的機會。

周俊凌:在雲端計算時代,業務資料與雲緊密結合在一起,提供業務開發的能力,我們從中學到了很多新的東西,有一些東西不再是自己去儲存和開發,而是都放在雲裡面儲存。技術產品推向市場的方式與以往相比,發生了很大變化。雲的這樣一種環境也給資料庫提供商帶來很多技術上的挑戰,例如如何保證儲存的安全性,包括身份識別的健全。這關係到資料的儲存地方,例如現在發貨的資料都是放在全球任何一個地方,不是放在某一個國家裡面,這就帶來關於資料主權的問題,可能有一些國家和政府不允許把資料放在國家某些地方,這都是一些挑戰,需要從技術上解決安全等問題。

威廉·張:這裡我淺談一下兩點感受。

首先,資料管理是DBA的一項重要本領,而高校的計算機專業教育裡沒有特別重視資料程式設計師,並沒有資料管理員;其次,MapReduce並不是一個新概念,早在30~40年前當計算機能力還超小的時候,函數語言程式設計語言就出現了,但至今大學裡還沒有開設MapReduce或者類似資料處理的課程,也基本上沒有人聽過這些東西。

未來將所有人的生活經驗資料放在雲裡,這個大概可以實現,但如果解決不好資料安全性問題的話,那麼距離最終的實現就會很遠。

我期待雲端計算變成雲知識、雲智慧,而不僅僅是計算的工具。建立資料整合分享是雲端計算成功的必要和充分條件。

相關文章