儲存基礎知識(二)回滾的原理

2021-08-26 09:29:21 字數 790 閱讀 8147

雖然使用者開啟快照,可在通過建立時間點來保護修改的資料,但要回到修改之前的狀態就必須用到回滾。打個比方,我在t1時刻給畫板上畫了一棵樹,t2時刻又畫了乙隻猴子,t3時刻畫的時候發現畫錯了,我不想要猴子和現在所畫的東西,我想回到那棵樹的時刻,就會用到回滾。

快照的回滾也是如此,使用者建立多個時間點,每個時間點都可能保護著資料,但想回到某個時刻的資料狀態,同樣需要回滾。原理圖如下所示:

在建時間點p1之前的資料為abcd,p1時刻,將ab寫為a'b',於是快照保護了被修改的資料ab,原資料變為a'b'cd;

在時間點p2時刻,使用者又將c寫為c',於是快照保護了p2 時刻被修改的資料c,原資料變為a'b'c'd

在時間點p3時刻,使用者將之前修改過的a'寫為a'',於是快照保護了被修改的資料a',原資料變為a''b'c'd

此時,使用者想回到p1時間點之前的狀態,也即回到資料為abcd的狀態,會從p1——>p2——>p3依次找被保護的資料,並進行比較組合。比如上圖中,它找到a相關的資料有a和a',但由於a早於a',所以選擇a,bc不用選擇,首次出現,所以最終組合出來的資料為abc,也就是說,從p1時刻之前到現在所有修改的資料為abc,那麼只需要把abc寫回當前時刻資料塊,就會變得跟p1時刻一樣。

至於回滾為什麼要新建時間點p4,很好理解,使用者從當前回滾到時間點p1 之前時刻後,又想滾回來怎麼辦?你的資料已經從a''b'c'd寫入abc後變為abcd,無法回到之前的資料狀態,所以需要建時間點p4,用來保護你修改的資料,保證資料不丟。

iSCSI儲存系統基礎知識(二)

iscsi san概念解析 iscsi san元件與fc san元件相類似。包括以下部件 iscsi client host 系統中的iscsi客戶端或主機 也稱為iscsi initiator 諸如伺服器,連線在ip網路並對iscsi target發起請求以及接收響應。每乙個iscsi主機通過唯一...

HDFS的基礎知識 原理篇(二)

別稱 機架感知 rack awareness 含義 資料塊會優先儲存在離namenode近的機器或者說成離namenode機架近的機器上 特點 1 如果乙個機架出問題,不會影響資料讀寫 2 寫入資料的時候會寫到不同機架的datanode中 3 mapreduce會根據機架獲取離自己比較近的網路資料 ...

資料庫基礎知識(二)索引儲存

sqlserver中使用頁為儲存單元的,那麼在建立索引時,其索引節點就是頁了,然後樹的鍵值就是存放到這些頁 節點 中的。就是說表中的資料行就是存放到頁上的,乙個表有多個頁構成,這些頁以樹的結構存放。如下圖為聚集索引的儲存結構 來自網路 其中可以看出頁有兩種 index rows 索引頁 data r...