搞不清分布式存儲和中心化存儲?二者有何關(guān)系?
不管在哪個時代,存儲都是非常重要的。因此,我們對于存儲應(yīng)當(dāng)具備一點了解。為增進(jìn)大家對存儲的認(rèn)識,本文將對分布式存儲、中心化存儲以及二者之間的關(guān)系予以介紹。如果你對存儲具有興趣,不妨和小編一起繼續(xù)往下閱讀哦。
分布式存儲是一種數(shù)據(jù)存儲技術(shù),通過網(wǎng)絡(luò)使用企業(yè)中的每臺機(jī)器上的磁盤空間,并將這些分散的存儲資源構(gòu)成一個虛擬的存儲設(shè)備,數(shù)據(jù)分散的存儲在企業(yè)的各個角落。分布式存儲系統(tǒng)需要使用多臺服務(wù)器共同存儲數(shù)據(jù),而隨著服務(wù)器數(shù)量的增加,服務(wù)器出現(xiàn)故障的概率也在不斷增加。為了保證在有服務(wù)器出現(xiàn)故障的情況下系統(tǒng)仍然可用。一般做法是把一個數(shù)據(jù)分成多份存儲在不同的服務(wù)器中。但是由于故障和并行存儲等情況的存在,同一個數(shù)據(jù)的多個副本之間可能存在不一致的情況。這里稱保證多個副本的數(shù)據(jù)完全一致的性質(zhì)為一致性。分布式存儲是相對于中心化存儲來說的,中心化存儲,也叫集中式存儲。所謂中心化存儲,從概念上可以看出來是具有集中性的,也就是整個存儲是集中在一個系統(tǒng)中的。但中心化存儲并不是一個單獨的設(shè)備,是集中在一套系統(tǒng)當(dāng)中的多個設(shè)備。以一般公司中心化數(shù)據(jù)存儲為例,簡單分析下中心化存儲模式。
在這個存儲系統(tǒng)中包含很多組件,除了核心的機(jī)頭(控制器)、磁盤陣列(JBOD)和交換機(jī)等設(shè)備外,還有管理設(shè)備等輔助設(shè)備。
在中心化存儲中最重要的部件是機(jī)頭,機(jī)頭一般包含兩個控制器,這兩個控制器實現(xiàn)互備的作用,防止其中一個硬件故障導(dǎo)致整個存儲系統(tǒng)的不可用。機(jī)頭包含前后端兩個入口,通過后端端口機(jī)頭可以連接更多的存儲設(shè)備,從而形成一個非常大的存儲資源池。從上面我們可以看出中心化存儲最大的特點是有一個統(tǒng)一的入口,所有數(shù)據(jù)都要經(jīng)過這個入口,數(shù)據(jù)被統(tǒng)一管理統(tǒng)一調(diào)用,這個入口就是存儲系統(tǒng)的機(jī)頭部分。
而如今分布式存儲的概念包括分布式文件系統(tǒng),分布式緩存,分布式區(qū)塊存儲等,現(xiàn)在簡單介紹其中分布式文件系統(tǒng)。中間控制節(jié)點架構(gòu)簡稱為:HDFS,分布式存儲最核心的是基于區(qū)塊鏈去中心化的技術(shù)構(gòu)架,其目的是通過廉價的服務(wù)器來提供使用與大規(guī)模、高并發(fā)場景下的Web訪問問題。
如果客戶端需要從某個文件讀取數(shù)據(jù),首先從namenode獲取該文件的位置(具體在哪個datanode),然后從該位置獲取具體的數(shù)據(jù)。是點對點的數(shù)據(jù)傳輸和存儲,因此,通過這種分布式存儲架構(gòu)可以通過橫向擴(kuò)展datanode的數(shù)量來增加承載能力,也即實現(xiàn)了動態(tài)橫向擴(kuò)展的能力,從根本上能夠防止黑客入侵,大大提高了數(shù)據(jù)的安全性能。
Ceph存儲系統(tǒng)的架構(gòu),在該架構(gòu)中與HDFS不同的地方在于該架構(gòu)中沒有中心節(jié)點??蛻舳耸峭ㄟ^一個設(shè)備映射關(guān)系計算出來其寫入數(shù)據(jù)的位置,這樣客戶端可以直接與存儲節(jié)點通信,從而避免中心節(jié)點的性能瓶頸。
客戶端訪問存儲的大致流程是,客戶端在啟動后會首先從Mon服務(wù)拉取存儲資源布局信息,然后根據(jù)該布局信息和寫入數(shù)據(jù)的名稱等信息計算出期望數(shù)據(jù)的位置(包含具體的物理服務(wù)器信息和磁盤信息),然后該位置信息直接通信,讀取或者寫入數(shù)據(jù)。
一致性哈希的方式就是將設(shè)備做成一個哈希環(huán),然后根據(jù)數(shù)據(jù)名稱計算出的哈希值映射到哈希環(huán)的某個位置,從而實現(xiàn)數(shù)據(jù)的定位。
為了保證數(shù)據(jù)分配的均勻性及出現(xiàn)設(shè)備故障時數(shù)據(jù)遷移的均勻性,一致性哈希將磁盤劃分為比較多的虛擬分區(qū),每個虛擬分區(qū)是哈希環(huán)上的一個節(jié)點。整個環(huán)是一個從0到32位最大值的一個區(qū)間,并且首尾相接。當(dāng)計算出數(shù)據(jù)(或者數(shù)據(jù)名稱)的哈希值后,必然落到哈希環(huán)的某個區(qū)間,然后以順時針,必然能夠找到一個節(jié)點。那么,這個節(jié)點就是存儲數(shù)據(jù)的位置。
以上便是此次小編帶來的x相關(guān)內(nèi)容,通過本文,希望大家對y具備一定的認(rèn)知。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!