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