異構(gòu)數(shù)據(jù)存儲(chǔ)實(shí)戰(zhàn)

Part 01
異構(gòu)存儲(chǔ)架構(gòu)
數(shù)據(jù)的存儲(chǔ)需要根據(jù)使用場(chǎng)景的不同而有所不同,對(duì)于那些需要快速訪問(wèn)的數(shù)據(jù)應(yīng)該存儲(chǔ)在高速訪問(wèn)設(shè)備,并通過(guò)高性能存儲(chǔ)系統(tǒng)進(jìn)行訪問(wèn);而那些需要進(jìn)行大數(shù)據(jù)計(jì)算、歸檔處理的數(shù)據(jù)則應(yīng)該存儲(chǔ)在廉價(jià)、低速的設(shè)備中,通過(guò)分布式的方式來(lái)計(jì)算。
異構(gòu)存儲(chǔ)架構(gòu)是一種多存儲(chǔ)設(shè)備的系統(tǒng)架構(gòu),通過(guò)對(duì)數(shù)據(jù)進(jìn)行自動(dòng)化管理,根據(jù)其訪問(wèn)頻率等指標(biāo),將數(shù)據(jù)劃分為冷數(shù)據(jù)和熱數(shù)據(jù),進(jìn)而控制其存儲(chǔ)在不同的設(shè)備上,達(dá)到優(yōu)化性能,降低存儲(chǔ)成本的目的。

Part 02
異構(gòu)存儲(chǔ)面臨地挑戰(zhàn)
在異構(gòu)數(shù)據(jù)存儲(chǔ)增強(qiáng)中,主要面臨以下幾個(gè)核心問(wèn)題:
1?? 如何選擇合適的存儲(chǔ)介質(zhì)?
存儲(chǔ)介質(zhì)既要滿(mǎn)足性能、成本需求,同時(shí)還要滿(mǎn)足可靠性、可用性、容量可擴(kuò)展、運(yùn)維簡(jiǎn)單等需求。
2?? 如何定義業(yè)務(wù)的冷熱數(shù)據(jù),并且在存儲(chǔ)介質(zhì)中進(jìn)行分層?
在業(yè)務(wù)上,如何描述哪部分是熱數(shù)據(jù),哪部分是冷數(shù)據(jù),是在產(chǎn)品層面上需要考慮的問(wèn)題。
3?? 冷熱數(shù)據(jù)如何遷移?
隨著時(shí)間流逝,業(yè)務(wù)上的熱數(shù)據(jù)降溫為冷數(shù)據(jù)后,存儲(chǔ)介質(zhì)如何感知溫度的變化并執(zhí)行數(shù)據(jù)遷移來(lái)降低存儲(chǔ)成本。
4?? 如何提高冷數(shù)據(jù)的訪問(wèn)性能?
冷數(shù)據(jù)仍然會(huì)被訪問(wèn),比如數(shù)據(jù)運(yùn)營(yíng)分析要求,用戶(hù)需對(duì)過(guò)去一年的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析來(lái)進(jìn)行歷史回顧和趨勢(shì)分析。由于冷數(shù)據(jù)體量大,查詢(xún)涉及的數(shù)據(jù)多,存儲(chǔ)介質(zhì)性能低,如果不進(jìn)行優(yōu)化,對(duì)冷數(shù)據(jù)的元信息以及內(nèi)容訪問(wèn)可能出現(xiàn)瓶頸影響業(yè)務(wù)使用。
Part 03
冷熱數(shù)據(jù)識(shí)別
通過(guò)定義識(shí)別策略,例如訪問(wèn)頻率、數(shù)據(jù)大小、最近訪問(wèn)時(shí)間,這些因素用來(lái)輔助異構(gòu)存儲(chǔ)系統(tǒng),成為判別冷熱數(shù)據(jù)的指標(biāo)。
- 數(shù)據(jù)訪問(wèn)的頻繁度。即在一段時(shí)間內(nèi)對(duì)一個(gè)數(shù)據(jù)訪問(wèn)越多,我們就越將其定義為熱數(shù)據(jù)。
- 數(shù)據(jù)大小。一般數(shù)據(jù)體積較大的數(shù)據(jù)是不能作為熱數(shù)據(jù)的,如果訪問(wèn)頻率很高,需要考慮將其進(jìn)行拆分,分多個(gè)維度進(jìn)行讀取,而不是作為一個(gè)整體進(jìn)行存儲(chǔ)。
- 數(shù)據(jù)訪問(wèn)的時(shí)效性。即訪問(wèn)的數(shù)據(jù)越接近當(dāng)前時(shí)間點(diǎn),我們也會(huì)將其定義為熱數(shù)據(jù)。因?yàn)榇蠖鄶?shù)應(yīng)用場(chǎng)景都具備空間和時(shí)間上的局部性,當(dāng)前訪問(wèn)的數(shù)據(jù),接下來(lái)被訪問(wèn)的概率要相對(duì)大一些。

Part 04
異構(gòu)數(shù)據(jù)遷移
在將數(shù)據(jù)塊按照存儲(chǔ)策略遷移時(shí),通過(guò)將數(shù)據(jù)進(jìn)行自動(dòng)分析,結(jié)合策略對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮、小文件合并,同時(shí)針對(duì)平臺(tái)級(jí)數(shù)據(jù)進(jìn)行自動(dòng)備份和遷移,達(dá)成業(yè)務(wù)無(wú)感知。

分池存儲(chǔ)的核心是數(shù)據(jù)在不同存儲(chǔ)層之間的流動(dòng), 其主要解決的問(wèn)題是不同介質(zhì)間性能與容量差異,數(shù)據(jù)遷移的因素主要包括:存儲(chǔ)池空間水位,數(shù)據(jù)冷熱特性,手動(dòng)遷移數(shù)據(jù)等。
寫(xiě)緩存:通常情況下,前端數(shù)據(jù)首先寫(xiě)入SSD層即返回,滿(mǎn)足用戶(hù)對(duì)于高吞吐低延遲的需求,隨后數(shù)據(jù)在后臺(tái)被遷移到HDD層,整個(gè)過(guò)程對(duì)于用戶(hù)無(wú)感知。在吞吐實(shí)測(cè)過(guò)程中,SSD+HDD集群基本同時(shí)兼顧了SSD的性能和HDD的容量,成本顯著低于SSD集群;
讀緩存:由高低速介質(zhì)容量配比決定,大部分?jǐn)?shù)據(jù)最終被寫(xiě)入HDD層。根據(jù)數(shù)據(jù)局部熱點(diǎn)特性,高速層會(huì)同時(shí)會(huì)成為讀緩存,具體而言,系統(tǒng)根據(jù)數(shù)據(jù)冷熱特性盡量將熱點(diǎn)數(shù)據(jù)遷移至高速設(shè)備,最大程度上提升讀性能。






























