mongodb數(shù)據(jù)如何還原,同步到其他系統(tǒng)?只要我們了解了數(shù)據(jù)庫(kù)日志原理,一切都是那么簡(jiǎn)單
oplog原理
Oplog.rs 表類型為 Capped Collections
- 表類型:
Capped collections它的插入速度非???,基本和磁盤的寫入速度差不多,并且支持按照插入順序高效的查詢操作。Capped collections的大小是固定的,它的工作方式很像環(huán)形緩沖器(circular buffers), 當(dāng)剩余空間不足時(shí),會(huì)覆蓋最先插入的數(shù)據(jù)。
優(yōu)勢(shì):
Capped collections的特點(diǎn)是高效插入和檢索,所以最好不要在Capped collections上添加額外的索引,否則會(huì)影響插入速度。
插入快: 沒有索引
檢索快: natural【插入順序】/∗默認(rèn)只支持按自然順序(即插入順序)返回結(jié)果Cappedcollections可以使用" role="presentation">natural【插入順序】/默認(rèn)只支持按自然順序(即插入順序)返回結(jié)果Cappedcollections可以使用natural【插入順序】/默認(rèn)只支持按自然順序(即插入順序)返回結(jié)果Cappedcollections可以使用natural操作符按插入順序的正序或反序返回結(jié)果
*/
Oplog為了保證插入性能,不允許額外創(chuàng)建索引。
Capped collections可以用于以下場(chǎng)景:
存儲(chǔ)日志: Capped collections的first-in-first-out特性剛好滿足日志事件的存儲(chǔ)順序;
緩存小量數(shù)據(jù):因?yàn)榫彺娴奶攸c(diǎn)是讀多寫少,所以可以適當(dāng)使用索引提高讀取速度。
限制:
如果更新數(shù)據(jù),你需要為之創(chuàng)建索引以防止collection scan;
更新數(shù)據(jù)時(shí),文檔的大小不能改變。比如說(shuō)name屬性為'abc',則只能修改成3個(gè)字符的字符串,否則操作將會(huì)失?。?/p>
數(shù)據(jù)不允許刪除,如果非刪除不可,只能drop collection
db[‘oplog.rs'].find({}).sort({$natural: -1})
Oplog是一種特殊的Capped collections,特殊之處在于它是系統(tǒng)級(jí)Collection,記錄了數(shù)據(jù)庫(kù)的所有操作,集群之間依靠Oplog進(jìn)行數(shù)據(jù)同步。Oplog的全名是local.oplog.rs,位于local數(shù)據(jù)下。
總結(jié)
以上所述是小編給大家介紹的MongoDB數(shù)據(jù)還原及同步解決思路,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- mongodb 數(shù)據(jù)庫(kù)操作--備份 還原 導(dǎo)出 導(dǎo)入
- node.js將MongoDB數(shù)據(jù)同步到MySQL的步驟