MongoDB 支持多种部署环境,以满足不同的运行、可扩展性和管理要求。在安装或预配 MongoDB 之前,请选择最适合您使用案例的部署环境。
托管云数据库及相关数据库服务。 如果您想要最低的运行开销,或您需要仅限于 Atlas 的功能(如自动伸缩、Stream Processing、联合查询、层级备份存储或内置数据可视化),请选择 MongoDB Atlas。 当自管理、本地部署或私有/混合云部署是刚性要求时,这种方式就不太理想。 | |
可用于生产的自管理部署,提供企业工具,可在自动化与对基础设施的控制之间取得平衡。 如果您需要在本地部署、私有云或混合环境中运行 MongoDB,或者在自管理环境中需要企业级安全控制、运行工具或 24/7 支持,请选择 MongoDB Enterprise。 当您希望MongoDB为您提供端到端服务时,这种方式并不理想。 | |
可直接安装在基础设施上或在容器中运行以进行本地开发的自管理部署。 在构建本地开发环境、原型创建、学习MongoDB 或在自管理设置中测试时,请选择MongoDB Community。 当您需要企业运营工具、商业支持或 Atlas 审核和 Kerberos 身份验证等功能时,这种方式并不理想。 |
MongoDB Atlas
MongoDB Atlas 是一种完全托管的数据库服务,可在云中运行 MongoDB,处理预配、扩展、备份、监控和升级等运行任务。
当组织希望将数据库操作作为服务处理时,会选择MongoDB Atlas。这使团队和资源能够专注于产品和功能,而非数据库管理。
environment | 说明 |
|---|---|
本地部署: | MongoDB Atlas 可通过在 Docker 或 Podman 容器中运行的单节点 Atlas 实例在本地计算机上使用。 如果您想使用 Atlas 功能来构建和测试应用程序,但又不想支付远程集群的费用,则可以选择本地部署。 当您需要生产环境就绪的基础设施时,这种方式并不理想,因为本地部署只运行单个节点,不适合生产工作负载。 |
MongoDB Atlas可通过Web用户界面、CLI和API在MongoDB托管云基础设施上进行云部署。这些接口使团队能够直接按需控制集群预配、配置和管理。 当团队不使用现有的 Infrastructure as Code 管道或需要为临时或特殊使用案例预配集群时,请选择云部署。 当您需要在多个环境中使用一致、可重复的基础设施配置时,这种方法并不理想。 | |
MongoDB Atlas可在基础架构即代码 (IaC) 平台上使用,在该平台上,集群配置、访问权限控制和扩展策略都在代码中定义,并通过现有的 CI/CD管道进行部署。 当您需要在开发、预发布环境和生产环境中使用相同的、版本控制的配置时,请选择 IaC 部署。 当团队不维护 Infrastructure as Code 管道或需要为临时或特定使用案例预配集群时,这种方法并不理想。 | |
Kubernetes 部署: | MongoDB Atlas 可通过 Atlas Kubernetes Operator (AKO) 在 Kubernetes 上使用,AKO 可将 Atlas 集群和数据库用户作为 Kubernetes 自定义资源托管。 如果您的团队已经运行 Kubernetes 集群,并希望将 Atlas 资源与其他工作负载一起管理,请选择 Kubernetes 部署。 如果您的团队不使用 Kubernetes 或偏爱更简单的预配接口,则这种方法不是最理想的方法。 |
MongoDB Enterprise
MongoDB Enterprise 提供可用于生产环境的自管理部署,并提供多种工具选择,可在自动化与对基础设施的控制之间取得平衡。
当组织需要在支持自动化部署、监控和备份的本地部署或混合环境中自管理 MongoDB 时,或当他们需要企业级安全功能(如 Kerberos 和 LDAP 身份验证、可查询和静态加密以及符合 NIST 规范的 Atlas 审核)时,会选择 MongoDB Enterprise。
environment | 说明 |
|---|---|
本地部署: | MongoDB Enterprise 可作为 Docker 或 Podman 容器形象用于本地开发和测试。 选择本地部署,可以在不预配完整服务器环境的情况下,针对企业特定功能开发和测试应用程序。 当您需要生产环境就绪的基础设施或用于自动备份、监控和扩展的MongoDB Ops Manager集成时,这种方式并不理想。 |
Kubernetes 部署: | MongoDB Enterprise 可通过 MongoDB Controllers for Kubernetes (MCK) 操作符在 Kubernetes 上使用,该操作符将 MongoDB 拓扑结构作为 Kubernetes 自定义资源托管。 当团队已经运行 Kubernetes 集群并希望集成 MongoDB 而无需维护单独的自动化层时,请选择 Kubernetes 部署。 如果团队不使用 Kubernetes 或倾向在传统服务器基础架构上管理 MongoDB,则效果不太理想。 |
MongoDB Ops Manager 部署: | MongoDB Enterprise 可通过 MongoDB Ops Manager 获取,MongoDB Ops Manager 可作为控制平面,对集群进行预配、升级、备份和配置管理。 在管理大量 MongoDB Enterprise 集群、在受监管的环境中运行或使用已建立的基于 VM 的操作时,请选择 MongoDB Ops Manager 部署。 当您管理小型部署或偏爱基础设施即代码工具而非集中式管理界面时,这种方式并不理想。 |
手动安装: | MongoDB Enterprise 可通过平台原生包或二进制存档在服务器上手动安装,从而可以完全控制配置和操作。 如果您需要完全控制 MongoDB 配置、在隔离网络环境中运行或通过 Ansible 或 Puppet 等现有工具驱动基础设施,请选择手动安装。 当您需要对多台服务器进行预配、升级、监控或备份的集中式自动化时,这种方式并不理想。 |
MongoDB Community
MongoDB Community 是一个自管理服务器,可以将其直接安装在基础设施上,也可以在 Linux、macOS 和 Windows 上作为 Docker 容器运行。
MongoDB Community 是开始使用 MongoDB 的最快捷方式。它是免费的,无需订阅,是本地开发、测试、原型创建和学习的自然选择。
需要生产级操作工具、企业级安全控制或 24/7 支持的组织应考虑 MongoDB Enterprise 或 MongoDB Atlas。
environment | 说明 |
|---|---|
本地部署: | MongoDB Community 可作为 Docker 或 Podman 容器形象用于本地开发、测试和 CI 管道。 选择本地部署以针对 MongoDB Community 实例开发和测试应用程序,或针对需要轻量、隔离的 MongoDB 实例的 CI 管道。 当您需要生产环境就绪的基础设施时,这种情况并不理想,因为本地部署缺乏监控、备份和扩展工具。 |
手动安装: | MongoDB Community 可通过平台原生包或二进制存档在服务器上手动安装,从而可以完全控制配置和操作。 当您需要在传统基础设施上使用自管理 MongoDB 服务器或通过 Ansible 或 Puppet 等现有工具推动部署时,请选择手动安装。 当您需要自动预配、监控或备份而不需要自己管理时,这种方法并不理想。 |