淺談:分布式存儲(chǔ)的幾大優(yōu)勢(shì)

今日頭條
JAVA高級(jí)程序員
分布式存儲(chǔ)是一種數(shù)據(jù)存儲(chǔ)技術(shù),通過(guò)網(wǎng)絡(luò)使用企業(yè)中的每臺(tái)機(jī)器上的磁盤(pán)空間,并將這些分散的存儲(chǔ)資源構(gòu)成一個(gè)虛擬的存儲(chǔ)設(shè)備,數(shù)據(jù)分散的存儲(chǔ)在企業(yè)的各個(gè)角落。由于分布式存儲(chǔ)具有很多優(yōu)勢(shì),因此被越來(lái)越多的企業(yè)追...

分布式存儲(chǔ)是一種數(shù)據(jù)存儲(chǔ)技術(shù),通過(guò)網(wǎng)絡(luò)使用企業(yè)中的每臺(tái)機(jī)器上的磁盤(pán)空間,并將這些分散的存儲(chǔ)資源構(gòu)成一個(gè)虛擬的存儲(chǔ)設(shè)備,數(shù)據(jù)分散的存儲(chǔ)在企業(yè)的各個(gè)角落。由于分布式存儲(chǔ)具有很多優(yōu)勢(shì),因此被越來(lái)越多的企業(yè)追捧。本文將重點(diǎn)闡述下分布式存儲(chǔ)的六大優(yōu)點(diǎn)。

1. 高性能

一個(gè)具有高性能的分布式存戶通常能夠高效地管理讀緩存和寫(xiě)緩存,并且支持自動(dòng)的分級(jí)存儲(chǔ)。分布式存儲(chǔ)通過(guò)將熱點(diǎn)區(qū)域內(nèi)數(shù)據(jù)映射到高速存儲(chǔ)中,來(lái)提高系統(tǒng)響應(yīng)速度;一旦這些區(qū)域不再是熱點(diǎn),那么存儲(chǔ)系統(tǒng)會(huì)將它們移出高速存儲(chǔ)。而寫(xiě)緩存技術(shù)則可使配合高速存儲(chǔ)來(lái)明顯改變整體存儲(chǔ)的性能,按照一定的策略,先將數(shù)據(jù)寫(xiě)入高速存儲(chǔ),再在適當(dāng)?shù)臅r(shí)間進(jìn)行同步落盤(pán)。

2. 支持分級(jí)存儲(chǔ)

由于通過(guò)網(wǎng)絡(luò)進(jìn)行松耦合鏈接,分布式存儲(chǔ)允許高速存儲(chǔ)和低速存儲(chǔ)分開(kāi)部署,或者任意比例混布。在不可預(yù)測(cè)的業(yè)務(wù)環(huán)境或者敏捷應(yīng)用情況下,分層存儲(chǔ)的優(yōu)勢(shì)可以發(fā)揮到最佳。解決了目前緩存分層存儲(chǔ)最大的問(wèn)題是當(dāng)性能池讀不命中后,從冷池提取數(shù)據(jù)的粒度太大,導(dǎo)致延遲高,從而給造成整體的性能的抖動(dòng)的問(wèn)題。

3. 多副本的一致性

與傳統(tǒng)的存儲(chǔ)架構(gòu)使用RAID模式來(lái)保證數(shù)據(jù)的可靠性不同,分布式存儲(chǔ)采用了多副本備份機(jī)制。在存儲(chǔ)數(shù)據(jù)之前,分布式存儲(chǔ)對(duì)數(shù)據(jù)進(jìn)行了分片,分片后的數(shù)據(jù)按照一定的規(guī)則保存在集群節(jié)點(diǎn)上。為了保證多個(gè)數(shù)據(jù)副本之間的一致性,分布式存儲(chǔ)通常采用的是一個(gè)副本寫(xiě)入,多個(gè)副本讀取的強(qiáng)一致性技術(shù),使用鏡像、條帶、分布式校驗(yàn)等方式滿足租戶對(duì)于可靠性不同的需求。在讀取數(shù)據(jù)失敗的時(shí)候,系統(tǒng)可以通過(guò)從其他副本讀取數(shù)據(jù),重新寫(xiě)入該副本進(jìn)行恢復(fù),從而保證副本的總數(shù)固定;當(dāng)數(shù)據(jù)長(zhǎng)時(shí)間處于不一致?tīng)顟B(tài)時(shí),系統(tǒng)會(huì)自動(dòng)數(shù)據(jù)重建恢復(fù),同時(shí)租戶可設(shè)定數(shù)據(jù)恢復(fù)的帶寬規(guī)則,最小化對(duì)業(yè)務(wù)的影響。

4. 容災(zāi)與備份

在分布式存儲(chǔ)的容災(zāi)中,一個(gè)重要的手段就是多時(shí)間點(diǎn)快照技術(shù),使得用戶生產(chǎn)系統(tǒng)能夠?qū)崿F(xiàn)一定時(shí)間間隔下的各版本數(shù)據(jù)的保存。特別值得一提的是,多時(shí)間點(diǎn)快照技術(shù)支持同時(shí)提取多個(gè)時(shí)間點(diǎn)樣本同時(shí)恢復(fù),這對(duì)于很多邏輯錯(cuò)誤的災(zāi)難定位十分有用,如果用戶有多臺(tái)服務(wù)器或虛擬機(jī)可以用作系統(tǒng)恢復(fù),通過(guò)比照和分析,可以快速找到哪個(gè)時(shí)間點(diǎn)才是需要回復(fù)的時(shí)間點(diǎn),降低了故障定位的難度,縮短了定位時(shí)間。這個(gè)功能還非常有利于進(jìn)行故障重現(xiàn),從而進(jìn)行分析和研究,避免災(zāi)難在未來(lái)再次發(fā)生。多副本技術(shù),數(shù)據(jù)條帶化放置,多時(shí)間點(diǎn)快照和周期增量復(fù)制等技術(shù)為分布式存儲(chǔ)的高可靠性提供了保障。

5. 彈性擴(kuò)展

得益于合理的分布式架構(gòu),分布式存儲(chǔ)可預(yù)估并且彈性擴(kuò)展計(jì)算、存儲(chǔ)容量和性能。分布式存儲(chǔ)的水平擴(kuò)展有以下幾個(gè)特性:

(1) 節(jié)點(diǎn)擴(kuò)展后,舊數(shù)據(jù)會(huì)自動(dòng)遷移到新節(jié)點(diǎn),實(shí)現(xiàn)負(fù)載均衡,避免單點(diǎn)過(guò)熱的情況出現(xiàn);

(2) 水平擴(kuò)展只需要將新節(jié)點(diǎn)和原有集群連接到同一網(wǎng)絡(luò),整個(gè)過(guò)程不會(huì)對(duì)業(yè)務(wù)造成影響;

(3) 當(dāng)節(jié)點(diǎn)被添加到集群,集群系統(tǒng)的整體容量和性能也隨之線性擴(kuò)展,此后新節(jié)點(diǎn)的資源就會(huì)被管理平臺(tái)接管,被用于分配或者回收。

6. 存儲(chǔ)系統(tǒng)標(biāo)準(zhǔn)化

隨著分布式存儲(chǔ)的發(fā)展,存儲(chǔ)行業(yè)的標(biāo)準(zhǔn)化進(jìn)程也不斷推進(jìn),分布式存儲(chǔ)優(yōu)先采用行業(yè)標(biāo)準(zhǔn)接口(SMI-S或OpenStack Cinder)進(jìn)行存儲(chǔ)接入。在平臺(tái)層面,通過(guò)將異構(gòu)存儲(chǔ)資源進(jìn)行抽象化,將傳統(tǒng)的存儲(chǔ)設(shè)備級(jí)的操作封裝成面向存儲(chǔ)資源的操作,從而簡(jiǎn)化異構(gòu)存儲(chǔ)基礎(chǔ)架構(gòu)的操作,以實(shí)現(xiàn)存儲(chǔ)資源的集中管理,并能夠自動(dòng)執(zhí)行創(chuàng)建、變更、回收等整個(gè)存儲(chǔ)生命周期流程。基于異構(gòu)存儲(chǔ)整合的功能,用戶可以實(shí)現(xiàn)跨不同品牌、介質(zhì)地實(shí)現(xiàn)容災(zāi),如用中低端陣列為高端陣列容災(zāi),用不同磁盤(pán)陣列為閃存陣列容災(zāi)等等,從側(cè)面降低了存儲(chǔ)采購(gòu)和管理成本。

那如何學(xué)習(xí)才能快速入門(mén)并精通呢?

當(dāng)真正開(kāi)始學(xué)習(xí)的時(shí)候難免不知道從哪入手,導(dǎo)致效率低下影響繼續(xù)學(xué)習(xí)的信心。

但最重要的是不知道哪些技術(shù)需要重點(diǎn)掌握,學(xué)習(xí)時(shí)頻繁踩坑,最終浪費(fèi)大量時(shí)間,所以有一套實(shí)用的視頻課程用來(lái)跟著學(xué)習(xí)是非常有必要的。

為了讓學(xué)習(xí)變得輕松、高效,今天給大家免費(fèi)分享一套阿里架構(gòu)師傳授的一套教學(xué)資源。幫助大家在成為架構(gòu)師的道路上披荊斬棘。

這套視頻課程詳細(xì)講解了(Spring,MyBatis,Netty源碼分析,高并發(fā)、高性能、分布式、微服務(wù)架構(gòu)的原理,JVM性能優(yōu)化、分布式架構(gòu))等這些成為架構(gòu)師必備的內(nèi)容!

而且還把框架需要用到的各種程序進(jìn)行了打包,根據(jù)基礎(chǔ)視頻可以讓你輕松搭建分布式框架環(huán)境,像在企業(yè)生產(chǎn)環(huán)境一樣進(jìn)行學(xué)習(xí)和實(shí)踐。

(原標(biāo)題:分布式存儲(chǔ)的六大優(yōu)點(diǎn))

THEEND