其實就是同步元資訊和排程的問題,同步元資訊可以使用zk,排程具體看應用。bfs的排程是隨機的,根據硬碟容量來決定。bfs的排程和儲存是分開的,因此可以定製,這也是它的優點之一(不過這方面沒有做到外掛程式化)。
儲存是根據整數id作為key,寫入到一大塊檔案上,每個大檔案有乙個id,叫vid。而檔案裡面的大量資料物件的偏移,即所謂索引,保持在另乙個檔案上,開機即讀取到記憶體中,方便索引。
vid和所屬伺服器,存在zk上。
檔名和路徑和vid、key的對應關係,儲存在hbase等資料庫。
這樣,通過對映,分離了排程和儲存。
多個備份就會涉及到排程,這裡bfs用zk建立多個group實現,相同的資源id可以同時存在不同的group下(利用了zk的樹結構),這樣就允許了多映象,即多備份。當然,資源id太多了,是不會直接存在zk上的。
通過類似snowflake演算法,可以分布式生成唯一id,即使出現down機也能保證唯一性。
分布式儲存
塊儲存,檔案儲存,物件儲存區別 分布式儲存的應用場景相對於其儲存介面,現在流行分為三種 物件儲存 也就是通常意義的鍵值儲存,其介面就是簡單的get put del和其他擴充套件,如七牛 又拍 swift s3 塊儲存 這種介面通常以qemu driver或者kernel module的方式存在,這種...
分布式儲存
普通儲存 das 直連式儲存。nas 連線式儲存。san 儲存網路。大檔案分布儲存 gfs google file system google檔案系統 hdfs hadoop distributed file system hadoop分布式檔案系統 小檔案分布儲存 adfs ali distrib...
分布式儲存技術
分布式儲存技術 分布式儲存概念 與目前常見的集中式儲存技術不同,分布式儲存技術並不是將資料儲存在某個或多個特定的節點上,而是通過網路使用企業中的每台機器上的磁碟空間,並將這些分散的儲存資源構成乙個虛擬的儲存裝置,資料分散的儲存在企業的各個角落。結構化資料的儲存及應用所謂結構化資料是一種使用者定義的資...