大數據環境下,數據逐漸增多,分布式存儲系統應運而生,分布式存儲系統是將數據分散存儲在多臺獨立的設備上,它不但提高了系統的可靠性、可用性和存取效率,還易于擴展。
分布式存儲系統已大量應用于各行各業,在使用分布式存儲系統的時候我們需要考慮以下5大問題。
一、數據如何分布
一般是將數據等量分布存儲,衡量一個數據分布算法好不好就看他是否分得足夠均勻,使得所有機器的負載方差足夠小。
二、讀寫過程一致性如何保證
一致性的概率很簡單,就是我更新/刪除請求返回之后,別人是否能讀到我新寫的這個值。對于單機系統,這個一致性要達到很簡單,大不了是損失一點寫的效率。
但是對于分布式系統,這個就復雜了。為了容災,一份數據肯定有多個副本,那么如何更新這多個副本以及控制讀寫協議就成了一個大問題。
一般一致性有如下幾種定義,除了強一致性以外,其他幾種一致性并不沖突,一個系統可以同時滿足一種或者幾種一致性特點。
1.強一致性
不用多說,就是最嚴格的一致性要求。任何時候任何用戶只要寫了,寫請求返回的一霎那,所有其他用戶都能讀到新的值了。
2.會話一致性
這個也很容易理解,能滿足很多場景下的需求。在同一個會話當中,用戶感受到的是"強一致性"的服務。
3.最終一致性
這個也是提得很多的一個概念,很多系統默認提供這種方式的一致性。即最終系統將達到"強一致性"的狀態,但在之前會有一段不確定的時間,系統處于不一致的狀態。
4.單調一致性
這個比會話一致性還要弱一點。他只保證一個用戶在讀到某個數據之后,絕對不會讀到比上一次讀到的值更老的數據。
橫向擴展是指一個集群的服務能力是否可以通過加機器做到線性擴展。
四、如何容災
分布式系統一個很重要的定位就是要讓程序自動來管機器,盡量減少人工參與,否則一個分布式系統的運維成本將不可接受。
容災問題非常復雜,有很多很成熟的系統也不敢保證自己做得特別好,一般可能會出現機器宕機、網絡故障等問題。
五、如何提高性能
分布式系統設計之初就是為了通過堆積機器來增加系統整體性能,所以系統性能也非常重要。性能部分一般會受一致性/容災等設計的影響。
深圳市立爾訊科技有限公司始終專注服務器行業應用定制服務,立爾訊主要提供:存儲服務器,塔式服務器,刀片服務器,機架服務器等服務器定制服務和相關產品解決方案,研發能力強勁,多項專利打造定制化服務器應用,致力打造高端服務器云智能應用平臺。
服務熱線:0755-23104880。
文章來源: 立爾訊科技www.patantconsult.com一家專注服務器研發、定制的生產廠家,轉載請注明出處。