現(xiàn)在,當(dāng)人們提到大數(shù)據(jù)的時候首先想起的技術(shù)往往是Hadoop MapReduce,像Hadoop這樣的分布式架構(gòu)在10年之前的運(yùn)用是非常少的——互聯(lián)網(wǎng)發(fā)展剛剛起步,從地球誕生到2003年的全球數(shù)據(jù)量一共是5EB,而我們現(xiàn)在每兩天就能生成5EB的數(shù)據(jù)。傳統(tǒng)的交易數(shù)據(jù)庫在應(yīng)對數(shù)據(jù)激增的挑戰(zhàn)時已經(jīng)顯現(xiàn)出不足,企業(yè)越來越多地開始部署數(shù)據(jù)倉庫、商業(yè)智能系統(tǒng)來進(jìn)行數(shù)據(jù)分析等工作。隨著Hadoop MapReduce在大數(shù)據(jù)方面起到了越來越重要的作用,那么我們今天就在這里了解一下什么是Hadoop MapReduce,它們對如今的IT起著怎樣的作用。
Hadoop項(xiàng)目創(chuàng)始人Doug Cutting
什么是Hadoop?
Hadoop是一個分布式系統(tǒng)架構(gòu),它可以用來應(yīng)對海量數(shù)據(jù)的存儲,而這樣的數(shù)據(jù)量往往是以PB甚至ZB來計(jì)算的。Hadoop的存儲系統(tǒng)我們稱作Hadoop Distributed File System(HDFS),它是由Doug Cutting創(chuàng)建的,其靈感來源于Google的一篇學(xué)術(shù)論文。Doug Cutting是誰呢?著名Apache開源項(xiàng)目Lucene和Nutch的作者。重要的是Hadoop也是開源的。
什么是MapReduce?
拿新浪微博來舉個例子,用戶每分鐘都會生成幾萬甚至幾十萬條信息,這個數(shù)據(jù)量是非常大的。新浪的數(shù)據(jù)中心有大量的服務(wù)器在生成數(shù)據(jù),那么我們?nèi)绾文軌蚩焖俚卦L問這些數(shù)據(jù)?Hadoop使用的就是MapReduce,它的概念第一次出現(xiàn)也是在Google的論文中。MapReduce遵循“分治法”,數(shù)據(jù)以KeyValue對來組織。它以并行的方式來處理一個計(jì)算節(jié)點(diǎn)中的數(shù)據(jù),這些數(shù)據(jù)會分布在許多不同的系統(tǒng)當(dāng)中。對數(shù)據(jù)進(jìn)行整理分類之后進(jìn)行處理。
Hadoop MapReduce的影響
針對一個標(biāo)準(zhǔn)PC服務(wù)器,Hadoop將連接到所有的服務(wù)器然后將數(shù)據(jù)分布到這些節(jié)點(diǎn)當(dāng)中。它將所有的節(jié)點(diǎn)視為一個大的文件系統(tǒng),對數(shù)據(jù)進(jìn)行存儲和處理,因此它是一個100%的分布式文件系統(tǒng)。如果數(shù)據(jù)量增加到之前系統(tǒng)無法承受的情況,我們還可以增加額外的節(jié)點(diǎn),讓整個系統(tǒng)的擴(kuò)展性更好。Hadoop MapReduce在成本方面同商業(yè)軟硬系統(tǒng)相比具有一定優(yōu)勢,因?yàn)槠溟_源的屬性。隨著Hadoop的逐漸普及,相信技術(shù)人員成本也會進(jìn)一步降低,Hadoop的價值也將凸顯出來。此外,Hadoop還是NoSQL數(shù)據(jù)庫的主要部署架構(gòu)之一。
目前,Hadoop項(xiàng)目已經(jīng)由Yahoo公司轉(zhuǎn)移到了Hortonworks,這是一家硅谷風(fēng)投公司Benchmark Capital與前者合資組建的公司,他們將繼續(xù)開發(fā)該技術(shù)。雅虎軟件工程副總裁Eric Baldeschwieler將擔(dān)任Hortonworks公司CEO。而最近,Hadoop的支持者之一社交網(wǎng)站Facebook也遷移了30 PB的Hadoop集群。除了開源社區(qū)的支持,Hadoop也得到了商業(yè)軟件供應(yīng)商的青睞,據(jù)筆者了解,越來越多的傳統(tǒng)數(shù)據(jù)庫廠商也在他們的產(chǎn)品中逐漸增加Hadoop特性,其中包括了Oracle、Teradata等。以下廠商的數(shù)據(jù)倉庫和BI產(chǎn)品已經(jīng)添加了對Hadoop和MapReduce的支持:
Greenplum
Informatica
Teradata(AsterData)
Pentaho
Talend
總之,如果Hadoop MapReduce以及NoSQL等技術(shù)得到廣泛運(yùn)用的話,傳統(tǒng)SQL數(shù)據(jù)庫系統(tǒng)不能解決的非結(jié)構(gòu)化數(shù)據(jù)將不再成為問題。而大數(shù)據(jù)概念不斷推廣,Hadoop與商業(yè)系統(tǒng)的搭配將成為一種必然的趨勢,數(shù)據(jù)集成軟件也將在數(shù)據(jù)挖掘等場景中扮演重要的角色。