Youtube存儲(chǔ)了31PB的流媒體數(shù)據(jù)。Cisco公司預(yù)計(jì):到2012年每個(gè)月網(wǎng)絡(luò)上視頻流大約為5Exabytes(5000PB)。除互聯(lián)網(wǎng),呼叫詳細(xì)記錄,天文學(xué),大氣科學(xué),基因組學(xué),生物地球化學(xué),生物,和其他復(fù)雜和/或跨學(xué)科的科研,軍事偵察,醫(yī)療記錄,攝影檔案館視頻檔案和大規(guī)模的電子商務(wù)都需要面對(duì)急劇增長(zhǎng)的大量數(shù)據(jù)。
這些海量的數(shù)據(jù)蘊(yùn)藏了大量給企業(yè)帶來(lái)價(jià)值的信息。在它的幫助下,人們可以發(fā)現(xiàn)重復(fù)的商業(yè)模式,更準(zhǔn)確地預(yù)測(cè)商業(yè)活動(dòng)趨勢(shì);發(fā)現(xiàn)疾病發(fā)作的原因和傳染的規(guī)律,有效地預(yù)防疾病的爆發(fā);掌握嫌疑犯人的活動(dòng)軌跡,有效地打擊和違法犯罪活動(dòng)等。企業(yè)用以分析的數(shù)據(jù)越全面,分析的結(jié)果就越接近于真實(shí)。大數(shù)據(jù)分析意味著企業(yè)能夠從這些新的數(shù)據(jù)中獲取新的洞察力,并將其與已知業(yè)務(wù)的各個(gè)細(xì)節(jié)相融合。
急劇增長(zhǎng)的數(shù)據(jù)集合也給企業(yè)和數(shù)據(jù)管理能力提出了前所未有的挑戰(zhàn),不再適宜于用當(dāng)前管理數(shù)據(jù)庫(kù)的工具來(lái)進(jìn)行分析處理。這些難點(diǎn)包括:數(shù)據(jù)的抓取,存儲(chǔ),檢索,共享,分析以及可視化等。這種好處和獲得的困難的矛盾直接催生了“大數(shù)據(jù)”這一概念的提出和被快速認(rèn)同。根據(jù)維基本科的定義,大數(shù)據(jù)是指無(wú)法在一定時(shí)間內(nèi)用常規(guī)軟件工具對(duì)其內(nèi)容進(jìn)行抓取、管理和處理的數(shù)據(jù)集合。大數(shù)據(jù)來(lái)自方方面面,從搜集天氣情況的感測(cè)器,接入社交媒體網(wǎng)站的指令,數(shù)碼圖片,在線的視頻資料,到網(wǎng)絡(luò)購(gòu)物的交易記錄,手機(jī)的全球定位系統(tǒng)信號(hào)。
由于大數(shù)據(jù)問(wèn)題被業(yè)界廣泛認(rèn)識(shí)并得到充分關(guān)注,目前已出現(xiàn)了相對(duì)成熟的大數(shù)據(jù)平臺(tái)。這些解決方案中基本分為兩大類:互聯(lián)網(wǎng)企業(yè)自建的大數(shù)據(jù)平臺(tái)和創(chuàng)新型企業(yè)提供的新型的大數(shù)據(jù)產(chǎn)品。前者代表公司主要有Google、Yahoo、Amazon、Facebook,以及國(guó)內(nèi)的百度、淘寶等,后者則有EMC、IBM、HP(Verica)、Teradata(AsterData)等。這其中深受矚目的是Hadoop平臺(tái),由于它的開源性質(zhì)和完善的平臺(tái)方案,吸引了包括Facebook、百度、淘寶在內(nèi)的國(guó)內(nèi)外互聯(lián)網(wǎng)廠商來(lái)使用這一生態(tài)系統(tǒng)構(gòu)建自己的大數(shù)據(jù)平臺(tái),并參與了這一系統(tǒng)的完善過(guò)程。
二、解決方案
2.1.基于大數(shù)據(jù)平臺(tái)的大型門戶網(wǎng)站
基礎(chǔ)設(shè)施面臨的問(wèn)題
在互聯(lián)網(wǎng)大行其道的今天,內(nèi)容和用戶是互聯(lián)網(wǎng)公司關(guān)注的焦點(diǎn)。成功的企業(yè)無(wú)一不是擁有大量穩(wěn)定的用戶,并以此建立自己的商業(yè)模式。而擁有內(nèi)容,特別是大量原創(chuàng)、優(yōu)勢(shì)內(nèi)容的企業(yè)或組織具備了贏得大量、忠實(shí)用戶的先決條件。
但內(nèi)容和用戶的增多給企業(yè)帶來(lái)了高效基礎(chǔ)設(shè)施和巨大訪問(wèn)能力的挑戰(zhàn)。為了支撐未來(lái)不斷擴(kuò)大的業(yè)務(wù),基礎(chǔ)設(shè)施必須預(yù)先籌劃,充分考慮到擴(kuò)展性。一方面要求系統(tǒng)保存內(nèi)容要具備橫向擴(kuò)展的能力,適應(yīng)不斷增多的系統(tǒng)規(guī)模和更大的訪問(wèn)量。另一方面,系統(tǒng)中相互關(guān)聯(lián)的業(yè)務(wù)模塊也要求基礎(chǔ)設(shè)施提供統(tǒng)一、共享的服務(wù)能力。從Google、Amazon、淘寶等成功互聯(lián)網(wǎng)企業(yè)披露的事實(shí)看,基礎(chǔ)設(shè)施成為決定互聯(lián)網(wǎng)企業(yè)能否做大做強(qiáng)的重要因素。
典型的大型門戶網(wǎng)站的業(yè)務(wù)類型復(fù)雜多樣,新聞、圖片、論壇、社區(qū)、博客,以及音視頻分享等都是有相當(dāng)成熟度的業(yè)務(wù)。有效支撐這種大型門戶網(wǎng)站的基礎(chǔ)設(shè)施需要解決三方面的問(wèn)題:數(shù)據(jù)存儲(chǔ)、在線服務(wù)和數(shù)據(jù)分析。具體看來(lái),它符合大數(shù)據(jù)的V4的標(biāo)準(zhǔn)。但是單一的大數(shù)據(jù)平臺(tái)只能解決某一方面的問(wèn)題,必須綜合使用多種技術(shù)才能高效實(shí)現(xiàn)統(tǒng)一的大數(shù)據(jù)平臺(tái),支撐門戶網(wǎng)站的發(fā)展要求。舉例來(lái)看,圖片是MB級(jí)的文件,F(xiàn)acebook和淘寶的私有系統(tǒng)采用不同的技術(shù)手段實(shí)現(xiàn)了圖片文件的高效存取,但不加修改的HDFS則很難有效管理巨量的小文件。
大數(shù)據(jù)平臺(tái)架構(gòu)
下圖給出了支撐大型門戶網(wǎng)站的大數(shù)據(jù)平臺(tái)架構(gòu)。它從邏輯上分為硬件層、存儲(chǔ)層和計(jì)算層,對(duì)上支持各種業(yè)務(wù)模型。
硬件平臺(tái)統(tǒng)一為整合計(jì)算和存儲(chǔ)能力的存儲(chǔ)服務(wù)器,服務(wù)器之間通過(guò)以太網(wǎng)絡(luò)互相連接。這種不再需要門類繁多的存儲(chǔ)設(shè)備和服務(wù)器類型的設(shè)計(jì)可以大大簡(jiǎn)化管理和建設(shè)的復(fù)雜程度。
存儲(chǔ)層解決各種類型數(shù)據(jù)的存儲(chǔ)問(wèn)題。上層業(yè)務(wù)的數(shù)據(jù)可以分解為:結(jié)構(gòu)化數(shù)據(jù)、文本(包括網(wǎng)頁(yè))、圖片、音頻、視頻、以及索引文件等。結(jié)構(gòu)化程度高、事務(wù)性強(qiáng)、需要反復(fù)操作的數(shù)據(jù)仍然保存在關(guān)系數(shù)據(jù)庫(kù)里,網(wǎng)頁(yè)信息等可以Key-Value的形式保存在NoSQL存儲(chǔ)系統(tǒng)中。大量小圖片、音頻文件等可以保存在分布式存儲(chǔ)系統(tǒng)中。為了提高檢索效率,各種索引以特有的格式分散保存。
圖 支撐大型門戶網(wǎng)站的大數(shù)據(jù)平臺(tái)
計(jì)算層負(fù)責(zé)將存儲(chǔ)層中管理的數(shù)據(jù)轉(zhuǎn)化成上層應(yīng)用所需要的數(shù)據(jù)集。這些轉(zhuǎn)化包括基本的數(shù)據(jù)存取,如基于唯一性的關(guān)鍵字獲取屬性值或內(nèi)容;通過(guò)關(guān)鍵字快速檢索某一應(yīng)用的數(shù)據(jù),或者整合多個(gè)系統(tǒng)的檢索結(jié)果呈現(xiàn)給用戶;使用Map-Reduce和并行查詢分別快速?gòu)拇笠?guī)模的文件數(shù)據(jù)或數(shù)據(jù)庫(kù)中分析出感興趣的信息。
從技術(shù)選擇上來(lái)看,數(shù)據(jù)庫(kù)存儲(chǔ)可以選擇橫向擴(kuò)展、支持復(fù)雜并行處理模式的MPP數(shù)據(jù)庫(kù)系統(tǒng),NoSQL key-Value存儲(chǔ)可以選擇Hadoop-HBase系統(tǒng),分布式存儲(chǔ)可以選擇業(yè)界優(yōu)秀的集群存儲(chǔ)系統(tǒng),選擇支持可以插件形式擴(kuò)展各種應(yīng)用的檢索系統(tǒng)。
業(yè)務(wù)實(shí)現(xiàn)
大數(shù)據(jù)平臺(tái)提供的存儲(chǔ)和計(jì)算資源都可以實(shí)現(xiàn)資源池,以多租戶的形式提供給上層應(yīng)用使用。
以新聞為代表的網(wǎng)頁(yè)需要將各種文字、圖片等信息組織起來(lái)呈現(xiàn)給瀏覽者。Web Server可以快速地以URL為關(guān)鍵字,從HBase中取出對(duì)象的內(nèi)容。進(jìn)一步將內(nèi)容標(biāo)識(shí)的圖片從分布式文件系統(tǒng)中提取出來(lái)。當(dāng)用戶點(diǎn)擊音視頻時(shí),再?gòu)姆植际酱鎯?chǔ)中將這些信息提取出來(lái),傳給用戶。社區(qū)、博客、論壇的頁(yè)面展示都可以采用這種方式生成。
相對(duì)于一般的頁(yè)面、論壇、博客信息更新,或者用戶評(píng)論、互動(dòng)更加活躍。例如評(píng)論會(huì)以較短的文本形式來(lái)體現(xiàn)。采用HBase的Key-Value來(lái)存取就特別合適。
只要提供類似Key-Value方式的創(chuàng)建索引和檢索算法,每個(gè)子系統(tǒng)都可以向公共的大數(shù)據(jù)平臺(tái)申請(qǐng)專有的檢索服務(wù)。例如圖片可以根據(jù)標(biāo)簽進(jìn)行檢索,而文本則根據(jù)內(nèi)容進(jìn)行模糊檢索。系統(tǒng)同時(shí)提供跨應(yīng)用的全局檢索,它將關(guān)鍵字按規(guī)則轉(zhuǎn)化成各應(yīng)用的搜索請(qǐng)求,并合并中間結(jié)果。
大數(shù)據(jù)平臺(tái)還提供通過(guò)分析,不斷改進(jìn)業(yè)務(wù)水平的能力。通過(guò)用戶行為分析,可以得到用戶的使用喜好,向某些人群推送特定內(nèi)容,提高用戶粘性。另外對(duì)系統(tǒng)負(fù)載、不同國(guó)家和區(qū)域的特征分析,都可以改進(jìn)服務(wù)質(zhì)量,也可以對(duì)系統(tǒng)的升級(jí)、維護(hù)提出預(yù)警。這些分析一般是通過(guò)記錄用戶訪問(wèn)的日志,以及系統(tǒng)運(yùn)行、維護(hù)過(guò)程中產(chǎn)生的日志。可以采用MPP數(shù)據(jù)庫(kù)的方式,也可以采用Hadoop-Hive,結(jié)合Mahout的分析功能實(shí)現(xiàn)信息的抽取。