qkfile的廣泛應用

QKFile分佈式存儲文件的廣泛應用

什麼事分佈式存儲文件

分佈式數據庫是用計算機網絡將物理上分散的多個數據庫單元連接起來組成的一個邏輯上統一的數據庫。每個被連接起來的數據庫單元稱為站點或節點。分佈式數據庫有一個統一的數據庫管理系統來進行管理,稱為分佈式數據庫管理系統。分佈式數據庫的基本特點包括:物理分佈性、邏輯整體性和站點自治性。從這三個基本特點還可以導出的其它特點有:數據分佈透明性、按既定協議達成共識的機制、適當的數據冗餘度和事務管理的分佈性。

大數據時代,面對日益增長的海量數據,傳統的集中式數據庫的弊端日益顯現,分佈式數據庫相對傳統的集中式數據庫有如下優點。

更高的數據訪問速度:分佈式數據庫為了保證數據的高可靠性,往往採用備份的策略實現容錯,所以,在讀取數據的時候,客戶端可以併發地從多個

備份服務器同時讀取,從而提高了數據訪問速度。

更強的可擴展性:分佈式數據庫可以通過增添存儲節點來實現存儲容量的線性擴展,而集中式數據庫的可擴展性十分有限。

更高的併發訪問量:分佈式數據庫由於採用多臺主機組成存儲集群,所以相對集中式數據庫,它可以提供更高的用戶併發訪問量。

對於目前所接觸到的主流分佈式文件系統來看,根據系統架構的特點大多可做如下劃分:

有無中心管理節點

存儲節點是否有主從之分

這兩種架構都有著自己明顯的優勢和缺點,對整個分佈式文件系統的實現起決定作用,直接影響採用何種一致性協議保持備份間的一致性,以及集群如何管理,數據丟失或損壞該如何恢復、數據清理等等功能的實現,後面會單獨對此做闡述和說明

集群管理

集群管理主要解決以下幾個問題:

存儲節點上下線通知,自動剔除不可用節點等

集群各節點心跳和狀態的維護,是否健康,可讀可寫

維護系統的邏輯模型,如分區、用戶等邏輯概念的關係,如swift系統中提到的region,zone,node,patition等邏輯概念及從屬關係

那麼對與無中心節點的系統,數據恢復的實現只能由各個存儲節點負責,如swift,根據ring的信息獲取副本的位置,通過數據恢復的進程,維持副本的數量和位置的正確性

也就是哈希算法是最常見的數據分佈方式,其方法是按照數據的某一特徵計算哈希值,並將哈希值與機器中的磁盤建立映射關係,以swift為代表的一致性哈希算法也屬於此類的改良品種,用哈希的方式優點是明顯的,不需要記錄的元信息,在某種程度上


分享到:


相關文章: