Mesosphere分散式系統首席工程師Timothy Chen在2015年來臺時表示,現在在矽谷一講到大資料技術,那些使用大資料技術的企業都會推薦用SMACK,已經沒人在講Hadoop了。(圖片來源/iThome)

過去10年來,只要一談到大資料分析,幾乎就是指Hadoop平臺,這個源自Google論文,由Yahoo和多家網路業者發揚光大的技術,幾乎成了大資料的代名詞。

直到2014年末,11月的一場資料排序競賽中,新世代爆紅大資料分析技術Spark打敗了Hadoop,只用了23分鐘,就完成100TB共計約1兆筆資料的排序,一舉改寫了由Yahoo的Hadoop團隊所創下的72分鐘世界紀錄。

令人驚訝的不只是以原來三分之一的時間達成目標,Spark也用了207臺Amazon EC2 i2.8xlarge的虛擬機器,打敗了Yahoo先前以2,100臺機器組成的Hadoop運算叢集。Spark只用了十分之一的運算節點。

不只在正式比賽打敗Hadoop,在另一場非官方的排序競賽,挑戰的資料量是100TB的100倍,也就是1PB資料排序。Spark同樣以不到四分之一的時間,打破了由Hadoop MapReduce所創下的16小時紀錄。從此,Spark取代了Hadoop,成了世界資料排序冠軍的大資料分析技術。這不只是大資料技術的大進展,更讓資料分析技術向前推進了一大步。

資料分析技術隨著關聯式資料庫在1972年問世後,才開始進入主流電腦技術。1980年代逐漸商品化,陸續出現了多款資料庫產品, IBM DB2、Oracle v3、Sybase資料庫陸續出現,關聯式資料庫成了電腦系統處理資料的關鍵核心。1980年代也因此出現了一股從資料庫中驗證假設的趨勢,而衍生出了探索式資料分析技術,先建立假設,再利用資料庫的查詢結果來驗證假設,也因此為了統一資料庫查詢方式,1986年訂定了第一個SQL標準。

1990年代,網際網路開始全球性普及,許多全球性的網站服務紛紛出現,如1995年創立的Amazon和eBay,隔年開始風行的Hotmail、1998年開始崛起的Google、Paypal等。

隨著資料庫所累積的資料量越來越大,新的資料分析方式資料探勘(Data Mining)崛起,不再只靠人工探索分析,而是藉助各種演算法來挖掘知識,機器學習演算法也在此時出現,但當時的軟硬體技術還無法讓機器學習發揮實力。另一方面,也帶動了OLAP分析性技術和OLTP資料處理維護技術的成熟。資料庫產品也進一步發展到具備更大儲存能力和資料彙整能力的資料倉儲架構,並大量依賴ETL(Extract-Transform-Load)資料流程來整理資料。

2000年開始,新一代網頁應用出現,尤其是以LinkedIn、Skype、Facebook、Twitter這類社群性的應用快速崛起,這也帶來了在資料分析上,超大量使用者、事件導向性資訊和大量資料交換需求的考驗。

為了處理這類海量網站資訊,許多大型分散處理技術漸漸成形,如多機櫃組成的電腦系統、超過100核心能聯合運算的架構、百TB級資料量的儲存能力,或是一些運算技術進化,如分散式運算、欄位式資料模式(也就是NoSQL資料庫常用的核心設計)等紛紛成熟。

當時許多資料倉儲業者也推出了不少具備MPP架構(大量平行處理能力)的產品,如HP的Vertica、Pivotal的Greenplum、IBM的Netezza、Oracle的Exadata等。

但是這些MPP架構產品不只各自有專屬的軟體,也得搭配特定硬體,造價相當昂貴,一套系統動輒上千萬元,也因此催生了平價版的大資料處理平臺Hadoop的問世。Google先發表了自家用的分散式檔案系統設計GFS和MapReduce分析架構,只要使用一般等級的商用電腦,就能具備TB級資料的儲存和分析能力。

Yahoo和眾多開源社群聯手將這些源自Google的技術觀念,發展成了Hadoop平臺產品,於2005年問世,從此以後,憑著便宜又夠用的特色,Hadoop開始成了大資料的頭號選擇,甚至吸引了資料倉儲業者反過頭來,也紛紛支援Hadoop,Hadoop甚至進一步成了大資料分析的標準平臺。隨著硬碟硬體成本的下降,Hadoop平臺開始具備了PB級資料處理能力。

Hadoop所帶動的技術和產品的成熟,也進一步催生了資料分析專職人力的出現。大力發展大資料分析的企業,紛紛開始招募這類人才,一時之間資料科學家成為最性感的職業。

不過,2010年開始盛行的行動化、API化和IoT化的新一代App應用趨勢,帶來了不一樣的新挑戰,資料分析的挑戰不只是大量,還要快速。Fast Data(快速資料)成了大資料分析的新考驗。例如光是WhatsApp一天要傳遞的資料量就多達310億則訊息,全球使用者上傳超過7億張照片。

Fast Data帶來的考驗是Hadoop這種仰賴檔案系統來儲存分析結果的平臺速度不夠快,這也讓在2009年問世以記憶體式運算為核心Spark逐漸占上風,成了許多Fast Data資料分析應用的首選,Spark更在2014年成為Apache頂級專案,成為全球開發者力推的開源技術,就如同Hadoop一樣。

這個源自分散式叢集平臺的副產品,卻變成了新一代的大資料分析技術,不只打敗了十年老牌大資料分析平臺Hadoop的MapReduce運算引擎,奪下資料排序新世界冠軍,也是新一代串流分析的主流技術,更是矽谷目前最夯新一代大資料分析SMACK的核心關鍵,不只Hadoop廠商如Cloudera和Hortonworks都力推,連Google、微軟都大力支援,IBM更誇口要訓練百萬名Spark人才來搶攻未來龐大的大資料分析需求。

不過Spark只是新一代的運算引擎,老牌Hadoop所建立的產品生態系帶動了資料處理流程各階段的技術產品出現,從資料蒐集、整理、過濾到分散式資源管理等產品紛紛出籠。

而資料科學分析需求也從單一需求轉而成為複合式多種需求,也帶動了幾種主流分析架構的興起,例如Hadoop Hive搭配MPP架構資料倉儲產品、Spark搭配Cassandra,或是Spark加上HDFS和Elastic並用。

從2015年中開始,在矽谷多場技術研討會上,開始出現一個新的組合SMACK,以Spark平臺為大資料運算引擎,搭配分散式資源管理平臺Mesos、臉書和Twitter都愛用的NoSQL資料庫Cassandra,以及聚焦於快速資料處理的訊息處理平臺Kafka,再加上這個易於彙整各類資料的Akka分散式運算工具,成了矽谷大資料新創愛用的新架構。

Mesosphere分散式系統首席工程師Timothy Chen在2015年來臺時表示,現在在矽谷一講到大資料技術,那些使用大資料技術的企業都會推薦用SMACK,已經沒人在講Hadoop了。

 資料分析技術演進 

 1970年代  關聯式資料庫誕生

 1980年代  探索式資料分析技術崛起(先建立假設再用資料驗證)

 1990年代  網際網路全球化(資料OLAP分析技術和OLTP處理技術崛起)

 1996年  資料庫挖掘知識需求(資料探勘技術崛起)

 2000年代早期  大規模運算新技術(多機櫃系統、百核心聯合運算、百TB級儲存、欄位式資料模式、分散式運算)

 2000年代中後期  社群網站大量出現(大量使用者、事件導向、大量資料交換的資料分析需求)

 2005年  Hadoop問世(MapReduce架構和分散式檔案系統產品化)

 2009年  柏克萊AMPLab展開Spark計畫,隔年開源釋出

 2010年代初期  Fast Data需求出現(API風潮、行動化、IoT竄起)、資料科學家風潮興起

 2010年代  串流與即時分析風行、新分析模式(訓練式、評分式方法)、記憶體取代磁碟、整合式資料科學(多語言、多架構混用)

 2014年  Spark成為Apache頂級專案

 2015年  熱門資料處理架構出現,SMACK成矽谷大資料架構主流

 未來5年  事件型串流分析、微批次分析(Micro-Batch)、NewSQL技術(VoltDB)、串流運算(MillWheel、Flink、Apex)、深度學習和機器學習、拓樸式資料分析

資料來源:Natalino Busa,2016年1月,iThome整理


Advertisement

更多 iThome相關內容