流式計(jì)算和實(shí)時(shí)計(jì)算有什么區(qū)別?
處理、實(shí)時(shí)計(jì)算屬于一類(lèi)的,即計(jì)算在數(shù)據(jù)變化時(shí),都是在數(shù)據(jù)的計(jì)算實(shí)時(shí)性要求比較高的場(chǎng)景,能夠?qū)崟r(shí)的響應(yīng)結(jié)果,一般在秒級(jí),Yahoo的S4,twiter的storm都屬于流處理和實(shí)時(shí)計(jì)算一類(lèi)的。
Add-hoc和實(shí)時(shí)查詢(xún)都計(jì)算在query時(shí),實(shí)時(shí)查詢(xún)是響應(yīng)可能千變?nèi)f化的結(jié)果,無(wú)法事先通過(guò)枚舉得到并存儲(chǔ)起來(lái),需要根據(jù)用戶(hù)輸入的不同實(shí)時(shí)查詢(xún)出不同的響應(yīng),對(duì)實(shí)時(shí)性要求比較高,比如hbase,內(nèi)存數(shù)據(jù)庫(kù)的查詢(xún)r(jià)edis、mongodb等;Add-hoc屬于對(duì)實(shí)時(shí)性要求不高的場(chǎng)景。
Add-hoc是針對(duì)各種臨時(shí)的、自定義的需求采取的解決方案,比如hive,需求是不確定的,可以通過(guò)編寫(xiě)sql來(lái)應(yīng)對(duì)各種問(wèn)題;最近出現(xiàn)的基于hadoop的實(shí)時(shí)查詢(xún)Impala,解決了實(shí)時(shí)性的要求,比hive效率。
離線(xiàn)計(jì)算一般是批量處理數(shù)據(jù)庫(kù)的過(guò)程,比如利用hadoop的mapreduce;內(nèi)存計(jì)算spark類(lèi)似于mapreduc
storm是什么類(lèi)型?
一、Storm概述
Storm是一個(gè)分布式的、可靠的、零失誤的流式數(shù)據(jù)處理系統(tǒng)。
它的工作就是委派各種組件分別獨(dú)立的處理一些簡(jiǎn)單任務(wù)。在Storm集群中處理輸入流的是Spout組件,而Spout又把讀取的數(shù)據(jù)傳遞給叫Bolt的組件。
Bolt組件會(huì)對(duì)收到的數(shù)據(jù)元組進(jìn)行處理,也有可能傳遞給下一個(gè)Bolt。我們能夠把Storm集群想象成一個(gè)由bolt組件組成的鏈條集合。數(shù)據(jù)在這些鏈條上傳輸。而bolt作為鏈條上的節(jié)點(diǎn)來(lái)對(duì)數(shù)據(jù)進(jìn)行處理。
Storm和Hadoop集群表面看上去非常類(lèi)似,可是Hadoop上面執(zhí)行的是MapReduceJobs,而在Storm上執(zhí)行的是拓?fù)鋞opology,這兩者之間是非常不一樣的,關(guān)鍵差別是:MapReduce終于會(huì)結(jié)束,而一個(gè)topology永遠(yuǎn)會(huì)執(zhí)行(除非你手動(dòng)kill掉),換句話(huà)說(shuō)。Storm是面向?qū)崟r(shí)數(shù)據(jù)分析,而Hadoop面向的是離線(xiàn)數(shù)據(jù)分析。
如果有這么一種情形。當(dāng)你看類(lèi)節(jié)目的時(shí)候。他們會(huì)常常提到一些人名和一些熱門(mén)話(huà)題。如果我們把當(dāng)中人名和話(huà)題的反復(fù)次數(shù)都記錄下來(lái),結(jié)果應(yīng)該是一件非常有趣的事情。
因此,想象在Storm環(huán)境下,我們能夠把辯論者說(shuō)的話(huà)作為輸入流,spout組件來(lái)讀取這些數(shù)據(jù),然后把每一句話(huà)發(fā)送給bolt1組件,bolt1組件負(fù)責(zé)把這一句話(huà)拆分成一個(gè)個(gè)單詞。再把這些單詞發(fā)送到bolt2組件。bolt2組件負(fù)責(zé)統(tǒng)計(jì)每一個(gè)單詞的數(shù)量然后把這些信息存儲(chǔ)到數(shù)據(jù)庫(kù)中。辯論者在不斷的說(shuō)話(huà)。而storm不斷的實(shí)時(shí)刷新數(shù)據(jù)庫(kù)中結(jié)果,當(dāng)你想查看這些結(jié)果時(shí),你僅僅需查詢(xún)數(shù)據(jù)庫(kù)就可以。
如今,你能夠想象假設(shè)能夠把這些spout和bolt均衡分布到整個(gè)集群中,而且能夠方便地做無(wú)限制的擴(kuò)展,厲害吧?這就是Storm的威力!