官术网_书友最值得收藏!

1.1 背景

隨著計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展,電子設(shè)備越來越普及,價(jià)格也越來越便宜,各種電子設(shè)備(如手機(jī)、智能家居、網(wǎng)絡(luò)攝像頭、智能汽車等)產(chǎn)生的數(shù)據(jù)量正在急劇增長(zhǎng),全球數(shù)據(jù)量的迅猛增長(zhǎng)為大數(shù)據(jù)行業(yè)的發(fā)展提供了基礎(chǔ)保證。市場(chǎng)調(diào)研機(jī)構(gòu)預(yù)計(jì)未來全球每年數(shù)據(jù)量的平均增長(zhǎng)率將達(dá)到40%以上,而且數(shù)據(jù)增長(zhǎng)速度越來越快,對(duì)一些大公司來說,每天甚至每小時(shí)都可以產(chǎn)生TB、PB級(jí)的數(shù)據(jù)。到2030年,全球數(shù)據(jù)總量預(yù)計(jì)將超過1YB。

這些數(shù)據(jù)可能很難存儲(chǔ)或者分析,但是很多時(shí)候這些數(shù)據(jù)很有可能成為企業(yè)的第一生產(chǎn)力。例如,阿里巴巴的用戶行為數(shù)據(jù)對(duì)推薦或者在線廣告至關(guān)重要,如果你在淘寶搜索了一款手機(jī),稍后你瀏覽新聞的時(shí)候,新聞客戶端就會(huì)給你推薦一些手機(jī)的廣告,這樣有針對(duì)性的廣告也就是常說的“千人千面”,極大地提高了廣告的轉(zhuǎn)化率。

在分布式數(shù)據(jù)庫(kù)系統(tǒng)發(fā)展之前,因?yàn)槿狈τ行Щ蛘叩统杀镜姆绞絹泶鎯?chǔ)大量的數(shù)據(jù),很多企業(yè)會(huì)忽略某些數(shù)據(jù)源,這樣導(dǎo)致當(dāng)真正需要使用某些數(shù)據(jù)的時(shí)候已經(jīng)找不到可以用來篩選的源數(shù)據(jù)了,或者即使使用低成本的方式(如廉價(jià)磁帶或者磁盤)將數(shù)據(jù)存儲(chǔ)下來,也會(huì)因?yàn)槿狈τ行У臄?shù)據(jù)篩選等處理手段而導(dǎo)致數(shù)據(jù)無法發(fā)揮其應(yīng)有的價(jià)值。

傳統(tǒng)系統(tǒng)可能很難存儲(chǔ)、分析現(xiàn)在各種類型的非結(jié)構(gòu)化數(shù)據(jù)(如辦公文檔、文本、音頻、圖片、用戶行為等字段長(zhǎng)度可變,每個(gè)字段又可以由可重復(fù)或者不可重復(fù)的子字段組成)與半結(jié)構(gòu)化數(shù)據(jù),這些數(shù)據(jù)存儲(chǔ)到關(guān)系數(shù)據(jù)庫(kù)用于分析會(huì)花費(fèi)更多的時(shí)間和金錢。例如,如果使用MySQL存儲(chǔ)淘寶的用戶行為數(shù)據(jù),每天產(chǎn)生的數(shù)據(jù)量有上百億甚至更多字節(jié)。以MySQL每個(gè)表存儲(chǔ)4000萬行數(shù)據(jù)計(jì)算,這樣每天產(chǎn)生的數(shù)據(jù)需要100個(gè)以上MySQL分表,可以想象這對(duì)機(jī)器、運(yùn)維以及開發(fā)來說是多高的成本。

谷歌公司內(nèi)部使用的GFS和MapReduce技術(shù)正好解決了大量數(shù)據(jù)存儲(chǔ)和分析的問題,而開源社區(qū)基于谷歌描述的基于商業(yè)硬件集群構(gòu)建分布式、可擴(kuò)展的存儲(chǔ)和處理系統(tǒng)思想,實(shí)現(xiàn)了開源項(xiàng)目Hadoop的兩個(gè)模塊,即HDFS和MapReduce。

HDFS非常適合存儲(chǔ)任意的非結(jié)構(gòu)化或者半結(jié)構(gòu)化的數(shù)據(jù),它的分布式架構(gòu)以及簡(jiǎn)單的擴(kuò)展方式,使其可以對(duì)數(shù)據(jù)存儲(chǔ)提供“無限”的支持,同時(shí)因?yàn)槠淇梢圆渴鹪谄胀ǖ纳虡I(yè)機(jī)器集群上,使得存儲(chǔ)成本更為低廉。而MapReduce則可以幫助用戶在需要的時(shí)候利用集群中每臺(tái)機(jī)器的能力“分而治之”,恰當(dāng)?shù)胤治鲞@些數(shù)據(jù),提供了處理海量數(shù)據(jù)的核心能力。

GFS和MapReduce雖然提供了大量數(shù)據(jù)的存儲(chǔ)和分析處理能力,但是對(duì)于實(shí)時(shí)數(shù)據(jù)的隨機(jī)存取卻無能為力,而且GFS適合存儲(chǔ)少量的大文件而不適合存儲(chǔ)大量的小文件,因?yàn)榇罅康男∥募罱K會(huì)導(dǎo)致元數(shù)據(jù)膨脹而可能無法放入主節(jié)點(diǎn)的內(nèi)存。經(jīng)過多年耕耘,Google終于在2006年發(fā)表了一篇名為“Bigtable: A Distributed Storage System for Structured Data”的論文,這篇論文就是HBase的起源。HBase實(shí)現(xiàn)了BigTable的架構(gòu),如壓縮算法、內(nèi)存操作和布隆過濾器等。目前HBase在各大公司中基本都有使用,如Facebook的消息平臺(tái)、小米的云服務(wù)、阿里巴巴的TLog等許多服務(wù)組件。

主站蜘蛛池模板: 如东县| 克东县| 电白县| 阿尔山市| 中山市| 古丈县| 襄城县| 和政县| 当涂县| 和平县| 弋阳县| 达州市| 三都| 关岭| 墨脱县| 福贡县| 西宁市| 宁远县| 菏泽市| 阳城县| 皋兰县| 高阳县| 普兰县| 旌德县| 双城市| 大兴区| 萨嘎县| 响水县| 图木舒克市| 南郑县| 普格县| 五寨县| 琼结县| 灌云县| 蒲江县| 繁昌县| 临安市| 汉川市| 保亭| 隆昌县| 阿坝县|