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

1.5 Lambda架構(gòu)——分析可能性

前文已經(jīng)介紹了這種神奇的架構(gòu),那么本節(jié)就仔細(xì)研究一下該架構(gòu)模式。

在底層上,Hadoop提供了大量存儲(chǔ),并且有HDFS和MapReduce這種形式的非常強(qiáng)大的處理引擎,既可以處理大量數(shù)據(jù)又可以執(zhí)行種種計(jì)算。但是,它有很長(zhǎng)的周轉(zhuǎn)時(shí)間(TAT),而且是一個(gè)批處理系統(tǒng),從而可以幫助解決大數(shù)據(jù)的體量問(wèn)題。如果對(duì)處理速度有要求,需要尋找一種低延遲的解決方案,則必須求助于實(shí)時(shí)處理引擎,它可以快速處理最新或最近的數(shù)據(jù),并且可在有效的時(shí)間范圍內(nèi)快速生成一些見(jiàn)解。但是除了速度和快速的TAT,還需要將更新的數(shù)據(jù)逐步集成到批處理系統(tǒng)中,以便對(duì)整個(gè)數(shù)據(jù)集執(zhí)行深度批處理分析。因此,從本質(zhì)上講,所處的環(huán)境既需要批處理系統(tǒng),也需要實(shí)時(shí)系統(tǒng),這種模式的最佳體系結(jié)構(gòu)組合稱為L(zhǎng)ambda架構(gòu)()。圖1-7描述了這種模式的高層次設(shè)計(jì)邏輯。

圖1-7

解決方案既與技術(shù)無(wú)關(guān),又與語(yǔ)言無(wú)關(guān);它可以抽象為以下3層:批處理層、速度層和服務(wù)層。

輸入數(shù)據(jù)被輸送到批處理層和速度層,其中批處理層用于創(chuàng)建整個(gè)不可變主數(shù)據(jù)的預(yù)計(jì)算視圖。該層主要有不可變的數(shù)據(jù)存儲(chǔ),具有一次寫(xiě)入和大量讀取的功能。

速度層處理最近的數(shù)據(jù),僅維護(hù)最近一組數(shù)據(jù)的增量視圖。該層在數(shù)據(jù)可訪問(wèn)性方面具有隨機(jī)讀取和寫(xiě)入的功能。

問(wèn)題的癥結(jié)在于服務(wù)層的智能。在服務(wù)層中,來(lái)自批處理層和速度層的數(shù)據(jù)被合并,并滿足查詢需求,因此,可以無(wú)縫地從這兩者中得到最好的結(jié)果。近實(shí)時(shí)請(qǐng)求是速度層的增量視圖(它們具有低保留策略)中的數(shù)據(jù)來(lái)處理的,而引用舊數(shù)據(jù)的查詢是由批處理層中生成的主數(shù)據(jù)視圖來(lái)處理的。該層僅適用于隨機(jī)讀取而不能隨機(jī)寫(xiě)入,但它確以查詢、連接以及批量寫(xiě)入的形式來(lái)處理批量計(jì)算。

但是,Lambda架構(gòu)并非是針對(duì)所有混合用例的一站式解決方案。有一些關(guān)鍵方面需要注意:總是認(rèn)為分布式;面向故障的設(shè)計(jì)和規(guī)劃;經(jīng)驗(yàn)法則為數(shù)據(jù)是不可變的;面向故障設(shè)計(jì)。

既然已經(jīng)熟悉了實(shí)時(shí)分析中流行的架構(gòu)模式,那么來(lái)談?wù)勥@一部分可能存在的用例。圖1-8展示了可能應(yīng)用到的高級(jí)領(lǐng)域和各種關(guān)鍵用例。

圖1-8

主站蜘蛛池模板: 翁牛特旗| 承德县| 冷水江市| 杭锦旗| 蒙城县| 岚皋县| 扬中市| 台前县| 浦城县| 屏南县| 高唐县| 沂南县| 绥芬河市| 本溪市| 申扎县| 内江市| 金华市| 德令哈市| 安远县| 句容市| 安岳县| 光泽县| 卓尼县| 荆州市| 象山县| 林口县| 龙川县| 桑日县| 仙桃市| 方城县| 宣恩县| 洪雅县| 乌恰县| 内丘县| 桂平市| 临泽县| 黎城县| 灯塔市| 苍南县| 庆安县| 靖江市|