存儲數(shù)據(jù)分級的方式
來源:中國數(shù)字音視網(wǎng) 作者:cofee 編輯:數(shù)字音視工程 2010-09-08 00:00:00 加入收藏
眾所周知,當(dāng)數(shù)據(jù)量達(dá)到一定的級別之后,通過提高設(shè)備性能或者增加設(shè)備,效果往往不會很明顯。一方面存儲設(shè)備的性能有優(yōu)劣之分,如磁帶的性能就比不上硬盤的性能。另一方面,用戶數(shù)據(jù)使用的頻率也是不同的。如訂單等信息可能需要經(jīng)常用到,而視頻監(jiān)控信息可能一年都不會訪問一次。在這種情況下,如果能夠?qū)⒂脩艚?jīng)常需要用到的數(shù)據(jù)放到硬盤上,而將使用頻率低的數(shù)據(jù)放到性能欠佳的磁帶設(shè)備上。那么就可以提高數(shù)據(jù)查詢的命中率,從而提高數(shù)據(jù)查詢與處理的效率。
一、利用離線存儲來提高設(shè)備的使用壽命。
存儲在磁帶設(shè)備上的數(shù)據(jù)一般可能很少用到。如企業(yè)需要對數(shù)據(jù)庫等應(yīng)用軟件的數(shù)據(jù)進(jìn)行備份。此時(shí)可以將數(shù)據(jù)備份到磁帶設(shè)備上。根據(jù)慣例,一般一天24個(gè)小時(shí)這個(gè)磁帶設(shè)備可能就只需要半個(gè)小時(shí)。在這種情況下,如果磁帶設(shè)備仍然一天24個(gè)小時(shí)運(yùn)行著,那么是相當(dāng)浪費(fèi)的。不僅會浪費(fèi)電源,而且還會影響磁帶設(shè)備的使用壽命。
而如果在分級存儲中采用離線存儲的話,那么就可以解決這個(gè)問題。離線存儲簡單的說,就是平時(shí)磁帶設(shè)備是處于休眠狀態(tài)。當(dāng)需要用到的時(shí)候,可以將磁帶設(shè)備喚醒。然后往磁帶設(shè)備上讀取或者寫入數(shù)據(jù)。等到操作完成之后,磁帶系統(tǒng)就會自動(dòng)再轉(zhuǎn)為休閑狀態(tài)。設(shè)計(jì)的好的話,可以將磁帶設(shè)備的運(yùn)行時(shí)間控制在最短時(shí)間之內(nèi),如一個(gè)小時(shí)之內(nèi)。從而可以提高設(shè)備的使用壽命。
通常情況下,離線存儲主要是用在對在線存儲的數(shù)據(jù)進(jìn)行備份,以防范可能發(fā)生的數(shù)據(jù)災(zāi)難。為此在分級存儲中,也將離線存儲叫做備份級別的存儲。這里需要注意的是,離線存儲介質(zhì)上的數(shù)據(jù)在讀寫時(shí)是按順序進(jìn)行的。當(dāng)需要數(shù)據(jù)讀取時(shí),需要將帶子卷到頭,然后再進(jìn)行定位。當(dāng)需要對已寫入的數(shù)據(jù)進(jìn)行修改時(shí),所有的數(shù)據(jù)都需要全部進(jìn)行改寫。所以離線海量存儲的效率是比較低的。但是其最大的優(yōu)點(diǎn)就是可以以比較低的成本實(shí)現(xiàn)海量存儲。
為此離線存儲并不適合所有的情況。通常情況下,離線存儲主要用來存儲那些不經(jīng)常使用的數(shù)據(jù),如數(shù)據(jù)備份等等。而且一般在分級存儲中結(jié)合使用離線存儲,用來提高設(shè)備的使用效率。
二、考慮如何有效的對數(shù)據(jù)進(jìn)行分級?
為什么有時(shí)候采用數(shù)據(jù)分級存儲策略能夠提高比較好的效果,而有時(shí)候效果又不明顯呢?筆者認(rèn)為,這其中有一個(gè)很重要的原因是數(shù)據(jù)分級策略的指標(biāo)不合適。也就是說,將什么魚放養(yǎng)在哪個(gè)魚塘中,是由存儲系統(tǒng)根據(jù)一定規(guī)則來決定的。如果這個(gè)規(guī)則設(shè)置不當(dāng),如只根據(jù)魚的大小來決定,那么同一個(gè)魚塘中就可能會有各種各樣的魚。此時(shí)就不利于數(shù)據(jù)的查詢與管理??梢?,這個(gè)分級的規(guī)則相當(dāng)?shù)年P(guān)鍵。
筆者建議,在使用數(shù)據(jù)分級存儲產(chǎn)品的時(shí)候,最好能夠選擇那些基于多指標(biāo)的數(shù)據(jù)分級策略。
也就是說,根據(jù)基于數(shù)據(jù)的生命周期、上次訪問的時(shí)間、大小、訪問頻率等等多個(gè)參數(shù)對數(shù)據(jù)的價(jià)值進(jìn)行分級。具體的來說,在數(shù)據(jù)分級時(shí)需要考慮到如下內(nèi)容。
一是最好在數(shù)據(jù)創(chuàng)建的時(shí)候就能夠確定數(shù)據(jù)的級別。因?yàn)槿绻麛?shù)據(jù)一創(chuàng)建就能夠預(yù)測其訪問特性而進(jìn)行適當(dāng)?shù)姆旨?,就能夠減少不必要的數(shù)據(jù)轉(zhuǎn)移而帶來的麻煩。這也就是說,在日常管理中我們可以對于一些數(shù)據(jù)進(jìn)行手工的分級,而不需要讓系統(tǒng)來進(jìn)行分級。如根據(jù)以前的經(jīng)驗(yàn),可以預(yù)測用戶對于近1個(gè)月的郵件數(shù)據(jù)需要經(jīng)常訪問。那么就可以指定,對于最近一個(gè)月的數(shù)據(jù)指定為級別高的數(shù)據(jù)。而其他時(shí)間的郵件數(shù)據(jù)則根據(jù)一定的規(guī)則讓系統(tǒng)自動(dòng)進(jìn)行判斷。手工指定與系統(tǒng)自動(dòng)判斷結(jié)合,往往可以起到不錯(cuò)的效果。
二是根據(jù)數(shù)據(jù)的靜態(tài)特征和動(dòng)態(tài)特征來進(jìn)行分級也能夠起到不錯(cuò)的效果。如可以通過以下方式來判斷文件是靜態(tài)的還是動(dòng)態(tài)的。一是根據(jù)文件系統(tǒng)的靜態(tài)特征(如文件大小的分布),二是根據(jù)文件系統(tǒng)的宏觀訪問規(guī)律(如大小文件的訪問次數(shù)分布),三是根據(jù)根據(jù)文件之間的訪問關(guān)聯(lián)特征(如同一作業(yè)中的一個(gè)文件被訪問,則可能會帶動(dòng)其他文件也被訪問),四是文件個(gè)性的訪問模式(如是否具有訪問的局限性)。在實(shí)際工作中,可以根據(jù)這些特征對文件進(jìn)行手工的歸類。也可以在選購的時(shí)候,判斷系統(tǒng)中是否有對應(yīng)的分級策略。
三、如何有效降低遷移過程中的沖突?
分級存儲另一個(gè)特點(diǎn),就是會根據(jù)數(shù)據(jù)的訪問級別,在不同設(shè)備之間進(jìn)行數(shù)據(jù)的遷移。如剛開始一些數(shù)據(jù)是存儲在硬盤或者磁盤陣列中的。后來分級存儲系統(tǒng)發(fā)現(xiàn)其已經(jīng)有近半年沒有被訪問了,此時(shí)就會將數(shù)據(jù)從硬盤或者磁盤陣列中遷移到磁帶中。這種遷移也叫做降級遷移(將數(shù)據(jù)從性能高的設(shè)備中遷移到性能低的設(shè)備中)。相反,當(dāng)用戶在一段時(shí)間內(nèi)突然頻繁訪問存放在磁帶中的數(shù)據(jù),此時(shí)分級存儲系統(tǒng)就會將數(shù)據(jù)從磁帶中遷移到硬盤或者磁盤陣列中,這就叫做升級遷移(數(shù)據(jù)有慢速存儲設(shè)備和低一級存儲設(shè)備往快速存儲設(shè)備或者高一級存儲設(shè)備遷移)。
這里需要注意,在遷移的過程中可能會發(fā)生沖突。根據(jù)筆者的經(jīng)驗(yàn),一般來說在降級遷移中設(shè)備的輸入輸出沖突并不是很嚴(yán)重。但是在升級遷移中,則必須要考慮數(shù)據(jù)遷移帶來的I/Q沖突。因?yàn)楦鶕?jù)測試發(fā)現(xiàn),數(shù)據(jù)遷移發(fā)生的時(shí)候,基本上是對應(yīng)設(shè)備I/Q最密集的時(shí)候。為此在分級系統(tǒng)設(shè)計(jì)的時(shí)候,必須要考慮到,如何才能夠最大程度的降低數(shù)據(jù)遷移過程中的I/Q沖突,降低對其他用戶數(shù)居訪問的不利影響?,F(xiàn)在常用的一種手段是盡量保證只在磁帶與磁盤陣列之間進(jìn)行數(shù)據(jù)的升級遷移。因?yàn)橄鄬碚f,可以通過增加硬盤的數(shù)量來增加數(shù)據(jù)輸入輸出的吞吐量,從而降低I/Q沖突。而減少在磁帶與單塊硬盤之間的數(shù)據(jù)遷移操作。根據(jù)筆者的測試發(fā)現(xiàn),及時(shí)性能最高的硬盤,在發(fā)生數(shù)據(jù)升級遷移的過程中,不可避免的會遇到I/O沖突的情況。
在數(shù)據(jù)遷移的過程中,除了要考慮數(shù)據(jù)沖突之外,還需要注意數(shù)據(jù)的一致性。根據(jù)現(xiàn)在的技術(shù),最常用的手段是通過讀寫鎖來確保數(shù)據(jù)的一致性。系統(tǒng)的遷移進(jìn)程會為當(dāng)前的數(shù)據(jù)塊申請讀寫鎖,以保證遷移進(jìn)程與寫操作進(jìn)程之間的數(shù)據(jù)一致性。通常情況下,則也是選擇分級存儲產(chǎn)品中必須要考慮一個(gè)指標(biāo)。
以上提到的這三個(gè)內(nèi)容,不僅僅是大家在部署的時(shí)候需要注意的問題,而且在選購產(chǎn)品的時(shí)候,也可以以這些標(biāo)準(zhǔn)來進(jìn)行評估。
評論comment