資料快照是某一時刻全量記憶體資料的映象,儲存在磁碟檔案。
通過配置zoo.cfg檔案的datadir屬性設定資料快照檔案的儲存目錄。
檔案頭:fileheader
資料:datatree和sessions
校驗和:checksum
結束符:/
事務日誌的次數超過設定值後,會觸發zk dump全量記憶體資料到磁碟檔案,生成資料快照,如下圖所示:
首先,檢視事務日誌數量是否達到設定次數;
其次,如果超過指定次數,則切換事務日誌檔案(為了和資料快照保持同步);
其次建立非同步執行緒,專門用於dump記憶體資料到磁碟檔案;
用zxid作為檔名,然後將會話資訊和datattree分貝序列化寫入檔案;
資料快照以zxid命名,方便根據資料快照檔名尋找到對應的事務日誌檔案,用於初始化或者恢復資料,如下圖所示:
ZK資料儲存之記憶體資料庫ZKDatabase
zkdatabase負責管理會話 datatree和事務日誌,向上層提供統一的資料操作介面,其基本結構如下圖所示 zkdatabase的初始化大致分為兩步 載入某個資料快照檔案,恢復某個時刻t的全量記憶體資料 初始化時,zk會載入最新的100個資料快照檔案,依次解析。首先,解析最新的資料快照檔案,如...
資料快照技術
和copy on write比較 共同點 不管是哪個一種快照方式,只要上層向乙個在快照之後從來沒有被更新過的扇區寫 io,這個 io塊就要占用新卷上的 乙個塊 因為要保留原塊的內容,不能被覆蓋 如果上層將原卷上的所有扇區都更新了,那麼新卷的容量就需要和原卷的 資料量同樣大才可以。但是通常應用不會寫覆...
SQL基礎之資料庫快照
1.認識快照 如名字一樣,資料庫快照就可以理解為資料庫某一時刻的 它記錄了此時資料庫的資料資訊。如果要認識快照的本質,那就要了解快照的工作原理。當我們執行t sql建立快照後,此時就會建立乙個或多個稀疏檔案。稀疏檔案的個數與資料庫資料檔案的個數相等且一定要相等,否則會報錯。此時,稀疏檔案只是乙個空檔...