Charles
分析大量數(shù)據(jù)只是大數(shù)據(jù)不同于以前數(shù)據(jù)分析的部分因素。了解其他三個(gè)因素是什么。
人類每天都在吃飯、睡覺、工作和玩耍,這產(chǎn)生了數(shù)據(jù)——非常非常多的數(shù)據(jù)。據(jù)IBM,人類每天產(chǎn)生2.5垓字節(jié)(250十億個(gè)十億)的數(shù)據(jù)。這相當(dāng)于堆疊到月球又返回來的DVD碟片,包括了從我們發(fā)送的文本和我們上傳的照片,直至工業(yè)傳感器數(shù)據(jù)和機(jī)器到機(jī)器通信的所有數(shù)據(jù)。
這就是為什么“大數(shù)據(jù)”成為如此常見用語的主要原因。簡單地說,當(dāng)人們談?wù)摯髷?shù)據(jù)時(shí),他們指的是能夠獲得大量的數(shù)據(jù),分析數(shù)據(jù),并將其變成有用的東西。
大數(shù)據(jù)究竟什么是?
但大數(shù)據(jù)遠(yuǎn)不止這些,它涉及到:
大量的數(shù)據(jù),通常來自多個(gè)來源。
不僅是大量的數(shù)據(jù),而且是不同類型的數(shù)據(jù)——通常是同時(shí)有多種數(shù)據(jù),而且數(shù)據(jù)還隨時(shí)間變化,這些數(shù)據(jù)不需要先轉(zhuǎn)換成特定的格式,也不需要使其一致。
分析數(shù)據(jù)所采用的方式允許出于不同的目的對相同數(shù)據(jù)池進(jìn)行持續(xù)分析。
所有這一切都能夠迅速完成,甚至是實(shí)時(shí)的。
在早期,業(yè)界提出了一個(gè)縮寫詞來描述四個(gè)特征中的三個(gè):VVV,代表了體量(volume,體量巨大)、類型繁多(variety,不同類型的數(shù)據(jù),數(shù)據(jù)隨時(shí)間變化)、速度(velocity)。
大數(shù)據(jù)和數(shù)據(jù)倉庫
VVV首字母縮寫遺漏了一個(gè)關(guān)鍵的概念,即不需要永久地改變(轉(zhuǎn)換)要分析的數(shù)據(jù)。這種非破壞性的分析意味著誰都可以出于不同的目的去分析相同的數(shù)據(jù)池,并可以分析從不同源收集的數(shù)據(jù)。
作為對比,數(shù)據(jù)倉庫是專門設(shè)計(jì)用于出于特定目的而分析特定的數(shù)據(jù),并對數(shù)據(jù)進(jìn)行結(jié)構(gòu)化處理,轉(zhuǎn)換為特定的格式。在整個(gè)過程中,原始數(shù)據(jù)基本上被破壞,是為了特定目的而不是其他目的——這被稱之為提取、轉(zhuǎn)換和加載(ETL)。數(shù)據(jù)倉庫的ETL方法只針對特定的數(shù)據(jù)進(jìn)行特定的分析。這適用于所有數(shù)據(jù)都是在您的工作系統(tǒng)中的情況,但是在今天互聯(lián)網(wǎng)連接的世界里,數(shù)據(jù)來自四面八方,這就不太適用了。
但是,不要認(rèn)為大數(shù)據(jù)會(huì)使數(shù)據(jù)倉庫過時(shí)。大數(shù)據(jù)系統(tǒng)可以讓您非常方便地處理非結(jié)構(gòu)化數(shù)據(jù),但您得到的查詢結(jié)果類型遠(yuǎn)沒有數(shù)據(jù)倉庫的那么復(fù)雜。畢竟,數(shù)據(jù)倉庫的目的是深入分析數(shù)據(jù),它之所以能很好地做到這一點(diǎn),是因?yàn)樗阉袛?shù)據(jù)都轉(zhuǎn)換為一致的格式,使您能夠去構(gòu)建用于深度挖掘的數(shù)據(jù)集等類似的工作。數(shù)據(jù)倉庫供應(yīng)商花了多年的時(shí)間來優(yōu)化他們的查詢引擎,回答典型業(yè)務(wù)環(huán)境中的問題。
大數(shù)據(jù)支持您分析來自多個(gè)數(shù)據(jù)源的大量數(shù)據(jù),但分辨率較低。因此,在未來一段時(shí)間內(nèi),我們將同時(shí)使用傳統(tǒng)的數(shù)據(jù)倉庫和新方法。
大數(shù)據(jù)背后的技術(shù)突破
為實(shí)現(xiàn)大數(shù)據(jù)四方面的特征——體量巨大、類型繁多、非破壞式使用和速度,這需要一些技術(shù)上的突破,包括分布式文件系統(tǒng)(Hadoop)的發(fā)展,一種方便快捷地了解不同數(shù)據(jù)的方法(最早是谷歌的MapReduce,還有最近的Apache Spark),以及根據(jù)需要訪問和移動(dòng)數(shù)據(jù)的云/互聯(lián)網(wǎng)基礎(chǔ)設(shè)施。
直到大約十年前,一次處理的數(shù)據(jù)量還相對較少。(嗯,當(dāng)時(shí),我們都認(rèn)為數(shù)據(jù)倉庫是非常巨大的。自從互聯(lián)網(wǎng)產(chǎn)生數(shù)據(jù)并把各處的數(shù)據(jù)連接起來之后,情況發(fā)生了巨大的變化。)有限的數(shù)據(jù)存儲(chǔ)數(shù)量和位置,計(jì)算能力不足,處理來自多個(gè)源的不同數(shù)據(jù)格式的能力也有限,這些因素使得幾乎不可能完成數(shù)據(jù)處理任務(wù)。
隨后,大約2003年的時(shí)候,谷歌的研究人員開發(fā)了MapReduce。這種編程技術(shù)首先把數(shù)據(jù)映射到一系列鍵/值對,對類似的鍵值進(jìn)行計(jì)算,將它們縮減為單個(gè)值,然后在數(shù)百臺(tái)或者數(shù)千臺(tái)低成本機(jī)器上并行處理每一批數(shù)據(jù),從而簡化了大規(guī)模數(shù)據(jù)集的處理。這種龐大的并行特性使谷歌能夠從越來越大量的數(shù)據(jù)中更快的得到搜索結(jié)果。
2003年左右,谷歌實(shí)現(xiàn)了兩個(gè)突破,這使得大數(shù)據(jù)成為可能:一是Hadoop,它是由兩項(xiàng)關(guān)鍵服務(wù)組成的:
使用Hadoop分布式文件系統(tǒng)(HDFS),可靠的存儲(chǔ)數(shù)據(jù)。
使用稱為MapReduce的技術(shù)進(jìn)行高性能并行數(shù)據(jù)處理。
Hadoop運(yùn)行在商用無共享服務(wù)器集群上。您可以隨意添加或者刪除Hadoop集群中的服務(wù)器;系統(tǒng)會(huì)檢測并修復(fù)任何服務(wù)器上的硬件或者系統(tǒng)問題。換句話說,Hadoop是自我修復(fù)的。不管系統(tǒng)進(jìn)行了修改還是出現(xiàn)了故障,它都能提供數(shù)據(jù),運(yùn)行大規(guī)模、高性能處理工作。
雖然Hadoop為數(shù)據(jù)存儲(chǔ)和并行處理提供了一個(gè)平臺(tái),但真正的價(jià)值來自于附加組件、交叉集成和技術(shù)的定制實(shí)現(xiàn)。為此,Hadoop提供了子項(xiàng)目,這些子項(xiàng)目為平臺(tái)增加了功能和新特性:
Hadoop Common:支持其他Hadoop子項(xiàng)目的公共實(shí)用程序。
Chukwa:一個(gè)用于管理大型分布式系統(tǒng)的數(shù)據(jù)采集系統(tǒng)。
Hbase:一個(gè)可擴(kuò)展的分布式數(shù)據(jù)庫,為大型表提供結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)支持。
HDFS:一種分布式文件系統(tǒng),支持對應(yīng)用數(shù)據(jù)的大吞吐量訪問。
Hive:提供數(shù)據(jù)摘要和即席查詢的數(shù)據(jù)倉庫基礎(chǔ)設(shè)施。
MapReduce:計(jì)算集群上大數(shù)據(jù)集分布式處理的軟件框架。
Pig:并行計(jì)算的高級數(shù)據(jù)流語言和執(zhí)行框架。
ZooKeeper:分布式應(yīng)用的高性能協(xié)調(diào)服務(wù)。
大部分Hadoop平臺(tái)的實(shí)現(xiàn)應(yīng)至少包括其中的一些子項(xiàng)目,因?yàn)樗鼈兺ǔJ情_發(fā)大數(shù)據(jù)所必需的。例如,大多數(shù)企業(yè)選擇使用HDFS作為主要的分布式文件系統(tǒng),把HBase作為數(shù)據(jù)庫,它可以存儲(chǔ)數(shù)十億條數(shù)據(jù)。使用MapReduce或者最近的Spark幾乎是必須的,因?yàn)樗鼈兲岣吡薍adoop平臺(tái)的速度和敏捷性。
采用MapReduce,開發(fā)人員可以在分布式處理器集群或者單機(jī)上開發(fā)并行處理大量非結(jié)構(gòu)化數(shù)據(jù)的程序。MapReduce框架分為兩個(gè)功能區(qū):endprint
Map,這一功能把工作分發(fā)到分布式集群中的不同節(jié)點(diǎn)上。
Reduce,這一功能將工作排序并把結(jié)果解析為單個(gè)數(shù)值。
MapReduce的主要優(yōu)點(diǎn)之一是它是容錯(cuò)的,這通過監(jiān)視集群中的每個(gè)節(jié)點(diǎn)來實(shí)現(xiàn);每個(gè)節(jié)點(diǎn)都需要定期報(bào)告完成的工作和狀態(tài)更新。如果一個(gè)節(jié)點(diǎn)保持沉默的時(shí)間比預(yù)期的間隔長,那么主節(jié)點(diǎn)會(huì)發(fā)出通知并將工作重新分配給其他節(jié)點(diǎn)。
Apache Hadoop是以MapReduce為核心的一種開源框架,兩年后才開發(fā)出來。Hadoop最初是用來索引現(xiàn)在不太常用的Nutch搜索引擎的,現(xiàn)在幾乎所有的主要行業(yè)都使用Hadoop來進(jìn)行多種大數(shù)據(jù)工作。在Hadoop的分布式文件系統(tǒng)和YARN(Yet Another Resource Negotiator,另一種資源調(diào)度器)的支持下,該軟件使用戶能夠處理分布在數(shù)千臺(tái)設(shè)備上大量的數(shù)據(jù)集,就好像它們都在一臺(tái)巨大的機(jī)器上一樣。
2009年,加州大學(xué)伯克利分校的研究人員開發(fā)了Apache Spark來替代MapReduce。Spark使用內(nèi)存存儲(chǔ)進(jìn)行并行計(jì)算,因此,它比MapReduce快100倍。Spark可以作為一個(gè)獨(dú)立的框架或者在Hadoop內(nèi)部運(yùn)行。
即使使用Hadoop,您仍然需要一種方法來存儲(chǔ)和訪問數(shù)據(jù)。這通常是通過MongoDB、CouchDB或者Cassandra等NoSQL數(shù)據(jù)庫來實(shí)現(xiàn)的,它們專門處理分布在多臺(tái)機(jī)器上的非結(jié)構(gòu)化或者半結(jié)構(gòu)化數(shù)據(jù)。對于數(shù)據(jù)倉庫,大量不同類型的數(shù)據(jù)融合成統(tǒng)一的格式,并存放在一個(gè)數(shù)據(jù)存儲(chǔ)中,與數(shù)據(jù)倉庫不同,這些工具不會(huì)改變數(shù)據(jù)的根本性質(zhì)或者位置——電子郵件仍然是電子郵件,傳感器的數(shù)據(jù)仍然是傳感器的數(shù)據(jù),而且可以存儲(chǔ)在任何地方。
然而,把體量巨大的數(shù)據(jù)存儲(chǔ)在機(jī)器集群上的NoSQL數(shù)據(jù)庫中,如果您不使用這些數(shù)據(jù),那就體現(xiàn)不出這種方式的優(yōu)勢所在。而這才是大數(shù)據(jù)分析的用武之地。Tableau、Splunk和Jasper BI等工具支持您解析數(shù)據(jù),以識別模式、提取含義,并揭示出新的深度分析結(jié)果。您由此要開展的工作會(huì)因您的需求而有所不同。
InfoWorld的執(zhí)行編輯Galen Gruman、InfoWorld的特約編輯Steve Nunez、自由撰稿人Frank Ohlhorst和Dan Tynan為本文做出了貢獻(xiàn)。
原文網(wǎng)址:
http://www.infoworld.com/article/3220044/big-data/what-is-big-data-everything-you-need-to-know.htmlendprint