雲端分散式儲存系統 (圖片來源:國立交通大學科技與社會中心授權刊登) |
2013年5月,國家高速網路與計算中心分別在新竹、台北、高雄、台中舉行「巨量資料來襲,雲端運算新企機」研討會,國內研究機構、學術單位及資訊服務業者出席踴躍。會中探討SynDriver與Hadoop和在巨量資料及雲端儲存領域的應用跟未來商機。未來將朝向「資料之所在,商機之所在」的方向發展,可見雲端巨量資料分析的兩個重要範疇:儲存與運算。本文將針對大資料的儲存技術–分散式儲存技術進行介紹。
在資料爆炸的時代,資料大小往往比電腦上的1顆硬碟還要多,且資料必須被保留的時間也比電腦的壽命還長,一般用戶可能會從不同的地方存取資料,或希望能把資料分享給不同地區的用戶,基於以上需求,分散式檔案系統被提出。分散式檔案系統大幅度提升資料可存放的空間,且同時會將檔案備份,降低某一存放空間毀損所造成的資料遺失,且因同一份檔案有多份備份,此檔案可同時分享給多個使用者。
2003年Google提出Google File System,簡稱GFS。GFS可提供大資料的應用程式採用分散式方式儲存資料;GFS具有容錯機制、高效能檔案整合等功能,但因Google未開放GFS的原始碼,只有發表論文說明GFS的系統架構,因此2006年Doug Cutting根據Google所發表的論文開發出Apache Hadoop,並用1隻黃色大象當成Hadoop的標誌。Hadoop為一個開放的軟體程式架構,包含Hadoop Distributed File System、MapReduce及HBase;Hadoop為目前在雲端系統上最常被使用進行大資料量運算的軟體架構,重要性不可小覷,因此以下將針對Hadoop架構中的儲存系統Hadoop Distributed File System做詳細的介紹。
Hadoop Distributed File System,簡稱HDFS,為分散式的儲存架構,適合儲存容量大的檔案,其系統穩定,因此不需使用昂貴的儲存設備來架設儲存系統,使用一般價格的硬碟架即可,大幅減少硬體成本。在HDFS中有兩個主要部分:namenode和datanode 。
namenode好比工廠裡的工頭,負責工人的管理及保管工人的資料,所以在儲存系統上,namenode負責管理整個儲存系統,包含1個檔案被切成幾份、每一份存在哪個儲存節點上、備份在哪個節點上及控制檔案的存取權限;但因namenode只有1個,所以具有單點失效的問題,即namenode毀損,整個檔案系統將會無法進行運作,因此Hadoop開發團隊也正在針對此問題進行修正。
datanode則像是工廠裡的工人,負責提供檔案儲存的空間、執行檔案的存取及備份,HDFS預設會以64MB的大小將檔案進行切割並將每份檔案儲存3份備份,因此若有1台儲存節點壞掉,依然可從其他備份中進行還原,大幅提升檔案儲存時的容錯率,同時也因檔案被切割成多份儲存,因此可以平行存取及平行運算提升運算時的效能。namenode儲存了MyFile檔案的資訊,包含MyFile被切成3份,分別為block 1、block 2、block 3,並備份3份,datanode則負責檔案實體的儲存。
我們用1個100MB的資料儲存例子來說明在HDFS上寫入與讀取的流程,使用者會在自己本機上先暫存這些資料,當達到64MB時,本機上的儲存系統會自動通知namenode,namenode回應使用者,告知可存放檔案的datanode位置,例如2號datanode,使用者將此64MB的資料存入2號datanode,本機上的臨時資料夾剩下36MB,再次通知namenode,namenode回應使用者,告知可存放檔案的datanode,例如5號datanode,使用者將剩下的36MB存入5號datanode;若使用者想要讀取資料時,會先向namenode詢問資料存在哪個節點上,namenode回應使用者,告知資料存在2號和5號節點上,使用者到2號和5號datanode上讀取資料並在本機端組合成原始的100MB資料。
分散式儲存系統,將資料切割儲存,讓使用者能使用平行技術加速資料的運算,並透過備份機制提升資料的容錯率,大資料儲存不再是問題,但將資料儲存在雲端上的分散式系統必有其安全性的疑慮,因此雲端儲存之安全性議題將是後續值得探討的。(本文由國科會補助「新媒體科普傳播實作計畫─電機科技新知與社會風險之溝通」執行團隊撰稿)
責任編輯:黃承揚|英商牛津儀器海外行銷有限公司
在資料爆炸的時代,資料大小往往比電腦上的1顆硬碟還要多,且資料必須被保留的時間也比電腦的壽命還長,一般用戶可能會從不同的地方存取資料,或希望能把資料分享給不同地區的用戶,基於以上需求,分散式檔案系統被提出。分散式檔案系統大幅度提升資料可存放的空間,且同時會將檔案備份,降低某一存放空間毀損所造成的資料遺失,且因同一份檔案有多份備份,此檔案可同時分享給多個使用者。
2003年Google提出Google File System,簡稱GFS。GFS可提供大資料的應用程式採用分散式方式儲存資料;GFS具有容錯機制、高效能檔案整合等功能,但因Google未開放GFS的原始碼,只有發表論文說明GFS的系統架構,因此2006年Doug Cutting根據Google所發表的論文開發出Apache Hadoop,並用1隻黃色大象當成Hadoop的標誌。Hadoop為一個開放的軟體程式架構,包含Hadoop Distributed File System、MapReduce及HBase;Hadoop為目前在雲端系統上最常被使用進行大資料量運算的軟體架構,重要性不可小覷,因此以下將針對Hadoop架構中的儲存系統Hadoop Distributed File System做詳細的介紹。
Hadoop Distributed File System,簡稱HDFS,為分散式的儲存架構,適合儲存容量大的檔案,其系統穩定,因此不需使用昂貴的儲存設備來架設儲存系統,使用一般價格的硬碟架即可,大幅減少硬體成本。在HDFS中有兩個主要部分:namenode和datanode 。
namenode好比工廠裡的工頭,負責工人的管理及保管工人的資料,所以在儲存系統上,namenode負責管理整個儲存系統,包含1個檔案被切成幾份、每一份存在哪個儲存節點上、備份在哪個節點上及控制檔案的存取權限;但因namenode只有1個,所以具有單點失效的問題,即namenode毀損,整個檔案系統將會無法進行運作,因此Hadoop開發團隊也正在針對此問題進行修正。
datanode則像是工廠裡的工人,負責提供檔案儲存的空間、執行檔案的存取及備份,HDFS預設會以64MB的大小將檔案進行切割並將每份檔案儲存3份備份,因此若有1台儲存節點壞掉,依然可從其他備份中進行還原,大幅提升檔案儲存時的容錯率,同時也因檔案被切割成多份儲存,因此可以平行存取及平行運算提升運算時的效能。namenode儲存了MyFile檔案的資訊,包含MyFile被切成3份,分別為block 1、block 2、block 3,並備份3份,datanode則負責檔案實體的儲存。
我們用1個100MB的資料儲存例子來說明在HDFS上寫入與讀取的流程,使用者會在自己本機上先暫存這些資料,當達到64MB時,本機上的儲存系統會自動通知namenode,namenode回應使用者,告知可存放檔案的datanode位置,例如2號datanode,使用者將此64MB的資料存入2號datanode,本機上的臨時資料夾剩下36MB,再次通知namenode,namenode回應使用者,告知可存放檔案的datanode,例如5號datanode,使用者將剩下的36MB存入5號datanode;若使用者想要讀取資料時,會先向namenode詢問資料存在哪個節點上,namenode回應使用者,告知資料存在2號和5號節點上,使用者到2號和5號datanode上讀取資料並在本機端組合成原始的100MB資料。
分散式儲存系統,將資料切割儲存,讓使用者能使用平行技術加速資料的運算,並透過備份機制提升資料的容錯率,大資料儲存不再是問題,但將資料儲存在雲端上的分散式系統必有其安全性的疑慮,因此雲端儲存之安全性議題將是後續值得探討的。(本文由國科會補助「新媒體科普傳播實作計畫─電機科技新知與社會風險之溝通」執行團隊撰稿)
責任編輯:黃承揚|英商牛津儀器海外行銷有限公司
沒有留言:
張貼留言