本文介紹ApsaraDB for MongoDB支援升級的資料庫大版本以及如何升級資料庫大版本。升級大版本時,系統會自動升級到該大版本的最新可用小版本。
注意事項
-
協議要求:升級分區叢集執行個體的資料庫大版本時,執行個體的協議類型需為MongoDB協議。
-
磁碟空間要求:升級資料庫大版本時,建議執行個體的磁碟使用率不超過 90%。升級過程中會寫入臨時檔案,剩餘磁碟空間不足(例如低於磁碟總量的 20%)可能導致升級失敗或執行個體異常。如果當前剩餘磁碟空間不滿足要求,請先擴容磁碟,確保剩餘空間不低於磁碟總量的 20% 後再執行升級。
-
升級方式與影響:
-
自動重啟:升級採用輪轉升級的方式進行,升級過程中會自動對執行個體進行2~3次重啟,請在業務低峰期執行並確保應用程式具有重連機制。
-
效能影響:從MongoDB 5.0開始,預設的writeConcern從
{w:1}調整為{w:majority}。如果您的執行個體大版本從4.4升級到5.0,可能會出現比較明顯的寫入效能退化。說明-
跨版本升級時,後台會逐步升級大版本(例如3.0版升級到4.2,系統不會直接升級到4.2,而是逐步升級至4.2),每升級一次就發生一次閃斷。
-
推薦生產環境的應用程式通過ConnectionStringURI地址串連資料庫。
通過ConnectionStringURI地址串連執行個體,可以確保串連的節點始終為主節點(Primary),不會因為主備切換而影響應用的讀寫操作。如何通過ConnectionStringURI地址串連資料庫,請參見複本集執行個體串連說明或分區叢集執行個體串連說明。
-
-
-
平衡器狀態:升級過程中,分區叢集執行個體的平衡器將被關閉,升級完成後會被重新開啟。
-
版本降級:升級資料庫大版本後不支援降級資料庫大版本。
-
備份恢複:升級資料庫大版本後,低版本的備份資料不能恢複至ApsaraDB for MongoDB執行個體。您可以下載備份檔案,將低版本的備份資料恢複至自建資料庫。如何將備份資料恢複至自建資料庫,請參見雲端硬碟備份資料恢複或本地碟備份資料恢複。
-
升級耗時:升級耗時與執行個體資料量、庫表數量、版本升級跨度等因素有關。以下資料僅供參考,具體升級耗時請以實際操作為準。
-
雲端硬碟版:升級耗時約為15分鐘。
-
本地碟版:臨近版本的升級,其耗時接近於執行個體重啟耗時,一般為分鐘層級。
-
從 MongoDB 3.4 升級到 4.0 等臨近版本升級通常耗時 1~5 分鐘,期間會觸發 2~3 次重啟,每次閃斷約 30 秒,且耗時與磁碟使用率無關。建議在業務低峰期執行升級,並確保應用程式具備重連機制。
-
支援升級的資料庫大版本
-
ApsaraDB for MongoDB控制台可以直接升級資料庫大版本,但不同產品架構、不同版本的執行個體支援升級的版本不同,具體情況如下:
產品架構
規格類型
執行個體的資料庫大版本
可升級到的資料庫大版本
單節點架構
通用型雲端硬碟版
MongoDB 4.0
暫無更高的資料庫大版本可升級。
通用型雲端硬碟版
MongoDB 3.4
支援升級至 MongoDB 4.0。
複本集架構
-
通用型雲端硬碟版
-
獨享型雲端硬碟版
MongoDB 8.0
MongoDB 8.3
MongoDB 7.0
MongoDB 8.0
MongoDB 6.0
MongoDB 7.0
MongoDB 5.0
MongoDB 6.0
MongoDB 4.4
MongoDB 5.0
執行個體從4.4升級到5.0後,由於預設的writeConcern從
{w:1}調整為{w:majority},可能會導致寫入效能退化,寫入延遲上升。請確認此變更帶來的影響後,再進行大版本升級。-
通用型本地碟版
-
獨享型本地碟版
-
獨佔物理機
MongoDB 4.2
不支援升級資料庫大版本。
如果您需要升級資料庫大版本,可以通過建立新執行個體,使用新執行個體替換舊執行個體。
MongoDB 4.0
MongoDB 4.2
MongoDB 3.4
-
MongoDB 4.0
-
MongoDB 4.2
MongoDB 3.2
MongoDB 3.0
分區叢集架構
獨享型雲端硬碟版
MongoDB 8.0
MongoDB 8.3(需提交工單申請)
MongoDB 7.0
MongoDB 8.0
MongoDB 6.0
MongoDB 7.0
MongoDB 5.0
MongoDB 6.0
MongoDB 4.4
MongoDB 5.0
執行個體從4.4升級到5.0後,由於預設的writeConcern從
{w:1}調整為{w:majority},可能會導致寫入效能退化,寫入延遲上升。請確認此變更帶來的影響後,再進行大版本升級。-
通用型本地碟版
-
獨享型本地碟版
-
獨佔物理機
MongoDB 4.2
不支援升級資料庫大版本。
如果您需要升級資料庫大版本,可以通過建立新執行個體,使用新執行個體替換舊執行個體。
MongoDB 4.0
MongoDB 4.2
MongoDB 3.4
-
MongoDB 4.0
-
MongoDB 4.2
MongoDB 3.2
MongoDB 3.0
-
-
如果您需要跨產品架構或跨儲存類型升級執行個體大版本,可以先建立目標高版本執行個體,然後通過DTS將源執行個體遷移至高版本的新執行個體中。
遷移資料的方法如下:
準備工作:相容性測試
升級資料庫大版本之前,請先按照如下步驟進行相容性測試。
-
單可用性區域或多可用性區域不影響資料庫大版本升級測試。測試執行個體與待升級執行個體的地區、VPC 和執行個體規格保持一致即可。
-
升級前請檢查用戶端驅動相容性。例如,從 MongoDB 3.4 升級到 4.0 時,如果使用 Spring XML 串連配置,建議將驅動升級至 4.11.2,可保留現有
replica-set、socket-timeout等參數配置。如果仍使用 3.3 等舊版驅動,建議升級至 3.6 或更高版本,以完整支援新版本特性。
操作步驟
-
登入MongoDB管理主控台。
-
根據執行個體類型,在左側導覽列,單擊複本集執行個體列表或分區叢集執行個體列表。
-
在頁面左上方,選擇執行個體所在的資源群組和地區。
-
單擊目標執行個體ID或目標執行個體所在行操作列的管理。
-
在規格資訊地區,將滑鼠移動至升級資料庫版本上,單擊需要升級的資料庫大版本。
-
在彈出的升級資料庫版本對話方塊中,單擊確定。
升級完成後,若控制台仍顯示正在升級中,請重新整理瀏覽器頁面查看最新狀態。