分布式数据存储
分布式存儲概念
- 分布式存儲就是一種數(shù)據(jù)存儲技術(shù),通過Internet使用每臺機(jī)器上的硬盤空間,并將并將這些分散的存儲資源構(gòu)成一個(gè)虛擬的存儲設(shè)備,數(shù)據(jù)分散的存儲在企業(yè)的各個(gè)角落。“分布式”指帶了一種獨(dú)特的系統(tǒng)架構(gòu)類型 ,這種系統(tǒng)架構(gòu)是由一組通過網(wǎng)絡(luò)進(jìn)行通信,為了完成共同的任務(wù)而協(xié)調(diào)工作的計(jì)算機(jī)節(jié)點(diǎn)組成
存儲方式的演進(jìn)
-
[1] 直連式存儲DAS(Direct-Attached Storage),是一種常見的存儲形式,特別是在規(guī)模較小的企業(yè)中。由于企業(yè)本身數(shù)據(jù)量都不大,基本都采用高密度的存儲服務(wù)器或者服務(wù)器后接JBOD等形式,這種形式的存儲屬于DAS架構(gòu)。(PC中的硬盤或只有一個(gè)外部SCSI接口的JBOD都屬于DAS架構(gòu))
優(yōu)點(diǎn):方便,節(jié)省投資
缺點(diǎn):備份困難,服務(wù)器故障,數(shù)據(jù)不可訪問,服務(wù)器易成為瓶頸
-
[2] 集中式存儲NAS 、SAN等
SAN(Storage Area Network)存儲,即存儲區(qū)域網(wǎng)絡(luò),這個(gè)是通過某種交換機(jī)連接存儲陣列和服務(wù)器主機(jī)等設(shè)備,形成一個(gè)專用的網(wǎng)絡(luò)。 iSCSI,基于以太網(wǎng)的SAN存儲形式,這種存儲形式其實(shí)是利用TCP/IP協(xié)議實(shí)現(xiàn)了對SCSI協(xié)議的封裝。
優(yōu)點(diǎn):隨著存儲容量的增長,SAN允許企業(yè)獨(dú)立地增加他們的存儲容量。適用于大型數(shù)據(jù)或數(shù)據(jù)庫系統(tǒng)
缺點(diǎn):成本高,較為復(fù)雜NAS(Network Attached Storage)即網(wǎng)絡(luò)存儲設(shè)備,是文件級的存儲方法,就是一臺在網(wǎng)絡(luò)上提供文檔共享服務(wù)的網(wǎng)絡(luò)存儲服務(wù)器,多用來進(jìn)行文件共享。用于存儲非數(shù)據(jù)化數(shù)據(jù)。
優(yōu)點(diǎn):具有一定擴(kuò)展性,連接網(wǎng)絡(luò)
缺點(diǎn):能力有限
分布式存儲
主要包括分布式軟件和標(biāo)準(zhǔn)服務(wù)器。分布式網(wǎng)絡(luò)存儲系統(tǒng)采用可擴(kuò)展的系統(tǒng)結(jié)構(gòu),利用多臺存儲服務(wù)器分擔(dān)存儲負(fù)荷,利用位置服務(wù)器定位存儲信息,不但提高了系統(tǒng)的可靠性,可用性和存儲效率,還易于擴(kuò)展
基本架構(gòu)
-
[1] 有中心管理節(jié)點(diǎn),存儲節(jié)點(diǎn)有主從
-
Master節(jié)點(diǎn):在由中心控制節(jié)點(diǎn)的分布式文件系統(tǒng),從哪里讀寫的任務(wù)基本是有中心控制節(jié)點(diǎn)完成的,為了完成這項(xiàng)核心的任務(wù),Master節(jié)點(diǎn)需要做三件較重要的事情——①存儲節(jié)點(diǎn)信息和狀態(tài)②文件讀寫的調(diào)度策略③存儲節(jié)點(diǎn)選主
-
StorageNode節(jié)點(diǎn):數(shù)據(jù)節(jié)點(diǎn)除了負(fù)責(zé)文件在單機(jī)系統(tǒng)上如何進(jìn)行存儲,對于有主從之分的存儲節(jié)點(diǎn),各自還承擔(dān)如何保持備份數(shù)據(jù)一致性的任務(wù)——①單機(jī)存儲引擎的實(shí)現(xiàn)②保證備份一致性③匯報(bào)消息,聽從調(diào)度在這里插入圖片描述
-
Client節(jié)點(diǎn):一般作為分布式文件系統(tǒng)的接入層,對于寫操作,接受用戶數(shù)據(jù)流,將數(shù)據(jù)寫入存儲節(jié)點(diǎn),對于該操作,從多副本中隨機(jī)選擇副本來寫
-
[2] 無中心管理節(jié)點(diǎn),存儲節(jié)點(diǎn)無主從
-
ProxyServer節(jié)點(diǎn):由以下幾個(gè)組件組成:
-
Object Server單機(jī)的存儲引擎實(shí)現(xiàn)
-
Object Replicator確保副本數(shù)量和位置的正確性及一致性
-
Object Auditor檢測副本數(shù)據(jù)是否正確
-
Object Updater解決對象存儲的元數(shù)據(jù)的更新問題
-
這里附上一篇知乎上對該內(nèi)容較為詳細(xì)的理解
Swift基本框架圖
分布式系統(tǒng)存儲指標(biāo)
- 持久性:一段時(shí)間內(nèi)保持?jǐn)?shù)據(jù)不丟失的能力
- 一致性:當(dāng)一個(gè)對象的Value被修改后需要等待多久客戶端才能“看到”這個(gè)修改
- 可用性:強(qiáng)調(diào)能否成功的讀寫,看重的是過程
- 延遲:從開始點(diǎn)到結(jié)束點(diǎn)所花費(fèi)的時(shí)間差,包括讀延遲和寫延遲
- 帶寬:吞吐率,分為讀帶寬和寫帶寬
- 空間利用率:存儲單位有效數(shù)據(jù)需要占用多少介質(zhì)空間,就是存儲IGB數(shù)據(jù)需要占用多少GB的裸盤空間
- 可擴(kuò)展性:通過增減硬件來調(diào)節(jié)存儲系統(tǒng)某些方面指標(biāo)的能力
總結(jié)
- 上一篇: python中字符串的基本操作_pyth
- 下一篇: Neural Ordinary Diff