分佈式文件系統Hadoop、GoogleFS、RAID介紹

一、Hadoop

        Hadoop實現了一個分佈式文件系統(Hadoop Distributed File System),簡稱HDFS。HDFS有着高容錯性的特點,並且設計用來部署在低廉的(low-cost)硬件上。而且它提供高傳輸率(high throughput)來訪問應用程序的數據,適合那些有着超大數據集(large data set)的應用程序。

        和MYSQL是建立在操作系統的文件系統上一樣,Hbase也是建立在HDFS這樣的分佈式文件系統上。HDFS就像您說的,把一個文件分成64M大小的塊,分佈到集羣裏各臺機器上(一般每一塊保留三個備份,同一機架上兩臺節點保存其中兩個,另一機架上一個節點保存另外一個,這樣來保證數據不至於因爲一臺機器、一臺機架的宕機、斷網導致數據塊無法訪問),HDFS利用這種方法來存儲一個超大的文件,使得保存在不同節點上的文件看上去像是保存在本地硬盤的文件。但是HDFS只保存數據,對數據的解釋是由其上的程序來處理的。比如您可以利用一個map/reduce的程序來對一個超大文件進行分析。

       Hbase實現了一個數據庫,和MYSQL類似,支持插入一行、增加一列之類的操作,你在Hbase裏存儲的數據最終會以某種格式存放在HDFS上,Hbase負責解釋這些數據。由於HBase建立在HDFS之上,天生就擁有分佈式的存儲系統,這樣即使保存PB級的數據,也完全可以支撐,相比之下,MYSQL只能運行在單機上,很難管理如此巨量的數據。


 

二、GoogleFS

        GoogleFS包括一個主服務器和多個大數據塊服務器,這些塊服務器響應多個客戶端的訪問請求。文件被分割成64MB固定大小的數據塊(Chunk),它分佈在各個塊服務器上,每個塊在多個服務器上都存有副本,爲了可靠性,一般存放3個副本。塊服務器使用下層物理文件系統(如Ext3)來存放數據塊。

        主服務器負責維護所有文件系統的元數據,包括命名空間、文件至數據塊的映射信息,訪問控制信息,以及主存中數據塊的當前位置。之所以將數據塊讀入主存是爲了提高主服務器的操作性能。爲了獲得數據塊的位置信息,主服務器只在塊服務器啓動時輪詢一下數據塊信息,直到新的數據塊產生並在心跳信息的提示下主服務器才更新這些位置信息。客戶端直接使用文件系統API來訪問主服務器和塊服務器。爲了減少發給主服務器的請求數量,客戶端只對元數據進行緩存,需要注意的是,客戶端和塊服務器對文件數據不進行高速緩存。GoogleFS採用的副本技術來提高數據可用性,數據塊和元數據都存在副本,比如每個數據塊在3臺塊服務器上都存在副本;當管理元數據的主服務器宕機時,備用的"影子"服務器則切換過來,但它只能提供讀取操作,不支持修改、寫入操作。爲了增加數據可恢復性,GoogleFs採用了操作日誌和快照技術。

 

 

三、RAID

      RAID 的初衷主要是爲了大型服務器提供高端的存儲功能和冗餘的數據安全。 在系統中,RAID 被看作是一個邏輯分區,但是它是由多個硬盤組成的(最少兩塊)。 它通過在多個硬盤上同時存儲和讀取數據來大幅提高存儲系統的數據吞吐量。

      RAID通俗的說就是通過將多個存儲設備按照一定的形式和方案組織起來,如同使用一個硬盤一樣但是卻通過這樣的形式獲取了比單個存儲設備更高的速度、更好的穩定性、更大的存儲能力的存儲設備的解決方案。根據你的需要不同,可以採用不同形式以及不同價格(從幾千元到上百萬元)的RAID解決方案--很顯然,越好的RAID系統,價格越昂貴,所以幾乎沒有最好的RAID系統。

      優點1.傳輸速率高:在RAID中,可以讓很多磁盤驅動器同時傳輸數據,而這些磁盤驅動器在邏輯上又是一個磁盤驅動器,所以使用RAID可以達到單個磁盤驅動器幾倍、幾十倍甚至上百倍的速率。這是RAID最初想要解決的問題。因爲CPU的速度增長很快,而磁盤驅動器的數據傳輸速率無法大幅提高,所以RAID解決了。

      優點2.提供容錯功能:這是使用RAID的第二個原因,因爲普通磁盤驅動器無法提供容錯功能,如果不包括寫在磁盤上的CRC(循環冗餘校驗)碼的話。RAID容錯是建立在每個磁盤驅動器的硬件容錯功能之上的,所以它提供更高的安全性。

 

 

、直連式存儲(DAS)、存儲區域網絡(SAN)、網絡接入存儲(NAS)

        DAS——直連式存儲,這種出現相對較早的存儲方式,主要是將存儲設備外掛於服務器上,其構造與PC相同,將磁盤、多磁盤陣列或者磁帶等存儲介質以外設方式直接連接到服務器總線上。這種存儲方式較適用於以往信息量不大,應用需求不高的環境下,但顯然不能勝任今天海量的數據環境。

        SAN——存儲區域網絡,即通過特定的互連方式連接的若干臺存儲服務器組成一個單獨的數據網絡,提供企業級的數據存儲服務。 SAN是一種特殊的高速網絡,連接網絡服務器和諸如大磁盤陣列或備份磁帶庫的存儲設備,SAN置於LAN之下,而不涉及LAN。利用SAN,不僅可以提供大容量的存儲數據,而且地域上可以分散,並緩解了大量數據傳輸對於局域網的影響。SAN的結構允許任何服務器連接到任何存儲陣列,不管數據置放在哪裏,服務器都可直接存取所需的數據。

        NAS——網絡附加存儲,即將存儲設備通過標準的網絡拓撲結構(以太網),連接到一羣計算機上。NAS實際上是一個帶有瘦服務器的存儲設備,其作用類似於一個專用的文件服務器。NAS存儲設備與網絡直接相連,用戶通過網絡對其進行訪問。NAS服務器一般由存儲硬件、操作系統以及其上的文件系統等幾個部分組成。簡單的說,NAS是通過與網絡直接連接的磁盤陣列,它具備了磁盤陣列的所有主要特徵:高容量、高效能、高可靠。NAS將存儲設備通過標準的網絡拓撲結構連接,可以無需服務器直接上網,不依賴通用的操作系統,而是採用一個面向用戶設計的、專門用於數據存儲的簡化操作系統,內置了與網絡連接所需的協議,因此使整個系統的管理和設置較爲簡單。其次NAS是真正即插即用的產品,並且物理位置靈活,可放置在工作組內,也可放在其他地點與網絡連接。因此,用戶選擇NAS解決方案,原因在於NAS價格合理、便於管理、靈活且能實現文件共享。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章