在實(shí)時數(shù)據(jù)的世界當(dāng)中,我們?yōu)槭裁催€要執(zhí)著于Hadoop這一片森林?
作為一套以批量處理為主要訴求的架構(gòu)方案,Hadoop仍然堪稱大數(shù)據(jù)技術(shù)領(lǐng)域的榮耀長子。然而根據(jù)451研究集團(tuán)的調(diào)查數(shù)據(jù)顯示,其實(shí)際普及效果仍然不及顯赫的聲譽(yù)。
那些已經(jīng)率先部署了Hadoop解決方案的企業(yè)可能希望稍稍放慢自己的前進(jìn)腳步。伴隨著Apache Spark以及其它一系列技術(shù)方案的出臺(包括Storm、Kafka等等),我們似乎與Hadoop的批量處理思路漸行漸遠(yuǎn)、轉(zhuǎn)而踏上了一條真正通往實(shí) 時性未來的發(fā)展道路。
批量并非
Cloudera公司的Doug Cutting是一位極為睿智的技術(shù)人員,同時也是一位高產(chǎn)的開源開發(fā)者。Hadoop、Lucene以及眾多其它大數(shù)據(jù)事務(wù)領(lǐng)域的根本性工具都有他的參與。
盡管Cutting坦言實(shí)時流技術(shù)的重要性毋庸置疑,但他并不在乎Hadoop這一主要面向批量處理任務(wù)的方案,并在與我們的采訪郵件當(dāng)中指出:
這并不是說Hadoop的架構(gòu)設(shè)計不應(yīng)該針對批量處理,因為批量處理確實(shí)非常重要。事實(shí)上,批量處理、特別是 MapReduce下的批量處理可謂最理想的起步方案,因為其相對容易實(shí)現(xiàn)而且具有重要的實(shí)際價值。在Hadoop誕生之前,我們根本沒辦法利用開源軟件 在商用硬件基礎(chǔ)上存儲并處理PB級別的數(shù)據(jù)。Hadoop的MapReduce幫助技術(shù)人員在資源容量領(lǐng)域邁進(jìn)了重要的一步。
我們很難準(zhǔn)確衡量大數(shù)據(jù)的商品化發(fā)展趨勢對于整個世界的運(yùn)作到底起到了怎樣重要的作用。在Hadoop誕生之前面,我們面臨著無數(shù)存儲與分析容量方面的難題。在這種情況下,Hadoop讓我們以可承受的使用成本擁有了這種關(guān)鍵性能力。
總體而言,Hadoop是大數(shù)據(jù)民主化進(jìn)程——或者說“走入尋常企業(yè)家”的重要前提。
向數(shù)據(jù)流處理的轉(zhuǎn)變?
不過要利用大數(shù)據(jù)獲取實(shí)際效益仍然非常困難。正如DataStax公司首席倡導(dǎo)者Patrick McFadin在一次采訪中所言,從企業(yè)數(shù)據(jù)當(dāng)中獲取實(shí)際價值并不像很多人宣揚(yáng)的那樣簡便:
我們都聽說過PB級別數(shù)據(jù)在存儲與分析領(lǐng)域的投資回報問題。谷歌、雅虎以及Facebook確實(shí)在投資回報方面交出了理想的答卷,但遺憾的是眾多企業(yè)仍然找不到充分分析并運(yùn)用全部數(shù)據(jù)的方式。第一:收集全部數(shù)據(jù)。第二:……第三:利潤!
在數(shù)據(jù)收集與構(gòu)成利潤之間存在著一系列步驟,而這些步驟實(shí)現(xiàn)起來確實(shí)相當(dāng)麻煩。隨著企業(yè)開始尋求提升自身的數(shù)據(jù)實(shí)時分析能力,新技術(shù)方案的出爐逐漸使其理想變成了現(xiàn)實(shí)。
McFadin對這套新型大數(shù)據(jù)堆棧中的關(guān)鍵性元素進(jìn)行了深入剖析。首先,他表示其中應(yīng)包含一套查詢系統(tǒng),最典型的代表包括Kafka、 RabbitMQ以及Kinesis。接下來,企業(yè)還需要擁有一套流處理層,其中可能包含Storm、Spark Streaming或者Samza。在調(diào)整存儲方面,企業(yè)通常會選擇Cassandra、HBase、MongoDB或者以MySQL為代表的關(guān)鍵型數(shù)據(jù) 庫。
最值得關(guān)注的是批量處理仍然適用于哪些領(lǐng)域。根據(jù)McFadin的觀點(diǎn),“批量機(jī)制目前在處理領(lǐng)域仍然極具實(shí)用性”——具 體而言,類似于匯總與深層分析。批量處理與實(shí)時技術(shù)的概念合并已經(jīng)構(gòu)建起所謂“Lambda架構(gòu)”,其中涉及到三種組成元素的協(xié)同作用:批處理、速度以及 服務(wù)交付。
換句話來說,批量處理仍然擁有自己的重要意義。
將批量機(jī)制扔進(jìn)歷史的垃圾箱
但并不是每個人都認(rèn)同這種觀點(diǎn)。舉例來說,Zoomdata公司CEO兼聯(lián)合創(chuàng)始人Justin Langseth將Lambda定性為一種“不必要的妥協(xié)”,并在采訪中告訴我們,“目前已經(jīng)出現(xiàn)了能夠從來源處處理數(shù)據(jù)、傳輸數(shù)據(jù)、存儲數(shù)據(jù)并進(jìn)行數(shù)據(jù) 分析及可視化處理的端到端工具,”而且完全無需涉及批量化機(jī)制。
根據(jù)他的觀點(diǎn),批量處理機(jī)制是特定時代下不可避免的錯誤,一種舊日大數(shù)據(jù)遺留下的廢棄成果:
實(shí)時數(shù)據(jù)顯然最好以流方式加以處理。但企業(yè)也完全能夠?qū)v史數(shù)據(jù)納入流處理范疇,正如我們的DVR能夠以流媒體方式將《亂 世佳人》或者上周的《美國偶像》傳輸?shù)接脩舻碾娨暽稀_@種差別非常重要,因為我們Zoomdata公司認(rèn)為以流方式進(jìn)行數(shù)據(jù)分析能夠帶來可觀的可擴(kuò)展能力 與靈活性提升,而且無需考慮數(shù)據(jù)對象到底屬于實(shí)時數(shù)據(jù)還是歷史數(shù)據(jù)。
不過除了可擴(kuò)展能力與靈活性收益之外,將批量機(jī)制從大數(shù)據(jù)流程當(dāng)中移除還能起到顯著的簡化效果。正如Langseth所言,“這能極大簡化大數(shù)據(jù)架構(gòu),因為使用者不必再為批量窗口、從批量流程故障中進(jìn)行數(shù)據(jù)恢復(fù)以及其它種種麻煩事憂心。”
雙方為何不能和諧相處?
短時間內(nèi)恐怕還無法實(shí)現(xiàn),Cutting表示。
相對于徹底將Hadoop等舊有技術(shù)方案徹底扔進(jìn)垃圾堆,Cutting更傾向于將世界看成一個“流機(jī) 制確實(shí)不錯,但Cloudera的Enterprise Data Hub同樣值得關(guān)注”式的和諧生態(tài)圈。事實(shí)上,他同時補(bǔ)充稱,“我認(rèn)為未來不會出現(xiàn)指向流機(jī)制的顯著轉(zhuǎn)變。相反,流機(jī)制將加入到處理選項集合當(dāng)中,并供大 家在合適的情況下作出選擇。”
更有趣的是,Cutting認(rèn)為大數(shù)據(jù)在創(chuàng)新領(lǐng)域的“大爆炸”式增長——坦率地講,行動較為遲緩的企業(yè)IT部門已經(jīng)跟不上這種突飛猛進(jìn)的節(jié)奏——已經(jīng)逐漸止步,而相關(guān)業(yè)界將提供多種良好的方式解決由此帶來的技術(shù)難題:
我認(rèn)為像Spark這樣的關(guān)鍵性技術(shù)方案已經(jīng)不會在整體堆棧當(dāng)中頻繁出現(xiàn),因此隨著時間的推移,我們將 建立起一套標(biāo)準(zhǔn)化工具集合,從而幫助大部分用戶從其大數(shù)據(jù)應(yīng)用程序當(dāng)中獲得理想的容量水平。Hadoop的誕生引燃了大數(shù)據(jù)項目寒武紀(jì)大爆發(fā)的點(diǎn)火索,但 我們可能會很快進(jìn)入一段趨于正常的演化周期,并將這些技術(shù)方案推廣到更多行業(yè)當(dāng)中。
DataStax公司社區(qū)經(jīng)理Scott Hirleman也對此表示贊同:“批機(jī)制不會被徹底拋棄,因為包含大量數(shù)據(jù)的超大規(guī)模分析場景將一直存在下去。”他承認(rèn)“流分析機(jī)制將引發(fā)業(yè)界的高度關(guān)注”,但同時堅持認(rèn)為這種趨勢會給各類大數(shù)據(jù)規(guī)劃帶來怎樣的影響“目前還言之過早”。
簡而言之,流分析的主要意義在于“補(bǔ)充”而非“淘汰”。其對于Hadoop等面向批量機(jī)制的系統(tǒng)而言是一種極好的補(bǔ)充,而不會將這位開啟大數(shù)據(jù)時代的元老直接送進(jìn)養(yǎng)老院。
原文標(biāo)題:Beyond Hadoop: The streaming future of big data