雖然Hadoop確實(shí)是當(dāng)今許多大數(shù)據(jù)實(shí)現(xiàn)的核心,對(duì)于初次接觸數(shù)據(jù)管理的人來(lái)說(shuō),將大數(shù)據(jù)和Hadoop互換使用是一個(gè)常見(jiàn)的錯(cuò)誤。但它并不是唯一的問(wèn)題。大數(shù)據(jù)分析可以由許多不同的軟件組成,它們一起收集、存儲(chǔ)、操作和分析所有不同的數(shù)據(jù)類型。通過(guò)定義大數(shù)據(jù)的概念有助于更好地理解形勢(shì)。一般情況下,行業(yè)將大數(shù)據(jù)歸類為“三個(gè)V”。
■ Velocity(速度):指收集和分析數(shù)據(jù)的速度。Hadoop分布式文件系統(tǒng)旨在快速地獲取和處理數(shù)據(jù)。智能對(duì)象能夠以非常快的速度生成機(jī)器和傳感器數(shù)據(jù),并且要求數(shù)據(jù)庫(kù)或文件系統(tǒng)具有同樣快速的接收功能。
■ Variety(多樣性):指不同類型的數(shù)據(jù)。通常我們會(huì)看到數(shù)據(jù)被歸類為結(jié)構(gòu)化、半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)。不同的數(shù)據(jù)庫(kù)技術(shù)可能只能接受其中一種類型。Hadoop能夠收集和存儲(chǔ)所有這3種類型。當(dāng)將來(lái)自物聯(lián)網(wǎng)設(shè)備的結(jié)構(gòu)化機(jī)器數(shù)據(jù)與來(lái)自其他來(lái)源(如社交媒體或多媒體)的非結(jié)構(gòu)化的數(shù)據(jù)相結(jié)合時(shí),這可能是有益的。
■ Volume(容量):指數(shù)據(jù)的規(guī)模。通常,數(shù)據(jù)規(guī)模是使用極低的吉字節(jié)、拍字節(jié),甚至是另一個(gè)極端的艾字節(jié)來(lái)衡量的。一般而言,大數(shù)據(jù)實(shí)現(xiàn)的規(guī)模超出了單個(gè)節(jié)點(diǎn)上本地連接的存儲(chǔ)磁盤(pán)的可用容量。對(duì)于一些大型部署,經(jīng)常可以看到由數(shù)十個(gè)、數(shù)百個(gè)甚至數(shù)千個(gè)節(jié)點(diǎn)組成的服務(wù)器集群。
大數(shù)據(jù)的特征可以通過(guò)數(shù)據(jù)的來(lái)源和類型來(lái)定義。首先是機(jī)器數(shù)據(jù),由物聯(lián)網(wǎng)設(shè)備生成,通常是非結(jié)構(gòu)化數(shù)據(jù)。其次是事務(wù)性數(shù)據(jù),這些數(shù)據(jù)來(lái)自于從這些系統(tǒng)上的事務(wù)中產(chǎn)生數(shù)據(jù)的源,并且具有高容量和結(jié)構(gòu)化的特點(diǎn)。再次是社交數(shù)據(jù)源,通常是高容量和結(jié)構(gòu)化的。最后是企業(yè)數(shù)據(jù),即體積較小、結(jié)構(gòu)非常復(fù)雜的數(shù)據(jù)。因此,大數(shù)據(jù)由所有這些獨(dú)立來(lái)源的數(shù)據(jù)組成。
在檢查數(shù)據(jù)源時(shí),還需要考慮從每個(gè)數(shù)據(jù)源攝取的數(shù)據(jù)量,這決定了數(shù)據(jù)存儲(chǔ)層的設(shè)計(jì)。我們還應(yīng)該考慮從攝取系統(tǒng)獲取數(shù)據(jù)的機(jī)制(即推或拉)。數(shù)據(jù)源的類型(數(shù)據(jù)庫(kù)、文件、Web服務(wù)、流)也需要考慮,因?yàn)樗矝Q定了數(shù)據(jù)的結(jié)構(gòu)。
數(shù)據(jù)攝取層是連接數(shù)據(jù)源和存儲(chǔ)的層。它是對(duì)數(shù)據(jù)進(jìn)行預(yù)處理、驗(yàn)證、提取和臨時(shí)存儲(chǔ)以供進(jìn)一步處理的層。對(duì)于數(shù)據(jù)攝取,有幾種模式需要考慮。首先是多源攝取,它將多個(gè)數(shù)據(jù)源連接到攝取系統(tǒng)。在此模式中,攝取節(jié)點(diǎn)接收來(lái)自多個(gè)源的數(shù)據(jù)流,并在將數(shù)據(jù)傳遞給中間節(jié)點(diǎn)和最終存儲(chǔ)節(jié)點(diǎn)之前進(jìn)行處理。此模式通常在批處理系統(tǒng)中實(shí)現(xiàn),并且在實(shí)時(shí)系統(tǒng)中實(shí)現(xiàn)(由于數(shù)據(jù)的可用性存在延遲,因此不太常見(jiàn))。
在有助于定義物聯(lián)網(wǎng)的行業(yè)中,數(shù)據(jù)收集和分析并不是新概念。長(zhǎng)期以來(lái)工業(yè)垂直行業(yè)一直依賴于從各種過(guò)程中獲取、收集和記錄數(shù)據(jù)的能力,以記錄趨勢(shì)并跟蹤性能和質(zhì)量。
例如,許多工業(yè)自動(dòng)化和控制系統(tǒng)將數(shù)據(jù)輸入到兩種不同的數(shù)據(jù)庫(kù)類型:關(guān)系數(shù)據(jù)庫(kù)和歷史數(shù)據(jù)庫(kù)。關(guān)系數(shù)據(jù)庫(kù),如Oracle和Microsoft SQL,適合于事務(wù)或流程數(shù)據(jù)。它們的優(yōu)點(diǎn)是能夠分析一段時(shí)間內(nèi)到達(dá)的數(shù)據(jù)之間的復(fù)雜數(shù)據(jù)關(guān)系。歷史數(shù)據(jù)庫(kù)對(duì)系統(tǒng)和過(guò)程中的時(shí)間序列數(shù)據(jù)進(jìn)行了優(yōu)化。它們的核心是數(shù)據(jù)的存儲(chǔ)和檢索速度,將每個(gè)數(shù)據(jù)點(diǎn)記錄在一個(gè)序列中,并記錄與記錄系統(tǒng)相關(guān)的信息。這些數(shù)據(jù)可能包括傳感器讀數(shù)、材料數(shù)量、溫度讀數(shù)或流量數(shù)據(jù)。
關(guān)系數(shù)據(jù)庫(kù)和歷史數(shù)據(jù)是成熟的技術(shù),已經(jīng)伴隨我們多年,但是數(shù)據(jù)管理市場(chǎng)中的新技術(shù)為傳感器和機(jī)器數(shù)據(jù)開(kāi)辟了新的可能性。這些數(shù)據(jù)庫(kù)技術(shù)大致可以分為幾個(gè)類別,在物聯(lián)網(wǎng)環(huán)境中使用時(shí),每種技術(shù)都有各自的優(yōu)勢(shì)和潛在的缺陷。其中3個(gè)最流行的類別是大規(guī)模并行處理系統(tǒng)、NoSQL和Hadoop。