在大多数情况下(以及该页面的其余大部分内容),术语“云数据库”是指基于云的数据库即服务(DBaaS)。
无论您的团队已经在基于云基础架构开发软件,还是在将旧版应用迁移到云的过程中,云原生数据库产品都在变得越来越受欢迎。
现代数据库即服务平台可通过一致的 API 和驱动程序轻松(但受控)从云和非云系统访问,从而简化了对关键资源的访问。集中且易于访问的数据库在资源微服务架构方面尤其有益,因为许多应用程序需要访问和共享数据。
尽管在许多情况下都可以使用云 SQL 数据库,但是当今的云 NoSQL 数据库的灵活性极大地提高了数据管理和软件开发方面的敏捷性。无需停机即可进行系统升级、重新平衡集群或配置更快的硬件,甚至无需更改架构和结构。
如果您认为 NoSQL 意味着无法控制数据质量,则可能您需要获悉 MongoDB 如何在不牺牲文档模型最终灵活性的情况下提供结构性保证。
数据管理系统的真正考验是它如何适应高负载。
无论哪种数据库技术最适合您,云数据库服务借助其一致的性能特征,通常用于自动纵向扩展以适应数据增长,并横向扩展以处理负载。良好的数据库即服务会自动提醒您无法自动调整的内容,以便您优化索引和访问模式以实现性能目标。
使用完全托管的云数据库通常比维护自己的数据库成本更低,而且所需的人工更少,因此您和您的团队可以专注于交付价值。
这与使关键任务数据库脱机几乎没有什么不同,除了丢失其中的所有数据外。
通常,默认情况下,系统会复制并备份云数据库,因此,单点故障都不会使您的应用程序脱机,并且通过定期的自动备份和灾难恢复可以缓解灾难性事件。
系统会对 MongoDB 云数据库 MongoDB Atlas 自动复制和实时备份,从而可以进行给定时间点恢复,为您提供额外保护。
在大多数情况下,云数据库都可以像传统数据库那样运行。构建以下软件产品时,它们尤为有用:
利用集中化优势的数据应用程序(例如传统应用现代化和分析)也是云数据库使用的绝佳选择。
尽管某些使用案例更适合使用云数据库,但在完全托管的范式中,较为传统的使用案例(如实时在线事务处理、缓存或数据仓库)也可以正常运行。
无论您仍然在考虑云数据库是否适合您,还是正在选择满足您需求的理想数据库即服务,都需要考虑以下几个关键因素:
您可能正在寻找与 SQL 系统兼容的产品,以便与现有系统、流程或技能集配合使用,或许您对针对系统需求量身定制的 NoSQL 产品更感兴趣。 有些情况下,团队技术堆栈中的其他选择(例如编程语言)会导致一种或另一种数据库技术更合适,因此您应仔细研究给定提供商或平台是否适合您的开发流程。
是否兼容?
是否可移植?
它适合我的用例吗?
您是否有人员和技能集来亲自管理正确的数据库技术?如有,则云虚拟机上的“自管理”数据库非常适合您。但即便如此,您仍应考虑完全托管的 DBaaS 平台,这些平台可以为您接管大部分管理负载,并可以让您的团队腾出时间来进行更高级的项目。
虚拟机与 DBaaS
性能/SLA
可扩展性/增长开销
监控
云数据库的另一个益处是转向基于使用情况或基于消耗量的定价。这意味着您可以从小规模开始并根据需要增加,而不是在甚至不知道最终资源需求之前就进行先期投资。
基于虚拟机、基于许可证或基于使用情况
将定价模型与业务模型匹配
数据泄露的成本仍在上升,监管审查力度空前高涨。托管云数据库采用了分层的安全最佳实践,可自动使系统保持最新状态,并利用广泛的专业知识来实施最安全的配置。为什么全部都要亲力亲为?
访问控制和审核
托管的分层安全最佳实践
如今的云数据库即服务产品带来的不仅仅是数据库本身。例如,MongoDB Atlas 包括与 SQL 兼容的连接器、集成的图表和图形,以及支持利用触发器和无服务器计算来构建数据驱动型工作流的工具等。
分析
连接器
报告
审核
触发器和处理
MongoDB 可以作为自管理数据库集群或虚拟机安装并运行在任何云供应商或本地网络上,也可以使用我们的云数据库即服务 (DBaaS) 产品 - MongoDB Atlas 在 AWS、GCP 或 Azure 上运行。采用 DBaaS 选项的主要益处有:
MongoDB Atlas 是 MongoDB 更广泛的数据即服务 (DaaS) 开发平台的一部分,是管理您自己的 NoSQL 数据库或传统数据库,或使用特定于云提供商的托管产品的强大而引人注目的替代方案。
云数据库的工作方式是,无需安装、配置和维护一个或多个数据库实例,而是可以一个为您提供、管理和扩展基础数据库集群的自动化系统。
完全托管的数据库服务可处理维护始终可用的高性能集群复杂过程,这样,开发者可以将其作为简单的全局可用资源进行访问。
您可以将集群视为单个数据库实例,属于基于使用情况的透明定价模型,因此您不必担心配置过多或配置不足。