在管理型 MongoDB 服務領域,瞭解相容性和功能支援的整體環境對於保持與特定廠商的獨立性至關重要。 雖然所有服務都致力於完整的 MongoDB 相容性,但實際條件約束和策略決策通常會導致選擇性功能支援, 本檔旨在揭露這些層面,使用 MongoDB Atlas 作為案例研究來說明更廣泛的產業做法,包括適用於 MongoDB 的 Azure Cosmos DB 如何處理這些挑戰。
受控 MongoDB 服務的現實
MongoDB Atlas 是否真的 MongoDB?
儘管有所察覺,但 MongoDB Atlas 缺乏完整的相容性,幾乎有近 10% 的 MongoDB 官方測試套件失敗。 不支援的功能包括:
- 系統管理命令:、、 和
setParameter
之類的logRotate
shutdown
動作會受到限制或無法使用,這會影響完全自定義及控制資料庫環境的能力。 - 訪問控制命令:限制包括不支援
createUser
、、updateUser
dropUser
用於使用者管理、createRole
updateRole
dropRole
用於角色管理,以及 ,對於grantRolesToUser
revokeRolesFromUser
許可權管理,會影響利用這些許可權的應用程式。 就像 Azure Cosmos DB 一樣,MongoDB Atlas 需要使用者利用第一方解決方案進行存取和角色管理。 - 會話和複寫命令:與會話管理相關的命令,例如
killAllSessions
和 之類的replSetReconfig
replSetInitiate
復寫組態會受到限制,這可能會影響作業彈性。 - 分區化和使用者管理:主要的分區化作業例如
sh.disableBalancing
和removeShard
,以及諸如createUser
、dropUser
等使用者/角色管理命令具有其限制。
M0、M2 和 M5 等較低層級的叢集對命令和功能有許多其他值得注意的限制。
這些限制強調重要點:受控服務,包括 MongoDB Atlas,必須平衡提供 MongoDB 功能,以確保其平台的穩定性、安全性和效能。
Azure Cosmos DB for MongoDB V 核心的方法
Azure Cosmos DB for MongoDB 會認可這些全產業的做法,並採用以客戶為中心的方法來提供支援和相容性。 我們會優先處理可提供最大價值給使用者的功能,重點在於:
- AI-First: 我們的 AI 優先方法體現在我們的 向量搜尋 功能中,由 DiskANN 提供技術支援,為產生式 AI 應用程式提供堅實的基礎,而不需要複雜且昂貴的整合。
- 效能和延展性: 提供可自定義的效能層級、與記憶體分離,以及全域散發,以符合不同的工作負載需求。 將開放原始碼的 DocumentDB 引擎(驅動服務的引擎)帶來的成本節省傳遞給客戶,以便省錢。
- 安全性與合規性: 提供進階安全性功能,例如 Private Link 和 Entra ID 整合,以確保數據保護與符合法規標準。
- 作業彈性: 支援一組廣泛的 MongoDB 功能(97 個匯總運算子%、96 個查詢/投影運算子的 96%,以及 100 個更新運算符的% 等等),同時使用 Azure 特定功能進行創新,例如 立即自動調整 來增強可用性和管理。
- 透明支持基礎結構: 不需要從第三方廠商分離複雜且昂貴的支援合約。
- 簡化的版本 適用於 MongoDB 的 Azure Cosmos DB 會針對所有伺服器版本使用統一的程式代碼基底,提供版本相依的功能,而不需要資料庫版本升級。
- 完整堆疊 SLA: 提供的 SLA 不僅涵蓋資料庫應用程式,還涵蓋其執行的計算資源和基礎設施,讓您安心無憂。
結論
在受控 MongoDB 服務空間中,由於提供受控服務所需的固有取捨,提供者無法宣告與開放原始碼 MongoDB 的絕對相容性。 適用於 MongoDB 的 Azure Cosmos DB 虛擬核心可辨識這些產業現實,並選擇專注於透明度、客戶意見反應,以及我們的服務持續演進。 藉由瞭解整個限制,客戶可以更妥善地瀏覽其選項,並選擇最符合其需求的解決方案。
適用於 MongoDB 的 Azure Cosmos DB 仍致力於提供健全、可調整且安全的平臺,以滿足新式應用程式的需求,並明確致力於根據客戶的實際使用案例進行改善。
如需適用於 MongoDB 虛擬核心的 Azure Cosmos DB 功能和相容性的詳細資訊,請瀏覽我們的 檔。