基礎(chǔ)系列:u200bLambda架構(gòu)和Kappa架構(gòu)
數(shù)據(jù)經(jīng)理會(huì)相應(yīng)地評(píng)估他們的結(jié)構(gòu)模式,因?yàn)槊刻於加胁煌氖褂脠?chǎng)景。有些人堅(jiān)持使用現(xiàn)代數(shù)據(jù)堆棧!有些人堅(jiān)持使用開(kāi)源解決方案來(lái)抵抗現(xiàn)代數(shù)據(jù)堆棧的宣傳者,有些人只是試圖解決問(wèn)題。
不管你代表哪一個(gè)團(tuán)隊(duì),都有一個(gè)共同的問(wèn)題:數(shù)據(jù)處理。隨著數(shù)據(jù)處理方法和工具的不斷變化和發(fā)展。本文將介紹數(shù)據(jù)處理架構(gòu)Lambda和Kappa它是數(shù)據(jù)處理架構(gòu)決策的基礎(chǔ)。
一個(gè)Lambda架構(gòu)
在大數(shù)據(jù)系統(tǒng)中,Lambda架構(gòu)用于處理。即時(shí)和批量NathanMarz提出了一種數(shù)據(jù)設(shè)計(jì)模式,旨在解決對(duì)大量數(shù)據(jù)進(jìn)行低延遲處理的考驗(yàn)。
讓我們先看一下用例,然后再深入了解架構(gòu)的細(xì)節(jié),以便更好地了解為什么,以及在哪里需要。Lambda架構(gòu)。
常用用例:
Lambda架構(gòu)適用于各種需要即時(shí)和批量處理大量數(shù)據(jù)的用例。一些常見(jiàn)的用例包括:
欺詐檢測(cè):為了識(shí)別異常的方式和行為,需要對(duì)信用卡欺詐或身份盜竊等欺詐活動(dòng)進(jìn)行實(shí)時(shí)分析。Lambda架構(gòu)允許組織實(shí)時(shí)處理流數(shù)據(jù)進(jìn)行即時(shí)檢查,同時(shí)對(duì)歷史數(shù)據(jù)進(jìn)行分析,以改進(jìn)欺詐檢測(cè)算法。
物聯(lián)網(wǎng)(IoT)數(shù)據(jù)處理:為了獲得意見(jiàn),采取適當(dāng)?shù)男袆?dòng),物聯(lián)網(wǎng)設(shè)備會(huì)產(chǎn)生大量的數(shù)據(jù),需要對(duì)這些信息進(jìn)行實(shí)時(shí)的處理和分析。Lambda架構(gòu)可以實(shí)時(shí)處理物聯(lián)網(wǎng)數(shù)據(jù)流,同時(shí)也可以進(jìn)行批處理進(jìn)行長(zhǎng)期分析和優(yōu)化。
推薦系統(tǒng):個(gè)性化推薦系統(tǒng)用于電子商務(wù)、媒體流和社交網(wǎng)絡(luò)平臺(tái),依靠即時(shí)用戶交互和歷史數(shù)據(jù)生成準(zhǔn)確的推薦。Lambda架構(gòu)有利于處理即時(shí)用戶交互和歷史數(shù)據(jù)審批處理,從而不斷完善推薦系統(tǒng)。
組成Lambda架構(gòu)
由三層組成的Lambda架構(gòu):
批處理層
批處理層負(fù)責(zé)大量處理歷史數(shù)據(jù),并將結(jié)果存儲(chǔ)在數(shù)據(jù)倉(cāng)庫(kù)或分布式文件系統(tǒng)等集中數(shù)據(jù)存儲(chǔ)中。我們通常將數(shù)據(jù)存儲(chǔ)在視圖、物化視圖或可用的表中,這些視圖通過(guò)升級(jí)、檢索和可用。
批量處理層以不可改變的方式存儲(chǔ)數(shù)據(jù),只有附加的方式。它有助于組織存儲(chǔ)其歷史數(shù)據(jù),并在必要時(shí)瀏覽它。
速率層
批處理層本質(zhì)上是有延遲的。在大多數(shù)情況下,批處理數(shù)據(jù)每天更新一兩次。在大多數(shù)情況下,它足以繼續(xù)處理下游用例,但在某些情況下,延遲可能是一個(gè)問(wèn)題。在這方面,為了最大限度地減少數(shù)據(jù)差距,我們應(yīng)該通過(guò)流閃存提供數(shù)據(jù)。
速度層負(fù)責(zé)實(shí)時(shí)數(shù)據(jù)處理。它處理傳入的數(shù)據(jù)流,并以幾乎即時(shí)的方式生成增量更新。隨后,這些更新與批處理層的結(jié)果合并,提供統(tǒng)一的數(shù)據(jù)視圖。速度層的工作是縮小數(shù)據(jù)創(chuàng)建時(shí)間和數(shù)據(jù)查詢時(shí)間之間的差距。服務(wù)層
服務(wù)層是瀏覽數(shù)據(jù)的連接點(diǎn)。它結(jié)合了批處理層和速度層的結(jié)果,并提供了一致的數(shù)據(jù)視圖。數(shù)據(jù)服務(wù)層根據(jù)預(yù)定義的時(shí)間表從批處理層接收批處理視圖。該層還接收從速度層流傳輸?shù)募磿r(shí)視圖。
第二個(gè)Kappa架構(gòu)
Kappa架構(gòu)是一種數(shù)據(jù)處理架構(gòu),目的是提供一個(gè)可擴(kuò)展、容錯(cuò)和靈活的系統(tǒng)。大量數(shù)據(jù)的實(shí)時(shí)處理。這是作為替代Lambda架構(gòu)的方案研究開(kāi)發(fā)。通過(guò)清除批處理層,對(duì)大數(shù)據(jù)系統(tǒng)的設(shè)計(jì)進(jìn)行了簡(jiǎn)化,從而為實(shí)時(shí)動(dòng)態(tài)處理提供了更加簡(jiǎn)化的方法。

常用用例:
Kappa架構(gòu)適用于各種需要實(shí)時(shí)處理大量數(shù)據(jù)的用例。一些常見(jiàn)的用例包括:
實(shí)時(shí)監(jiān)控和報(bào)警:Kappa架構(gòu)特別適用于數(shù)據(jù)流量、服務(wù)器性能或應(yīng)用日志等實(shí)時(shí)監(jiān)控系統(tǒng)和應(yīng)用程序。當(dāng)出現(xiàn)異常、性能問(wèn)題或安全漏洞時(shí),它允許組織檢查它們并觸發(fā)即時(shí)報(bào)警或操作。
點(diǎn)擊流分析:為了了解用戶行為,優(yōu)化用戶體驗(yàn),提供個(gè)性化的內(nèi)容或推薦,網(wǎng)站和移動(dòng)應(yīng)用程序可以生成大量的點(diǎn)擊流數(shù)據(jù),并需要對(duì)這些信息進(jìn)行實(shí)時(shí)處理和分析。KappaArchitecture使組織能夠?qū)崟r(shí)處理點(diǎn)擊流數(shù)據(jù)流,并獲得可操作的觀點(diǎn),而無(wú)需進(jìn)行批處理。
供應(yīng)鏈優(yōu)化:Kappa架構(gòu)可以通過(guò)實(shí)時(shí)處理來(lái)自庫(kù)存系統(tǒng)、物流網(wǎng)絡(luò)和營(yíng)銷渠道的數(shù)據(jù)流來(lái)優(yōu)化供應(yīng)鏈運(yùn)營(yíng)。它允許組織實(shí)時(shí)監(jiān)控供應(yīng)鏈績(jī)效,識(shí)別瓶頸,預(yù)測(cè)需求,優(yōu)化庫(kù)存水平。
構(gòu)成Kappa架構(gòu)
Kappa架構(gòu)由兩層組成:
數(shù)據(jù)收集層
該層負(fù)責(zé)從各種來(lái)源即時(shí)收集和提取數(shù)據(jù)。數(shù)據(jù)不斷流入系統(tǒng),無(wú)需批量處理或預(yù)計(jì)計(jì)算。Kappa架構(gòu)中的數(shù)據(jù)提取一般采用ApacheKafka或類似的分布式消息傳輸系統(tǒng)等技術(shù)。
流處理層
流處理層是Kappa架構(gòu)中系統(tǒng)的核心。它處理實(shí)時(shí)動(dòng)態(tài)和歷史數(shù)據(jù)重放。ApacheFlink、ApacheSamza或ApacheStorm等流處理框架用于實(shí)時(shí)處理數(shù)據(jù)流。這類框架提供了對(duì)傳輸?shù)綌?shù)據(jù)流的復(fù)雜轉(zhuǎn)換、分析和操作所需的功能。
三總結(jié)
Kappa和Lambda架構(gòu)都提供了一個(gè)解決方案,可以通過(guò)即時(shí)和批量的方式處理大量的數(shù)據(jù),每個(gè)架構(gòu)都有自己的優(yōu)勢(shì)和用例。
Lambda架構(gòu)為處理復(fù)雜的數(shù)據(jù)處理需求(包括歷史分析和批量計(jì)算)提供了一個(gè)強(qiáng)大的框架,具有批處理、速度和服務(wù)層。
另一方面,Kappa架構(gòu)通過(guò)清除批處理層,簡(jiǎn)化了設(shè)計(jì),只專注于實(shí)時(shí)流處理。這種簡(jiǎn)化方法減少了延遲,簡(jiǎn)化了維護(hù),為實(shí)時(shí)動(dòng)態(tài)和歷史數(shù)據(jù)提供了統(tǒng)一的處理模型。
Kappa和Lambda架構(gòu)選擇取決于用例的實(shí)際需要、平衡延遲要求、數(shù)據(jù)復(fù)雜性和系統(tǒng)復(fù)雜性等因素。
本文來(lái)自微信微信官方賬號(hào)“數(shù)據(jù)驅(qū)動(dòng)智能”(ID:Data作者:曉曉,36氪經(jīng)授權(quán)發(fā)布,_0101)。
本文僅代表作者觀點(diǎn),版權(quán)歸原創(chuàng)者所有,如需轉(zhuǎn)載請(qǐng)?jiān)谖闹凶⒚鱽?lái)源及作者名字。
免責(zé)聲明:本文系轉(zhuǎn)載編輯文章,僅作分享之用。如分享內(nèi)容、圖片侵犯到您的版權(quán)或非授權(quán)發(fā)布,請(qǐng)及時(shí)與我們聯(lián)系進(jìn)行審核處理或刪除,您可以發(fā)送材料至郵箱:service@tojoy.com




