1. 程式人生 > 資料庫 >詳解MongoDB資料還原及同步解決思路

詳解MongoDB資料還原及同步解決思路

mongodb資料如何還原,同步到其他系統?只要我們瞭解了資料庫日誌原理,一切都是那麼簡單

oplog原理

Oplog.rs 表型別為 Capped Collections

- 表型別:

Capped collections它的插入速度非常快,基本和磁碟的寫入速度差不多,並且支援按照插入順序高效的查詢操作。Capped collections的大小是固定的,它的工作方式很像環形緩衝器(circular buffers), 當剩餘空間不足時,會覆蓋最先插入的資料。

優勢:

Capped collections的特點是高效插入和檢索,所以最好不要在Capped collections上新增額外的索引,否則會影響插入速度。

插入快: 沒有索引

檢索快: natural【插入順序】/∗預設只支援按自然順序(即插入順序)返回結果Cappedcollections可以使用" role="presentation">natural【插入順序】/預設只支援按自然順序(即插入順序)返回結果Cappedcollections可以使用natural【插入順序】/預設只支援按自然順序(即插入順序)返回結果Cappedcollections可以使用natural操作符按插入順序的正序或反序返回結果

*/
Oplog為了保證插入效能,不允許額外建立索引。

Capped collections可以用於以下場景:

儲存日誌: Capped collections的first-in-first-out特性剛好滿足日誌事件的儲存順序;

快取小量資料:因為快取的特點是讀多寫少,所以可以適當使用索引提高讀取速度。

限制:

如果更新資料,你需要為之建立索引以防止collection scan;

更新資料時,文件的大小不能改變。比如說name屬性為'abc',則只能修改成3個字元的字串,否則操作將會失敗;

資料不允許刪除,如果非刪除不可,只能drop collection

db[‘oplog.rs'].find({}).sort({$natural: -1})

Oplog是一種特殊的Capped collections,特殊之處在於它是系統級Collection,記錄了資料庫的所有操作,叢集之間依靠Oplog進行資料同步。Oplog的全名是local.oplog.rs,位於local資料下。

總結

以上所述是小編給大家介紹的MongoDB資料還原及同步解決思路,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!