蓄積必要技術能量 駕馭大數據浪潮 智慧應用 影音
Microchip
ST Microsite

蓄積必要技術能量 駕馭大數據浪潮

  • DIGITIMES企劃

思科基於大數據處理需求而打造的CPA通用平台架構,頗能呼應HadoopWorld倡議的Fat Node概念;圖為CPA箇中的UCS Computing System Manager管理介面。Cisco
思科基於大數據處理需求而打造的CPA通用平台架構,頗能呼應HadoopWorld倡議的Fat Node概念;圖為CPA箇中的UCS Computing System Manager管理介面。Cisco

儘管論及大數據(Big Data)躍居熱門話題,實與2010年登上維基百科、2012年紐約時報披露「The Age of Big Data」專欄文章等里程碑有關,但其實早已存在世上,它是大量、高速、型態多變的資訊資產,需要搭配全新處理方式,促成更強的決策能力與洞察力。

伴隨大數據大行其道,躍居IT業界的潮牌時尚,遂使大數據與雲端運算得以並駕齊驅,成為眾所矚目的焦點,即便延燒多年依舊熱力四射。在此前提下,以黃色小象為Logo的Hadoop,在IT人士的心目中,也從早期的陌生逐漸轉為熟識。

說起Hadoop,就不能不提到由出版商O’Reilly及Hadoop解決方案供應商Cloudera所聯合舉辦的「Strata + Hadoop」大會;此會議在2015年到達了最高潮,不僅將舉辦規模擴大,從北美、歐洲一路擴及世界各地,在多個城市遍地開花,且被美國總統歐巴馬任命為白宮首位首席資料科學家(Cheif Data Scientist)的DJ Patil,也親赴會場發表演說,此外諸如Linkedin、Netflix等饒富盛名的成功新創企業,也現場說法暢談如何妥善駕馭並處理巨量資料。

非結構資料處理需求增  帶動Hadoop崛起

由此觀之,縱然Hadoop絕不等同於大數據的全部,甚至也稱不上箇中最深具價值的環節,但對於有志挺進資料分析與管理技術領域的人們,依然有必要好好認識Hadoop這門學問,只因為截至目前為止,Hadoop仍是巨量資料市場裡頭的老大哥,身懷許多攸關於大數據處理的技術優勢,譬如系統擴展、檔案儲存、資料處理與備份...等等,連帶也讓屬於Hadoop生態體系內的Hive、Hbase、Pig、Flume、Oozie或YARN等其他技術項目,跟著雨露均霑。

其中較受矚目者,無非就是猶如Hadoop上資料庫系統的Hbase,用以處理資料的 Script語言Pig,以及近似於SQL語法查詢功能的Hive。

論及Hadoop的神奇魅力,就在於它不但具備儲存逾越一台伺服器容納量的巨大檔案,且甚至還能同時儲存、處理與分析數千數萬份這般巨大檔案,故而深受各方關注與喜愛。簡言之,Hadoop是一套叢集系統,可容納一到數千台伺服器節點,匯聚為猶如超級電腦的強大計算能量,至於其間所採取的資料儲存模式,則以HDFS分散式檔案系統(Hadoop Distributed File System)作為基礎。

深究HDFS的特色,乃在於從提高機率的觀點出發,將存入此環境的每一份資料,都至少產生三份副本(Replication),接著予以平均分散儲存至位在不同機架的伺服器上,藉此提高資料存取效率。具體來說,每當任何一份檔案存入HDFS,其中的Namenode將負責把檔案切割成為數個64MB固定大小的區塊(Block),然後再把這些Block分散儲存至不同的DataNode,所以每套檔案的儲存,皆跨越不同實體主機器,也算是一個由Namenode居間掌控大局的虛擬分散式檔案系統。

從最終用戶的角度,當需要從HDFS架構調閱資料時,通常會從3~5台不同的伺服器各讀取一個Block,接著再組合為一份完整的檔案,如此將有助於降低每一台伺服器Read Lock的時間,大幅提升讀取效率。

而在HDFS力挺之下,使得Hadoop能夠儲存大到TB、甚至PB等級的巨量資料,無需擔心有任何檔案逾越單一磁碟區的大小,更不必擔心叢集環境中有任何主機失效、因而導致數據毀損。

另一方面,Hadoop除HDFS還有一大核心功能,也就是名為MapReduce的平行運算技術架構,顧名思義,它便是取材函數程式設計當中的映射(Map)、歸納(Reduce)等概念,運用個別擊破(Divide and Conquer)的方式,將一個大問題拆分為許許多多個小問題,經由個別妥善處理後,最終再加以歸納整合。

NoSQL與MPP資料庫  聯袂形成大數據支柱

顯而易見,透過前述這般多管齊下的處理模式,相較於傳統計算技術,確實更能有效悠遊於動輒數百台、數千台主機所形的叢集系統,平行處理箇中巨量資料,從而加快資料處理效率。

只不過,光靠Hadoop一干徒子徒孫,即使是賴以儲存資料的重要法寶HDFS,以及攸關資料處理的關鍵架構MapReduce,都還不足以化解所有關於大數據的處理難題。因此有另外兩項堪與Hadoop鼎足而三的利器,其一是大規模並行處理(Massively Parallel Processing;MPP)資料庫,另一則是NoSQL。

先說MPP資料庫的誕生緣由。因為大數據當中充斥極大比例的非結構化資料,明顯逾越過往一般BI系統架構的處理能耐,為了讓企業以往苦心累積的投資不致一夕泡湯,能夠繼續發揮價值,將戰線從結構化資料延伸至非結構化資料,實為必要另行建構Hadoop基礎架構,用以處理半結構化資料、或非結構化資料,在此萃取出有價資訊後,再循著適當路徑,回歸到既有的BI系統進行整合分析。

值得一提,若採取前述做法,必須倚靠一道客製化的資料轉換機制,用以介接Hadoop架構與BI系統,但此機制的產生,難免需要歷經Hard Coding程序,唯恐加重企業的程式開發負荷,且最終所能展現的資料整合程度,也將有所侷限,因此並非最佳模式。

著眼於此,開始有業者發展MPP資料庫,將傳統關聯式資料庫的Raw-based運算結構,轉為Column-based另一索引架構,藉以增進巨量資料的查詢效率,另新增Hadoop連接器,讓企業據此串接Hadoop架構,兼能整合既有的前端BI工具,也使得原本頗為艱澀而不友善的巨量資料處理結果,得以化繁為簡,透過友善介面呈現予使用者觀看。

舉例來說,一向在資料倉儲市場享有高佔有率的Teradata,為了強化非結構性資料分析能力,於是在多年購併Aster Data,使之支援關聯式資料庫SQL語法,搭配用以處理非結構化資料的MapReduce函式庫,接著藉此平台一併儲存結構化資料與非結構化資料,並將非結構化資料當中的可用訊息轉換為結構化資料,加以分析並建立資料模組,最終交由Teradata資料倉儲系統執行關聯式分析。

Fat Node概念抬頭  藉由強效主機支撐Hadoop運作

至於NoSQL,則跳脫了傳統關聯式資料庫管理系統的框架,只因為一般資料庫在進行大量數據存取時,終究很難避免有關於效能、擴充性乃至維護等種種難題,既然如此,便亟思以NoSQL資料庫這般另類技術架構(顧名思義,不以SQL為查詢語言),巧妙化解效能與擴充彈性等方面的不足。

到了後來,甚至有業者提倡將NoSQL的原義「No SQL」做適度改良,進而賦予「Not Only SQL」之新內涵,也就是讓它不只是SQL系統,能夠並用NoSQL資料庫與傳統關聯式資料庫的雙重優勢,截長補短以實現最佳的大數據儲存效果。

原本各方認為,藉由Hadoop、MPP資料庫及NoSQL共築而成的鐵三角,理應可協助企業有效克服大數據儲存與分析之挑戰,殊不知隨著Hadoop運算節點愈增加,而不再只是一開始主機數量有限的小集群,便使得管理與維護難度急遽升高,與此同時,肇因單一或少數主機故障而影響整個大局的失誤點,數量也節節攀升。

因此在去年的Strata + Hadoop世界大會,已明顯釋放出「Fat Node」新概念,意即不再只一大堆螞蟻雄兵(指大量通用型伺服器)來建構Hadoop,或藉以支撐MPP資料庫、NoSQL資料庫等系統的運作,轉而藉助具備更充裕資源的強效型伺服器擔當重任,有效提高大數據處理效率。

以思科的UCS通用平台架構(CPA)為例,正是呼應前述Fat Node新觀點的典型運算設備,其內含UCS C220/C240伺服器、Nexus 2232 Fabric Extender、UCS 6200系列Fabric Interconnects、UCS Manager,輔以運用獨特的Unified Fabric網路層統一技術,故而可確保傳統資料倉儲、Hadoop架構等新舊節點皆可接入同一儲存架構,且讓管理者得以巧妙跨越企業應用、Hadoop叢集等不同環境,挪移調度運算資源,確使企業面對大數據所衍生的新投資,能夠回頭支應既有應用需求,從而展現最佳投資報酬率。

關鍵字