無(wú)論從硬件還是軟件角度出發(fā),您面向大數(shù)據(jù)構(gòu)建的基礎(chǔ)設(shè)施都會(huì)對(duì)所支持大數(shù)據(jù)系統(tǒng)的分析與操作帶來巨大影響。在今天的文章中,我們將了解七項(xiàng)重要的大數(shù)據(jù)架構(gòu)設(shè)計(jì)原則。
大數(shù)據(jù)不僅是Hadoop
在大多數(shù)人的理解當(dāng)中,大數(shù)據(jù)與Hadoop幾乎可以等而論之。事實(shí)上,大數(shù)據(jù)遠(yuǎn)不止Hadoop這么簡(jiǎn)單。Hadoop是一套文件系統(tǒng)(而非數(shù)據(jù)庫(kù)),其負(fù)責(zé)將數(shù)據(jù)傳播至成百上千個(gè)處理節(jié)點(diǎn)當(dāng)中。其之所以在大數(shù)據(jù)應(yīng)用中廣泛出現(xiàn),是因?yàn)樽鳛槲募到y(tǒng),它能夠很好地處理非結(jié)構(gòu)化數(shù)據(jù)——甚至包括一些看起來根本不算是數(shù)據(jù)的素材。
Hive與Impala將數(shù)據(jù)庫(kù)引入Hadoop
下面聊聊大數(shù)據(jù)世界中結(jié)構(gòu)化數(shù)據(jù)部分的對(duì)應(yīng)數(shù)據(jù)庫(kù)選項(xiàng)。如果大家希望以明確次序管理Hadoop數(shù)據(jù)平臺(tái),那么Hive應(yīng)是最佳選項(xiàng)。這是一款基礎(chǔ)性結(jié)構(gòu)工具,允許大家在非SQL Hadoop當(dāng)中執(zhí)行SQL類操作。
如果大家的一部分?jǐn)?shù)據(jù)能夠輕松旋轉(zhuǎn)在結(jié)構(gòu)化數(shù)據(jù)庫(kù)當(dāng)中,那么Impala則更為合適——除了自身功能外,它還能夠直接利用您已經(jīng)開發(fā)出的Hive命令。Hadoop、Hive與Impala皆屬于Apache項(xiàng)目,因此其全部為開源成果——請(qǐng)隨意使用。
Spark用于處理大數(shù)據(jù)
截至目前,我們已經(jīng)探討了數(shù)據(jù)的存儲(chǔ)與整理。然而,我們?cè)撊绾螌?duì)數(shù)據(jù)進(jìn)行實(shí)際操作?這代表著我們需要一套分析與處理引擎,例如Spark。Spark亦屬于Apache項(xiàng)目,能夠?qū)⒛拇笈繑?shù)據(jù)整理為湖、倉(cāng)儲(chǔ)乃至數(shù)據(jù)庫(kù)并進(jìn)行實(shí)用性處理。
Spark亦可用于處理存儲(chǔ)在任意位置的各類數(shù)據(jù),因?yàn)樨S富的庫(kù)選項(xiàng)使其擁有了極為廣泛的訪問能力。另外,由于其屬于開源項(xiàng)目,因此大家能夠隨意修改其核心內(nèi)容。
可以立足大數(shù)據(jù)執(zhí)行SQL操作
很多朋友可能非常熟悉SQL數(shù)據(jù)庫(kù)構(gòu)建與SQL查詢編寫工作。這方面專業(yè)知識(shí)在大數(shù)據(jù)領(lǐng)域同樣擁有用武之地。Presto是一套開源SQL查詢引擎,允許數(shù)據(jù)科學(xué)家利用SQL查詢以檢索從Hive到專有商用數(shù)據(jù)庫(kù)等各類數(shù)據(jù)庫(kù)系統(tǒng)。Facebook等巨頭級(jí)企業(yè)都在利用其進(jìn)行交互查詢,因此我們基本可以將Presto視為一套理想的大規(guī)模數(shù)據(jù)集交互式查詢工具。
在線存儲(chǔ)同樣需要接地平臺(tái)
大數(shù)據(jù)領(lǐng)域中的相當(dāng)一部分任務(wù)要求對(duì)數(shù)據(jù)進(jìn)行快速變更——例如定期添加數(shù)據(jù)或者對(duì)變更數(shù)據(jù)進(jìn)行分析等。無(wú)論如何,如果大家的數(shù)據(jù)擁有幾乎對(duì)等的讀取與寫入頻度,那么應(yīng)當(dāng)同時(shí)在本地與在線端保留數(shù)據(jù)副本。如果預(yù)算允許,使用固態(tài)存儲(chǔ)無(wú)疑效果更好,因?yàn)檫@能夠顯著提升數(shù)據(jù)處理速度。
云存儲(chǔ)的必要性
在對(duì)大規(guī)模聚合數(shù)據(jù)庫(kù)進(jìn)行分析時(shí),云存儲(chǔ)將成為最為理想的存儲(chǔ)平臺(tái)。大家可以將數(shù)據(jù)聚合后傳輸至云端,運(yùn)行分析而后移除對(duì)應(yīng)實(shí)例。數(shù)據(jù)處理不會(huì)受到互聯(lián)網(wǎng)性能的影響。另外,如果大家將內(nèi)部實(shí)時(shí)分析系統(tǒng)與云端深度分析方案加以結(jié)合,則能夠最大程度發(fā)揮大數(shù)據(jù)基礎(chǔ)設(shè)施的全部潛力。
別忘了可視化機(jī)制
除了大數(shù)據(jù)分析,將結(jié)果以易于理解的方式加以呈現(xiàn)同樣非常重要,而數(shù)據(jù)可視化正是實(shí)現(xiàn)這一效果的關(guān)鍵性工具。
幸運(yùn)的是,目前市面上提供多種可視化處理選項(xiàng)。大家可以選擇一部分并加以嘗試,同時(shí)了解用戶的反饋意見以判斷其效果??偠灾?,可視化是實(shí)現(xiàn)大數(shù)據(jù)分析價(jià)值的最佳方式。