目前有一些工具可以很方便的升級線上的數據庫的結構,比如ruby寫的rails以及php的doctrine都有migration,不知道mongodb有沒有很方便升級庫結構的方法。
2 回答

RISEBY
TA貢獻1856條經驗 獲得超5個贊
MongoDB升級數據庫還是相對比較方便的,如非特殊版本更新,基本上都不用停服務。
1.如果你的數據結構有變化,MongoDB的Schema-free機制使你可以不用遷移
2.如果你想使用新版本中的新功能,那確實得遷移數據了,一種比較通常的做法是通過其Replication機制??梢钥匆幌鹿俜降南鄳姹镜膔elease notes,通常會寫升級時是否可以用Replication的方式,不能用的話可能是因為本次新版本在Replicastion協議上本來就有改動。那可能就得停服務來做遷移了。
3.停服務遷移前,也可以先通過mongodump和mongorestore遷移當前數據,然后停服務再遷移增量數據,通常也不會停太長時間服務。

慕碼人2483693
TA貢獻1860條經驗 獲得超9個贊
沒有,只能靠你自己在程序里做約定。
這也是這類面向文檔的數據庫的最大問題,開發的時候不得不小心翼翼,因為我們只能在客戶端維護了一份數據庫結構,萬一有某個開發者多插入或者少插入了些什么字段,服務端都是可以接受的。
更苦惱的是有時候客戶端不是唯一的,因此我們就要在不同的客戶端上維護同一份數據結構,這為數據結構的升級帶來了很大的不方便。面向文檔的設計本來是要解放對數據結構的依賴,但是卻沒有解決沒有數據結構約定后帶來的隨意性。
- 2 回答
- 0 關注
- 192 瀏覽
添加回答
舉報
0/150
提交
取消