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