大數(shù)據(jù)“復(fù)活”記
755
2025-03-31
我們生活在一個(gè)互聯(lián)網(wǎng)時(shí)代,無(wú)論是想搜索最佳的火雞菜譜,還是送媽媽什么樣的生日禮物,都希望能夠通過(guò)互聯(lián)網(wǎng)迅速地檢索到問(wèn)題的答案,同時(shí)希望查詢到的結(jié)果有用,而且非常切合我們的需要。
因此,很多公司開始致力于提供更有針對(duì)性的信息,例如推薦或在線廣告,這種能力會(huì)直接影響公司在商業(yè)上的成敗?,F(xiàn)在類似Hadoop①這樣的系統(tǒng)能夠?yàn)楣咎峁┐鎯?chǔ)和處理PB級(jí)數(shù)據(jù)的能力,隨著新機(jī)器學(xué)習(xí)算法的不斷發(fā)展,收集更多數(shù)據(jù)的需求也在與日俱增。
以前,因?yàn)槿狈澦愕姆绞絹?lái)存儲(chǔ)所有信息,很多公司會(huì)忽略某些數(shù)據(jù)源,但是現(xiàn)在這樣的處理方式會(huì)讓公司喪失競(jìng)爭(zhēng)力。存儲(chǔ)和分析每一個(gè)數(shù)據(jù)點(diǎn)的需求在不斷增長(zhǎng),這種需求的增長(zhǎng)直接導(dǎo)致各公司電子商務(wù)平臺(tái)產(chǎn)生了更多的數(shù)據(jù)。
過(guò)去,唯一的選擇就是將收集到的數(shù)據(jù)刪減后保存起來(lái),例如只保留最近N天的數(shù)據(jù)。然而,這種方法只在短期內(nèi)可行,它無(wú)法存儲(chǔ)幾個(gè)月或幾年收集到的所有數(shù)據(jù),因此建議:構(gòu)建一種數(shù)學(xué)模型覆蓋整個(gè)時(shí)間段或者改進(jìn)一個(gè)算法,重跑以前所有的數(shù)據(jù),以達(dá)到更好的效果。
對(duì)于海量數(shù)據(jù)的重要性,Ralph Kimball博士指出②:
“數(shù)據(jù)資產(chǎn)會(huì)取代20世紀(jì)傳統(tǒng)有形資產(chǎn)的地位,成為資產(chǎn)負(fù)債表的重要組成部分。”
還指出:
“數(shù)據(jù)的價(jià)值已經(jīng)超越了傳統(tǒng)企業(yè)廣泛認(rèn)同的價(jià)值邊界。”
Google和Amazon是認(rèn)識(shí)到數(shù)據(jù)價(jià)值的典范,它們已經(jīng)開始開發(fā)滿足自己業(yè)務(wù)需求的解決方案。例如,Google在一系列的技術(shù)出版物中描述了基于商業(yè)硬件的可擴(kuò)展的存儲(chǔ)和處理系統(tǒng)。開源社區(qū)利用Google的這些思想實(shí)現(xiàn)了開源Hadoop項(xiàng)目的兩個(gè)模塊:HDFS和MapReduce。
Hadoop擅長(zhǎng)存儲(chǔ)任意的、半結(jié)構(gòu)化的數(shù)據(jù),甚至是非結(jié)構(gòu)化的數(shù)據(jù),可以幫助用戶在分析數(shù)據(jù)的時(shí)候決定如何解釋這些數(shù)據(jù),同樣允許用戶隨時(shí)更改數(shù)據(jù)分類的方式:一旦用戶更新了算法,只需要重新分析數(shù)據(jù)。
目前Hadoop幾乎是所有現(xiàn)有數(shù)據(jù)庫(kù)系統(tǒng)的一種補(bǔ)充,它給用戶提供了數(shù)據(jù)存儲(chǔ)的無(wú)限空間,支持用戶在恰當(dāng)?shù)臅r(shí)候存儲(chǔ)和獲取數(shù)據(jù),并且針對(duì)大文件的存儲(chǔ)、批量訪問(wèn)和流式訪問(wèn)做了優(yōu)化。這使得用戶對(duì)數(shù)據(jù)的分析變得簡(jiǎn)單快捷,但是用戶同樣需要訪問(wèn)分析后的最終數(shù)據(jù),這種需求需要的不是批量模式而是隨機(jī)訪問(wèn)模式,這種模式相對(duì)于在數(shù)據(jù)庫(kù)系統(tǒng)來(lái)說(shuō),相當(dāng)于一種全表掃描和使用索引。
通常用戶在隨機(jī)訪問(wèn)結(jié)構(gòu)化數(shù)據(jù)的時(shí)候都會(huì)查詢數(shù)據(jù)庫(kù)。RDBMS在這方面最為突出,但是也有一些少量的有差異的實(shí)現(xiàn)方式,比如面向?qū)ο蟮臄?shù)據(jù)庫(kù)。大多數(shù)RDBMS一直遵守科德十二定律(Codd’s 12 rules)③,這個(gè)定律對(duì)于RDBMS來(lái)說(shuō)是剛性標(biāo)準(zhǔn),并且由于RDBMS的底層架構(gòu)是經(jīng)過(guò)仔細(xì)研究的,所以在相當(dāng)長(zhǎng)的一段時(shí)間里這種架構(gòu)都不會(huì)有明顯的改變。近年來(lái)出現(xiàn)的各種處理方法,如列式存儲(chǔ)的(column-oriented)數(shù)據(jù)庫(kù)和大規(guī)模并行處理(Massively Parallel Processing,MPP)數(shù)據(jù)庫(kù),表明業(yè)界重新思考了技術(shù)方案以滿足新的工作負(fù)載,但是大多數(shù)解決方案仍舊是基于科德十二定律來(lái)實(shí)現(xiàn)的,并沒(méi)有打破傳統(tǒng)的法則。
圖1 列式存儲(chǔ)結(jié)構(gòu)與行式存儲(chǔ)結(jié)構(gòu)
值得注意的是,從典型RDBMS的角度來(lái)看,HBase并不是一個(gè)列式存儲(chǔ)的數(shù)據(jù)庫(kù),但是它利用了磁盤上的列存儲(chǔ)格式,這也是RDBMS與HBase最大的相似之處,因?yàn)镠Base以列式存儲(chǔ)的格式在磁盤上存儲(chǔ)數(shù)據(jù)。但它與傳統(tǒng)的列式數(shù)據(jù)庫(kù)有很大的不同:傳統(tǒng)的列式數(shù)據(jù)庫(kù)比較適合實(shí)時(shí)存取數(shù)據(jù)的場(chǎng)景,HBase比較適合鍵值對(duì)的數(shù)據(jù)存取,或者有序的數(shù)據(jù)存取。
如今數(shù)據(jù)的產(chǎn)生速度比幾年以前已經(jīng)有了迅猛的增長(zhǎng),隨著全球化步伐加快,這個(gè)增長(zhǎng)速度只會(huì)越來(lái)越迅猛,由此所產(chǎn)生的數(shù)據(jù)處理問(wèn)題也會(huì)越來(lái)越嚴(yán)峻。像Google、Amazon、eBay和Facebook這樣網(wǎng)站的用戶已經(jīng)覆蓋到了地球上的絕大多數(shù)人。全球化網(wǎng)絡(luò)應(yīng)用(planet-size web application)的概念已經(jīng)形成,在這種背景下,企業(yè)使用HBase更合適。
舉例來(lái)說(shuō),F(xiàn)acebook每天增量存儲(chǔ)到它們Hadoop集群的數(shù)據(jù)量超過(guò)15 TB④,并且隨后會(huì)對(duì)所有這些數(shù)據(jù)進(jìn)行處理。這些數(shù)據(jù)一部分是點(diǎn)擊流日志,用戶點(diǎn)擊了它們的網(wǎng)站或點(diǎn)擊了使用Facebook提供的社交插件的網(wǎng)站,每一步點(diǎn)擊操作都會(huì)被記錄并保存,這非常適合以批處理的模式,為預(yù)測(cè)和推薦系統(tǒng)構(gòu)建機(jī)器學(xué)習(xí)模型。
Facebook還有一個(gè)實(shí)時(shí)組件,就是它們的消息系統(tǒng),其中包括聊天、涂鴉墻和電子郵件,每個(gè)月會(huì)產(chǎn)生超過(guò)1350億條數(shù)據(jù)⑤,存儲(chǔ)幾個(gè)月之后便會(huì)產(chǎn)生一個(gè)量級(jí)龐大的尾部數(shù)據(jù),并且這些尾部數(shù)據(jù)需要被有效地處理。盡管電子郵件中占用存儲(chǔ)量較大的部分(如附件)通常存儲(chǔ)在二級(jí)系統(tǒng)中⑥,但這些消息產(chǎn)生的數(shù)據(jù)量還是令人難以置信的。以Facebook的數(shù)據(jù)產(chǎn)生條目為基礎(chǔ),假如按Twitter中的每條數(shù)據(jù)占用140字節(jié)來(lái)計(jì)算,F(xiàn)acebook每個(gè)月將會(huì)產(chǎn)生超過(guò)17 TB的數(shù)據(jù),在將這些數(shù)據(jù)導(dǎo)入到HBase之前,現(xiàn)存的系統(tǒng)每個(gè)月也要處理超過(guò)25 TB的數(shù)據(jù)。⑦
目前在少數(shù)的重點(diǎn)行業(yè)中,面向Web業(yè)務(wù)的公司收集的數(shù)據(jù)量也在不斷增長(zhǎng)。
金融
如股票漲跌產(chǎn)生的數(shù)據(jù)。
生物信息學(xué)
如全球生物多樣性信息機(jī)構(gòu)(Global Biodiversity Information Facility,http://www.gbif.org/)。
智能電網(wǎng)
如OpenPDC(http://openpdc.codeplex.com/)項(xiàng)目。
銷售
如銷售終端(POS機(jī))產(chǎn)生的數(shù)據(jù),或者是股票系統(tǒng)、庫(kù)存系統(tǒng)。
基因組學(xué)
如Crossbow(http://bowtie-bio.sourceforge.net/crossbow/index.shtml)項(xiàng)目。
移動(dòng)電話服務(wù)、軍事、環(huán)境工程
也產(chǎn)生了海量的數(shù)據(jù)。
海量數(shù)據(jù)領(lǐng)域越來(lái)越被重視,且該領(lǐng)域涌現(xiàn)出了非常多的新技術(shù)。技術(shù)的發(fā)展和時(shí)間的沉淀使得HBase開始被大家廣泛認(rèn)可,成為海量數(shù)據(jù)在線存儲(chǔ)領(lǐng)域的首選。
①相關(guān)信息可以在Hadoop的官方網(wǎng)站http://hadoop.apache.org/中找到。也可以到Tom White編寫的《Hadoop權(quán)威指南(第2版)》(原出版社為O’Reilly)一書中查閱你想了解的Hadoop知識(shí)。
②此處引用的是Kimball集團(tuán)的Ralph Kimball博士的一篇題為“Rethinking EDW in the Era of Expansive Information Management”的演講(http://www.informatica.com/campaigns/rethink_edw_kimball.pdf),這個(gè)演講討論了一個(gè)不斷發(fā)展的企業(yè)數(shù)據(jù)倉(cāng)庫(kù)市場(chǎng)的需求。
③Edgar F. Codd定義了13個(gè)規(guī)則(編號(hào)為0~12),這些規(guī)則促使數(shù)據(jù)庫(kù)管理系統(tǒng)(Datebase Management System,DBMS)被考慮為RDBMS。HBase需要滿足更多的通用規(guī)則,但也有一些規(guī)則沒(méi)有滿足,最重要的是規(guī)則5:全面的數(shù)據(jù)子語(yǔ)言規(guī)則,這個(gè)規(guī)則定義了至少需要支持一種關(guān)系型語(yǔ)言。詳情見維基百科關(guān)于科德十二定律的鏈接http://en.wikipedia.org/wiki/Codd's_12_rules。
④見Facebook提供的信息http://www.facebook.com/note.php?note_id=89508453919。
⑤請(qǐng)看博文http://www.facebook.com/note.php?note_id=454991608919,這篇博文來(lái)自Facebook的工程團(tuán)隊(duì)。150億條墻消息和1200億條聊天消息,共計(jì)1350億條消息一個(gè)月。此外,F(xiàn)acebook還添加了SMS和其他一些應(yīng)用,這些都會(huì)使數(shù)據(jù)量變得更為龐大。
⑥Facebook使用了Haystack,Haystack優(yōu)化了二進(jìn)制大對(duì)象的存儲(chǔ)結(jié)構(gòu),提供了二進(jìn)制小對(duì)象存儲(chǔ),例如圖片。
⑦見http://www.slideshare.net/brizzzdotcom/facebook-messages-hbase,這是Facebook的員工Nicolas Spiegelberg寫的,他也是HBase的committer。
本文節(jié)選自《HBase權(quán)威指南》
內(nèi)容簡(jiǎn)介
本書探討了如何通過(guò)使用與HBase高度集成的Hadoop將HBase的可伸縮性變得簡(jiǎn)單;把大型數(shù)據(jù)集分布到相對(duì)廉價(jià)的商業(yè)服務(wù)器集群中;使用本地Java客戶端,或者通過(guò)提供了REST、Avro和Thrift應(yīng)用編程接口的網(wǎng)關(guān)服務(wù)器來(lái)訪問(wèn)HBase;了解HBase架構(gòu)的細(xì)節(jié),包括存儲(chǔ)格式、預(yù)寫日志、后臺(tái)進(jìn)程等;在HBase中集成MapReduce框架;了解如何調(diào)節(jié)集群、設(shè)計(jì)模式、拷貝表、導(dǎo)入批量數(shù)據(jù)和刪除節(jié)點(diǎn)等。
本書適合使用HBase進(jìn)行數(shù)據(jù)庫(kù)開發(fā)的高級(jí)數(shù)據(jù)庫(kù)研發(fā)人員閱讀。
本文轉(zhuǎn)載自異步社區(qū)
hbase 大數(shù)據(jù)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。