詳解MongoDB數(shù)據(jù)還原及同步解決思路
mongodb數(shù)據(jù)如何還原,同步到其他系統(tǒng)?只要我們了解了數(shù)據(jù)庫日志原理,一切都是那么簡單
oplog原理
Oplog.rs 表類型為 Capped Collections
- 表類型:
Capped collections它的插入速度非常快,基本和磁盤的寫入速度差不多,并且支持按照插入順序高效的查詢操作。Capped collections的大小是固定的,它的工作方式很像環(huán)形緩沖器(circular buffers), 當剩余空間不足時,會覆蓋最先插入的數(shù)據(jù)。
優(yōu)勢:
Capped collections的特點是高效插入和檢索,所以最好不要在Capped collections上添加額外的索引,否則會影響插入速度。
插入快: 沒有索引
檢索快: natural【插入順序】/∗默認只支持按自然順序(即插入順序)返回結(jié)果Cappedcollections可以使用" role="presentation">natural【插入順序】/默認只支持按自然順序(即插入順序)返回結(jié)果Cappedcollections可以使用natural【插入順序】/默認只支持按自然順序(即插入順序)返回結(jié)果Cappedcollections可以使用natural操作符按插入順序的正序或反序返回結(jié)果
*/
Oplog為了保證插入性能,不允許額外創(chuàng)建索引。
Capped collections可以用于以下場景:
存儲日志: Capped collections的first-in-first-out特性剛好滿足日志事件的存儲順序;
緩存小量數(shù)據(jù):因為緩存的特點是讀多寫少,所以可以適當使用索引提高讀取速度。
限制:
如果更新數(shù)據(jù),你需要為之創(chuàng)建索引以防止collection scan;
更新數(shù)據(jù)時,文檔的大小不能改變。比如說name屬性為'abc',則只能修改成3個字符的字符串,否則操作將會失?。?/p>
數(shù)據(jù)不允許刪除,如果非刪除不可,只能drop collection
db[‘oplog.rs'].find({}).sort({$natural: -1})
Oplog是一種特殊的Capped collections,特殊之處在于它是系統(tǒng)級Collection,記錄了數(shù)據(jù)庫的所有操作,集群之間依靠Oplog進行數(shù)據(jù)同步。Oplog的全名是local.oplog.rs,位于local數(shù)據(jù)下。
總結(jié)
以上所述是小編給大家介紹的MongoDB數(shù)據(jù)還原及同步解決思路,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
mongodb 中rs.stauts()命令參數(shù)解析
MongoDB的rs.status()命令是查看副本集狀態(tài)的重要工具,它可以展示副本集中各個成員的角色、健康狀態(tài)、同步進度等關(guān)鍵信息,本文介紹mongodb 中rs.stauts()命令參數(shù)解析,感興趣的朋友跟隨小編一起看看吧2024-09-09vs2019 下用 vb.net編寫窗體程序連接 mongodb4.2的方法
這篇文章主要介紹了vs2019 下用 vb.net編寫窗體程序連接 mongodb4.2,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08SpringBoot?集成MongoDB實現(xiàn)文件上傳功能
這篇文章主要介紹了SpringBoot?集成MongoDB實現(xiàn)文件上傳,主要通過示例代碼記錄文件上傳的步驟,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04Mongodb使用$<identifier>過濾更新數(shù)組元素的示例代碼
帶有過濾器的位置操作符$<identifier>定義數(shù)組中數(shù)據(jù)更新時,只符合identifier定義條件的元素才可以更新,本文給大家介紹了Mongodb使用$<identifier>過濾更新數(shù)組元素的操作方法,很值得探討和學習,需要的朋友可以參考下2024-06-06