計(jì)算能力 | 數(shù)據(jù)來(lái)源類(lèi)型 | 數(shù)據(jù)處理方式 | 底層框架 | 時(shí)延性 |
---|---|---|---|---|
批計(jì)算 | 歷史已存在數(shù)據(jù) | 批處理 | MapReduce spark |
要求不高 |
流計(jì)算 | 源源不斷的流式數(shù)據(jù) | 微批處理&逐條出來(lái) | Storm Flink Spark Streaming |
毫秒 |
在線查詢(xún) | 歷史已存在數(shù)據(jù) | 逐條處理/檢索過(guò)濾 | Elasticsearch | 毫秒 |
即席分析 | 歷史已存在數(shù)據(jù) | 批處理/聚合 | Impala Kylim ClickHouse AnalyticDB |
毫秒/秒級(jí)延遲 |
批計(jì)算
主要用于批量數(shù)據(jù)的高延時(shí)處理場(chǎng)景,如離線數(shù)倉(cāng)的加工匾鸥、大規(guī)模數(shù)據(jù)的清洗和挖掘等。目前大多是利用MapReduce碉纳、Hive勿负、Spark等計(jì)算框架進(jìn)行處理,其特點(diǎn)是數(shù)據(jù)吞吐量大劳曹、延時(shí)高奴愉,適合人機(jī)交互少的場(chǎng)景。
傳統(tǒng)的數(shù)據(jù)處理方式通常是將數(shù)據(jù)導(dǎo)入至專(zhuān)門(mén)的數(shù)據(jù)分析工 具中铁孵,這樣會(huì)面臨兩個(gè)問(wèn)題:
- 源數(shù)據(jù)非常大時(shí)锭硼,往往數(shù)據(jù)的移動(dòng)就要花費(fèi)較長(zhǎng)時(shí)間。
- 傳統(tǒng)的數(shù)據(jù)處理工具往往是單機(jī)的蜕劝,或系統(tǒng)架構(gòu)無(wú)法快速擴(kuò)容檀头,面對(duì)海量數(shù)據(jù)時(shí)轰异,數(shù)據(jù)處理的時(shí)間也是一個(gè)很大的問(wèn)題。
相比MapReduce暑始,Spark 在以下幾方面具有優(yōu)勢(shì):
- 數(shù)據(jù)處理技術(shù):Spark將執(zhí)行模型抽象為通用的有向無(wú)環(huán)圖 (DAG)執(zhí)行計(jì)劃搭独,這可以將多個(gè)Stage串聯(lián)或者并行執(zhí)行,而無(wú)須將 Stage的中間結(jié)果輸出到HDFS中廊镜。
- 數(shù)據(jù)格式和內(nèi)存布局:Spark RDD能支持粗粒度寫(xiě)操作牙肝,而對(duì)于讀 操作,RDD可以精確到每條記錄嗤朴,這使得RDD可以用來(lái)作為分布式索引
- 執(zhí)行策略:MapReduce在數(shù)據(jù)Shuffle之前花費(fèi)了大量的時(shí)間來(lái)排 序配椭,Spark支持基于Hash的分布式聚合,調(diào)度中采用更為通用的任務(wù)執(zhí)行DAG雹姊,每一輪的輸出結(jié)果都可以緩存在內(nèi)存中
流計(jì)算
也叫實(shí)時(shí)流計(jì)算股缸,對(duì)于數(shù)據(jù)的加工處理和應(yīng)用有較強(qiáng)的實(shí)效性要 求,常見(jiàn)于監(jiān)控告警場(chǎng)景容为,例如實(shí)時(shí)分析網(wǎng)絡(luò)事件乓序,當(dāng)有異常事件發(fā)生 時(shí)能夠及時(shí)介入處理。例如坎背,阿里巴巴“雙11”的可視化大屏上的數(shù)據(jù)展 現(xiàn)是根據(jù)瀏覽替劈、交易數(shù)據(jù)經(jīng)過(guò)實(shí)時(shí)計(jì)算后展現(xiàn)在可視化大屏上的一種應(yīng) 用。這類(lèi)場(chǎng)景目前應(yīng)用較多的計(jì)算框架主要有Flink得滤、Spark Streaming和 Storm等
流計(jì)算的常見(jiàn)應(yīng)用場(chǎng)景如下:
- 流式ETL:集成流計(jì)算現(xiàn)有的諸多數(shù)據(jù)通道和SQL靈活的加工能 力陨献,對(duì)流式數(shù)據(jù)進(jìn)行實(shí)時(shí)清洗、歸并懂更、結(jié)構(gòu)化處理眨业。同時(shí),對(duì)離線數(shù)倉(cāng) 進(jìn)行有效補(bǔ)充和優(yōu)化沮协,為數(shù)據(jù)的實(shí)時(shí)傳輸提供可計(jì)算通道龄捡。
- 流式報(bào)表:實(shí)時(shí)采集、加工流式數(shù)據(jù)慷暂,實(shí)時(shí)監(jiān)控和展現(xiàn)業(yè)務(wù)和客 戶(hù)的各類(lèi)指標(biāo)聘殖,讓數(shù)據(jù)化運(yùn)營(yíng)實(shí)時(shí)化。
- 監(jiān)控預(yù)警:對(duì)系統(tǒng)和用戶(hù)的行為進(jìn)行實(shí)時(shí)檢測(cè)和分析行瑞,實(shí)時(shí)監(jiān)測(cè) 和發(fā)現(xiàn)危險(xiǎn)行為奸腺。
- 在線系統(tǒng):實(shí)時(shí)計(jì)算各類(lèi)數(shù)據(jù)指標(biāo),并利用實(shí)時(shí)結(jié)果及時(shí)調(diào)整在 線系統(tǒng)的相關(guān)策略血久,在內(nèi)容投放突照、無(wú)線智能推送等領(lǐng)域有大量的應(yīng)用。
在線查詢(xún)
主要用于數(shù)據(jù)結(jié)果的在線查詢(xún)氧吐、條件過(guò)濾和篩選等讹蘑,如數(shù)據(jù)檢索末盔、 條件過(guò)濾等。根據(jù)不同的場(chǎng)景也會(huì)有多種選擇衔肢,如營(yíng)銷(xiāo)場(chǎng)景對(duì)響應(yīng)延時(shí) 要求高的庄岖,一般會(huì)采集緩存型的存儲(chǔ)計(jì)算,如Redis角骤、Tair等;對(duì)響應(yīng)延 時(shí)要求正常的隅忿,可以選擇HBase和MySQL等;需要進(jìn)行條件過(guò)濾、檢索 的邦尊,可以選擇Elasticsearch等背桐。企業(yè)一般對(duì)在線查詢(xún)的需求比較旺盛, 因此可能會(huì)有多套在線計(jì)算的能力提供服務(wù)
在線查詢(xún)的常見(jiàn)應(yīng)用場(chǎng)景
- 畫(huà)像服務(wù):根據(jù)對(duì)象標(biāo)識(shí)提供具體的查詢(xún)服務(wù)蝉揍,如通過(guò)Redis可以 提供低延遲链峭、高并發(fā)的查詢(xún)服務(wù)能力;通過(guò)HBase可以提供大規(guī)模數(shù)據(jù) 的查詢(xún)服務(wù)能力,征信查詢(xún)就是類(lèi)似的服務(wù)又沾。
- 搜索的應(yīng)用場(chǎng)景:提供搜索引擎的能力弊仪,為用戶(hù)提供模糊匹配、 意圖識(shí)別檢索等能力杖刷,快速檢索需要的內(nèi)容励饵,如常見(jiàn)的文檔搜索、商品 搜索等滑燃。
- 圈人場(chǎng)景:通過(guò)一些特定的條件規(guī)則役听,可以快速篩選出業(yè)務(wù)所需 要的群體,為后續(xù)的運(yùn)營(yíng)表窘、營(yíng)銷(xiāo)等工作的開(kāi)展提供支撐典予。
即席分析
主要用于分析型場(chǎng)景和經(jīng)驗(yàn)統(tǒng)計(jì)。一般而言乐严,企業(yè)80%的數(shù)據(jù)處理 需求是在線查詢(xún)和即席分析瘤袖。針對(duì)不同維度的分析,有多種方式可以提 供昂验,提前固定計(jì)算的維度孽椰、根據(jù)需求任意維度的交叉分析(ad-hoc)等 都是常見(jiàn)的場(chǎng)景。目前也有很多相應(yīng)的產(chǎn)品凛篙、框架來(lái)支撐這方面的應(yīng) 用,如Kylin栏渺、Impala呛梆、ClickHouse、Hawk等
即席分析的常見(jiàn)應(yīng)用場(chǎng)景如下:
- 交互式數(shù)據(jù)分析:企業(yè)運(yùn)營(yíng)人員在日常工作中經(jīng)常需要通過(guò)SQL 從各個(gè)維度對(duì)當(dāng)前業(yè)務(wù)進(jìn)行分析磕诊,提供分析結(jié)果以便開(kāi)展后續(xù)工作填物。離 線計(jì)算的場(chǎng)景等待時(shí)間較久纹腌,用戶(hù)體驗(yàn)不好,即席分析可以比較好地規(guī) 避這個(gè)問(wèn)題滞磺。
- 群體對(duì)比分析場(chǎng)景:在業(yè)務(wù)中經(jīng)常會(huì)有A/B測(cè)試場(chǎng)景升薯,針對(duì)不同的 群體,從各個(gè)維度對(duì)比分析也是即席分析經(jīng)常支撐的場(chǎng)景