首頁 > 巨量數據該從何而去?
:::

巨量數據該從何而去?

雲端資料庫能解決有限的儲存空間,此外還具有處理以及分析資料的功能。本文所介紹的Hadoop是一套免費的雲端平台,且含有開放給大眾使用與修改工具的框架,深受企業歡迎。Hadoop的組成包含(1)Common Utilities:負責架構平台元件、(2)YARN Framework:進行運算序分配與叢集資源管理、(3)Hadoop Distributed File System:存放資料的系統、(4)MapReduce:執行同步運算並統一進行分析或決策。
 
 

巨量資料的分析為人類帶來產品的加速生產與決策,取代大量人力所無法解決的困境。
(圖片來源 : 工研院/網址:https://www.itri.org.tw/chi/content/publications/contents.aspx?&SiteID=1&MmmID=2000&MSid=707267552246742173)
▲巨量資料的分析為人類帶來產品的加速生產與決策,取代大量人力所無法解決的困境。 (圖片來源 : 工研院/網址:https://www.itri.org.tw/chi/content/publications/contents.aspx?&SiteID=1&MmmID=2000&MSid=707267552246742173)
 
你知道嗎,當你使用手機或是電腦來閱讀文章、利用通訊軟體和朋友聊天、從網頁中查找各種事物,甚至是從網路進行拍賣或購物的同時,你可能已經成為產生數據的一份子了。眾多資料從世界各個角落同時產生,例如:影片、音樂和個人網站等,這些多樣化的資料型態以及符合快速傳輸的需求,最後集結而成現在被廣泛熱烈討論的大數據。然而,到底應該如何儲存與處理如此龐大的資料量呢?
 
雲端資料庫的出現為龐大且難以處理的複雜資料開闢新的道路,而有著黃色小象標誌的Hadoop即是鋪陳新道路的其中一項有效的雲端資料儲存以及運算的環境。想像你的筆電中擁有數十億的影片要儲存卻空間不足,這時,雲端資料庫提供一個足夠大的平台解決有限的儲存空間,此外還具有處理以及分析資料的功能,換言之,也就是我們時常聽說的雲端平台。而Hadoop即是眾多雲端平台其中之一,是一套含有開放給大眾使用與修改工具的框架(即為開放原始碼框架),且是完全免費的軟體,因此深受企業歡迎。
 
 
圖一:雲端資料庫Hadoop的組成分層。(圖片來源:Tutorialspoint/網址:https://www.tutorialspoint.com//hadoop/hadoop_quick_guide.htm)
▲圖一:雲端資料庫Hadoop的組成分層。(圖片來源:Tutorialspoint/網址:https://www.tutorialspoint.com//hadoop/hadoop_quick_guide.htm)
 

透過黃色小象Hadoop為例,讓我們來進一步了解雲端資料庫是如何儲存並處理龐大的資料吧!

Hadoop的架構中主要分為圖一中的四個區塊:
 
一、Hadoop Common Utilities
 
以晚餐食材的購買為例,車子是搭載大量食材與購買者的一項工具,然而,車子需要燃油、輪子、方向盤等才得以駕駛,同理,Hadoop也需要透過各種元件組成,而這些能夠架構出Hadoop的所有元件皆包含於Hadoop Common Utilities中,例如:高階程式語言以及程式語言庫等。
 
二、Hadoop YARN Framework
 

當我們為了晚餐開車出門去購買食材時,會思考要先採買哪些食物,或是以優先休息的店家開始採買。而YARN即是如此,為所有等待中的資料進行運算的順序分派,藉以提升工作效率。此外,還會針對來自不同機器的資源進行管理,也稱作叢集資源管理。

 
三、Hadoop HDF(Hadoop Distributed File System,分散式檔案系統)
 

完成食材購買後,所有材料都會被儲藏於冰箱中,其中,會依據不同類別分別放於不同隔層中保存,當準備要做菜時再從相對應的隔層中拿出需要的食材。HDFS即是一個大冰箱的概念,一套使用數以千計的節點來存放資料的系統,而食材與隔層分別為資料與節點。

 
四、Hadoop MapReduce
 
此時,家裡來了大批的客人,為了讓大家都吃到熱騰騰的晚餐,媽媽決定請家人們一起幫忙準備,一些人被分配切菜,其餘則是洗菜,最後媽媽完成炒菜與調味。而MapReduce則是透過類似的多節點並行處理(如圖二),如同分配任務一般,同時進行運算,大幅降低巨量資料所需的時間,最後統一進行分析或決策,是一套由Google發表具平行運算架構的方法。
 
 
圖二:分配任務給予各個節點小分隊。(圖片來源:Tutorialspoint/網址:https://www.tutorialspoint.com//hadoop/hadoop_quick_guide.htm)
▲圖二:分配任務給予各個節點小分隊。(圖片來源:Tutorialspoint/網址:https://www.tutorialspoint.com//hadoop/hadoop_quick_guide.htm)
 
綜合上述,黃色小象有效提供存放與處理大數據的方法,目前已經被認為是主流的開放式雲端資料處理平台。然而,Hadoop仍舊只是一個較為簡單的框架,無法處理更為複雜的運算或是排列與儲存。因此,在各種動物以及人類跟隨加入之下,更完整的資料儲存與處理的生態圈便形成(如圖三),除了有黃色小象Hadoop作為雲端平台,也加入如馴獸師般的開放原始碼Mahout,提供目前熱門的機器學習的程式庫或其他演算法程式庫,加速資料處理的時間,避免黃色小象在相同道路上打轉過久,能夠以最短的時間達到目的地。如此一來以黃色小象為首的資料處理生態圈建立,這些附加於原始Hadoop基礎之上的技術,增加了雲端資料庫處理資料的彈性以及完整性,使大家能更順暢的透過網路進行線上聊天或查詢資料等用途。
 
圖三:雲端資料庫Hadoop生態圈。(圖片來源:Agroknow Blog/網址:http://blog.agroknow.com/?p=3810)
▲圖三:雲端資料庫Hadoop生態圈。(圖片來源:Agroknow Blog/網址:http://blog.agroknow.com/?p=3810)


副總編輯:國立中山大學資訊工程學系 陳坤志教授

總編輯:國立中山大學資訊工程學系 黃英哲教授

(本文由科技部補助「新媒體科普傳播實作計畫」執行團隊撰稿)
 
  • Jeffrey Dean and Sanjay Ghemawat, Google inc. MapReduce: Simplified Data Processing on Large Clusters.
  • Vance, Ashlee. Hadoop, a Free Software Program, Finds Uses Beyond Search. The New York Times. March 17, 2009
來源:
推薦文章