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個字符的字符串,否則操作將會失敗;
數(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ù)還原及同步解決思路,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- mongodb 數(shù)據(jù)庫操作--備份 還原 導出 導入
- node.js將MongoDB數(shù)據(jù)同步到MySQL的步驟