問:哪種測試和開發的生命拷貝最好?MongoDb中devel團隊的生命拷貝
當前設置:
我們有兩個亞馬遜/ EC2的mongod服務器這樣的:
Machine A:
A production database (on an amazon/EC2 server) (name it ‘PROD’)
Other databases (‘OTHER’)
Machine B:
a pre-production database (name it ‘PRE’)
a copy for developer 1 own tests (call it ‘DEVEL-1’)
a copy for developer 2 (DEVEL-2)
…DEVEL-n
預數據庫是集成的測試部署到生產環境之前。
DEVEL-n是爲每個開發人員打亂自己的數據,而不會讓其他開發人員煩惱。
不時,我們希望從PROD到PRE和DEVEL-n的基地,以「恢復」新的數據。
目前我們通過.copyDatabase()命令從PROD傳遞給PRE。 然後我們發出.copyDatabase()「n」次將PRE複製到DEVEL-n中。
麻煩:
副本需要SOOOO長時間(1小時元一份,DBsize超過10GB),也通常是飽和的mongod的,所以我們必須重新啓動該服務。
我們已經發現約:
- 備份/恢復系統(如飽和.copyDatabase()一樣)
- 副本設置
- 主/從(好像不建議使用)
副本(套)似乎是贏家,但我們嚴重懷疑:
假設我們希望有一個副本集同步直播A/PR OD成B/PRE(並有可能作爲一個主要的和B可能爲繼發性):
一)我可以選擇從一個「幾」數據庫複製PROD但先不談其他?
b)我可以在B(如DEVEL-n)中有不在主內的「額外」數據庫嗎?
c)我可以「停止複製」,因此我們可以部署到PRE,用新數據測試軟件,用測試垃圾數據並在測試完成後「重新鏈接」副本, PRE被刪除,並且PROD中的變化被充分傳送到PRE中?
d)有沒有比適合這種情況的複製套更好的方法?
謝謝。 濱海和哈維。
非常感謝@Stennie我認爲你的回答非常有幫助 –