ZK資料儲存之記憶體資料庫ZKDatabase

2021-08-16 01:44:39 字數 372 閱讀 5230

zkdatabase負責管理會話、datatree和事務日誌,向上層提供統一的資料操作介面,其基本結構如下圖所示:

zkdatabase的初始化大致分為兩步:

載入某個資料快照檔案,恢復某個時刻t的全量記憶體資料;

初始化時,zk會載入最新的100個資料快照檔案,依次解析。首先,解析最新的資料快照檔案,如果校驗通過則返回檔名zxid;否則,解析第二個最新的資料快照檔案,以此迴圈。

載入對應的事務日誌檔案,獲取時刻t之後的增量資料;

根據步驟1返回的zxid,載入對應的事務日誌檔案,然後將事務應用到記憶體中。

Qt之記憶體資料庫

記憶體資料庫,顧名思義就是將資料放在記憶體中直接操作的資料庫。相對於磁碟,記憶體的資料讀寫速度要高出幾個數量級,將資料儲存在記憶體中相比從磁碟上訪問能夠極大地提高應用的效能。所以在有大量資料互動時使用記憶體資料庫,等到資料互動量降下來以後同步至本地資料庫也是個不錯的選擇。下段 是我事先將部分資料插入...

ZK資料儲存之資料快照

資料快照是某一時刻全量記憶體資料的映象,儲存在磁碟檔案。通過配置zoo.cfg檔案的datadir屬性設定資料快照檔案的儲存目錄。檔案頭 fileheader 資料 datatree和sessions 校驗和 checksum 結束符 事務日誌的次數超過設定值後,會觸發zk dump全量記憶體資料到...

zk資料庫必備知識點

1.什麼是zookeeper zk是乙個資料庫,檔案儲存系統 apache zookeeper致力於開發和維護可實現高度可靠的分布式協調的開源伺服器 常用於 資料發布 訂閱 負載均衡 命名服務 分布式協調 通知 集群管理 master 選舉 分布式鎖 分布式佇列 分布式檔案配置 zk節點型別有四大類...