1、現(xiàn)代的集群存儲系統(tǒng)中越來越多的采用糾刪碼(Erasure Codes)來減小傳統(tǒng)的三副本的存儲開銷。與此同時也帶來了一個亟待解決的問題,即如何為糾刪碼的存儲量身定制一個數(shù)據(jù)分析范式,尤其當(dāng)存儲系統(tǒng)操作處于故障模式。
現(xiàn)有的數(shù)據(jù)恢復(fù)策略都是當(dāng)設(shè)備發(fā)生故障或者數(shù)據(jù)發(fā)生丟失后才啟動數(shù)據(jù)恢復(fù),也就是說,這些算法在設(shè)計和實現(xiàn)上,對數(shù)據(jù)丟失和恢復(fù)的感知設(shè)定為被動感知,即只有發(fā)生了數(shù)據(jù)丟失才觸發(fā)對故障數(shù)據(jù)進(jìn)行恢復(fù)。當(dāng)丟失的數(shù)據(jù)較多,或者涉及
2、到大量數(shù)據(jù)恢復(fù)任務(wù)的時候,也正是MapReduce任務(wù)集中執(zhí)行的時候,無論是Map任務(wù)調(diào)度單元(Map Slot)和Reduce任務(wù)調(diào)度單元(ReduceSlot),還是網(wǎng)絡(luò)資源,都是各個任務(wù)執(zhí)行時相互爭奪的對象,因此會極大地降低MapReduce的性能,對于追求高效率的大數(shù)據(jù)處理也是一個挑戰(zhàn)。
本文提出的基于數(shù)據(jù)熱度的前攝性數(shù)據(jù)恢復(fù)算法,其基本思想是能夠在數(shù)據(jù)丟失之后且被訪問之前,提前感知到這些數(shù)據(jù)的丟失,并對這些丟失數(shù)據(jù)進(jìn)
3、行恢復(fù)。當(dāng)后續(xù)訪問到這些丟失數(shù)據(jù)的時候,系統(tǒng)不會感知數(shù)據(jù)是否丟失,也就不必對數(shù)據(jù)恢復(fù)過程做等待。特別是,當(dāng)這些數(shù)據(jù)是訪問頻率較高的熱點數(shù)據(jù)時,該提出算法對Hadoop分布式文件系統(tǒng)(Hadoop Distributed File System,簡稱為HDFS)以及MapReduce的性能提升有很大幫助。鑒于降低開銷代價的考慮,提出的算法沒有對文件系統(tǒng)中所有的數(shù)據(jù)塊是否丟失進(jìn)行預(yù)測,只對其中的熱點數(shù)據(jù)的可用性進(jìn)行跟蹤。因為HDFS中的數(shù)據(jù)