暫緩MongoDB 4.4.2 、4.4.3、 4.4.4版本升級: 存在嚴重Bug

六一發表於2021-11-18

據 MongoDB 官網釋出:從 4.4.2~4.4.4 版本升級到 4.4.8+ 或 5.0.2 +版本時,存在嚴重 bug ,有升級計劃的夥伴們請暫緩實施。

造成原因

升級過程中即使正常關閉了mongod例項,MongoDB仍有可能使用WT引擎metadata檔案中的錯誤資訊,從而使用錯誤的checkpoint,導致MongoDB中的資料產生不一致。

問題描述

  • 4.4.2、4.4.3、4.4.4版本在徹底關閉時留下一段無效的後設資料。
  • 我們在 4.4.5 中開始使用後設資料進行決策時發現並修復了該錯誤。
  • 在 4.4.8 和更新版本中,我們新增了假設後設資料正確的程式碼,當它不正確時,WiredTiger 可以刪除升級後應保留的內容。

解決方案

正在使用上述版本的夥伴們暫時不要升級,等待修復該問題後再升級。

軟體介紹

MongoDB 是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。

它支援的資料結構非常鬆散,是類似 json 的 bjson 格式,因此可以儲存比較複雜的資料型別。

它支援的查詢語言非常強大,其語法有點類似於物件導向的查詢語言,幾乎可以實現類似關聯式資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。

MongoDB 服務端可執行在 Linux、Windows 或 OS X 平臺,支援 32 位和 64 位應用,預設埠為 27017。推薦執行在 64 位平臺,因為 MongoDB 在 32 位模式執行時支援的最大檔案尺寸為 2GB。

功能特性

它的特點是高效能、易部署、易使用,儲存資料非常方便。

主要功能特性有:

  • 面向集合儲存,易儲存物件型別的資料。
  • 模式自由
  • 支援動態查詢
  • 支援完全索引,包含內部物件
  • 支援查詢
  • 支援複製和故障恢復
  • 使用高效的二進位制資料儲存,包括大型物件(如視訊等)
  • 自動處理碎片,以支援雲端計算層次的擴充套件性
  • 支援RUBY,PYTHON,JAVA,C++,PHP等多種語言
  • 檔案儲存格式為BSON(一種JSON的擴充套件)
  • 可通過網路訪問

整體架構

內部架構

相關文章