云数据库

从在云虚拟机 (VM) 上运行的传统数据库到完全托管的 NoSQL 数据库即服务 (DBaaS),云数据库正在改变应用程序的开发过程。

什么是云数据库?

“云数据库”可以是两种不同形式之一:在云虚拟机(公有云,私有云或混合云平台)上安装并运行的传统数据库或 NoSQL 数据库,或者云提供商的完全托管数据库即服务(DBaaS) 产品。前者在云环境中运行自身的自管理数据库,实际上与操作传统数据库没有什么不同。另一方面,Cloud DBaaS 是自然的数据库等效软件即服务 (SaaS):即用即付,仅按使用方式付费,系统可处理预配和扩展的所有细节以满足需求,同时保持一致的高性能。

云数据库选项

Traditional database running on cloud virtual machine (VM)

Fully managed database-as-a-service

在大多数情况下(以及该页面的其余大部分内容),术语“云数据库”是指基于云的数据库即服务(DBaaS)。

为什么要使用云数据库/DBaaS?

易于访问和敏捷性

无论您的团队已经在基于云基础架构开发软件,还是在将旧版应用迁移到云的过程中,云原生数据库产品都在变得越来越受欢迎。

现代数据库即服务平台可通过一致的 API 和驱动程序轻松(但受控)从云和非云系统访问,从而简化了对关键资源的访问。集中且易于访问的数据库在资源微服务架构方面尤其有益,因为许多应用程序需要访问和共享数据。

尽管在许多情况下都可以使用云 SQL 数据库,但是当今的云 NoSQL 数据库的灵活性极大地提高了数据管理和软件开发方面的敏捷性。无需停机即可进行系统升级、重新平衡集群或配置更快的硬件,甚至无需更改架构和结构。

如果您认为 NoSQL 意味着无法控制数据质量,则可能您需要获悉 MongoDB 如何在不牺牲文档模型最终灵活性的情况下提供结构性保证。

可扩展性和性能

数据管理系统的真正考验是它如何适应高负载。

无论哪种数据库技术最适合您,云数据库服务借助其一致的性能特征,通常用于自动纵向扩展以适应数据增长,并横向扩展以处理负载。良好的数据库即服务会自动提醒您无法自动调整的内容,以便您优化索引和访问模式以实现性能目标。

使用完全托管的云数据库通常比维护自己的数据库成本更低,而且所需的人工更少,因此您和您的团队可以专注于交付价值

可靠性和灾难恢复

这与使关键任务数据库脱机几乎没有什么不同,除了丢失其中的所有数据外。

通常,默认情况下,系统会复制并备份云数据库,因此,单点故障都不会使您的应用程序脱机,并且通过定期的自动备份和灾难恢复可以缓解灾难性事件。

系统会对 MongoDB 云数据库 MongoDB Atlas 自动复制和实时备份,从而可以进行给定时间点恢复,为您提供额外保护。

无论您的团队已经在基于云基础架构开发软件,还是在将旧版应用迁移到云的过程中,云原生数据库产品都在变得越来越受欢迎。

现代数据库即服务平台可通过一致的 API 和驱动程序轻松(但受控)从云和非云系统访问,从而简化了对关键资源的访问。集中且易于访问的数据库在资源微服务架构方面尤其有益,因为许多应用程序需要访问和共享数据。

尽管在许多情况下都可以使用云 SQL 数据库,但是当今的云 NoSQL 数据库的灵活性极大地提高了数据管理和软件开发方面的敏捷性。无需停机即可进行系统升级、重新平衡集群或配置更快的硬件,甚至无需更改架构和结构。

如果您认为 NoSQL 意味着无法控制数据质量,则可能您需要获悉 MongoDB 如何在不牺牲文档模型最终灵活性的情况下提供结构性保证。

数据管理系统的真正考验是它如何适应高负载。

无论哪种数据库技术最适合您,云数据库服务借助其一致的性能特征,通常用于自动纵向扩展以适应数据增长,并横向扩展以处理负载。良好的数据库即服务会自动提醒您无法自动调整的内容,以便您优化索引和访问模式以实现性能目标。

使用完全托管的云数据库通常比维护自己的数据库成本更低,而且所需的人工更少,因此您和您的团队可以专注于交付价值

这与使关键任务数据库脱机几乎没有什么不同,除了丢失其中的所有数据外。

通常,默认情况下,系统会复制并备份云数据库,因此,单点故障都不会使您的应用程序脱机,并且通过定期的自动备份和灾难恢复可以缓解灾难性事件。

系统会对 MongoDB 云数据库 MongoDB Atlas 自动复制和实时备份,从而可以进行给定时间点恢复,为您提供额外保护。

常用的云数据库用例

在大多数情况下,云数据库都可以像传统数据库那样运行。构建以下软件产品时,它们尤为有用:

Are cloud-native

Require large volume of data

Need to handle high scale traffic

Are distributed geographically

利用集中化优势的数据应用程序(例如传统应用现代化和分析)也是云数据库使用的绝佳选择。

尽管某些使用案例更适合使用云数据库,但在完全托管的范式中,较为传统的使用案例(如实时在线事务处理、缓存或数据仓库)也可以正常运行。

Real-time transaction processing

Legacy database migration

Mobile application development

Internet of Things

Caching

Analytics

云数据库注意事项

无论您仍然在考虑云数据库是否适合您,还是正在选择满足您需求的理想数据库即服务,都需要考虑以下几个关键因素:

云数据库提供商

尽管某些云数据库在所有云提供商上都可用(MongoDB Atlas 可在任何主要的公有云提供商上运行),但其他云数据库仍特定于一个提供商(例如Google 上的 Cloud Bigtable,或 Amazon Web Services上的 RDS)。

如果您依据现有占地面积、兼容性要求或现有关系决定您的云提供商,那么您的选择将是云虚拟机上的自管理数据库,或者在该云提供商上的或由其提供数据库即服务产品。

其他策略,例如 多云混合云可能表明您利用多个公有云和私有云,这会将数据库选择范围缩小到跨提供商和/或内部部署的产品。

  • 平台锁定。

  • 技术要求。

  • 云提供商策略。

数据库技术

您可能正在寻找与 SQL 系统兼容的产品,以便与现有系统、流程或技能集配合使用,或许您对针对系统需求量身定制的 NoSQL 产品更感兴趣。 有些情况下,团队技术堆栈中的其他选择(例如编程语言)会导致一种或另一种数据库技术更合适,因此您应仔细研究给定提供商或平台是否适合您的开发流程。

  • 是否兼容?

  • 是否可移植?

  • 它适合我的用例吗?

管理系统

您是否有人员和技能集来亲自管理正确的数据库技术?如有,则云虚拟机上的“自管理”数据库非常适合您。但即便如此,您仍应考虑完全托管的 DBaaS 平台,这些平台可以为您接管大部分管理负载,并可以让您的团队腾出时间来进行更高级的项目。

  • 虚拟机与 DBaaS

  • 性能/SLA

  • 可扩展性/增长开销

  • 监控

成本模型

云数据库的另一个益处是转向基于使用情况或基于消耗量的定价。这意味着您可以从小规模开始并根据需要增加,而不是在甚至不知道最终资源需求之前就进行先期投资。

  • 基于虚拟机、基于许可证或基于使用情况

  • 将定价模型与业务模型匹配

安全性

数据泄露的成本仍在上升,监管审查力度空前高涨。托管云数据库采用了分层的安全最佳实践,可自动使系统保持最新状态,并利用广泛的专业知识来实施最安全的配置。为什么全部都要亲力亲为?

  • 访问控制和审核

  • 托管的分层安全最佳实践

附加功能

如今的云数据库即服务产品带来的不仅仅是数据库本身。例如,MongoDB Atlas 包括与 SQL 兼容的连接器、集成的图表和图形,以及支持利用触发器和无服务器计算来构建数据驱动型工作流的工具等。

  • 分析

  • 连接器

  • 报告

  • 审核

  • 触发器和处理

尽管某些云数据库在所有云提供商上都可用(MongoDB Atlas 可在任何主要的公有云提供商上运行),但其他云数据库仍特定于一个提供商(例如Google 上的 Cloud Bigtable,或 Amazon Web Services上的 RDS)。

如果您依据现有占地面积、兼容性要求或现有关系决定您的云提供商,那么您的选择将是云虚拟机上的自管理数据库,或者在该云提供商上的或由其提供数据库即服务产品。

其他策略,例如 多云混合云可能表明您利用多个公有云和私有云,这会将数据库选择范围缩小到跨提供商和/或内部部署的产品。

  • 平台锁定。

  • 技术要求。

  • 云提供商策略。

您可能正在寻找与 SQL 系统兼容的产品,以便与现有系统、流程或技能集配合使用,或许您对针对系统需求量身定制的 NoSQL 产品更感兴趣。 有些情况下,团队技术堆栈中的其他选择(例如编程语言)会导致一种或另一种数据库技术更合适,因此您应仔细研究给定提供商或平台是否适合您的开发流程。

  • 是否兼容?

  • 是否可移植?

  • 它适合我的用例吗?

您是否有人员和技能集来亲自管理正确的数据库技术?如有,则云虚拟机上的“自管理”数据库非常适合您。但即便如此,您仍应考虑完全托管的 DBaaS 平台,这些平台可以为您接管大部分管理负载,并可以让您的团队腾出时间来进行更高级的项目。

  • 虚拟机与 DBaaS

  • 性能/SLA

  • 可扩展性/增长开销

  • 监控

云数据库的另一个益处是转向基于使用情况或基于消耗量的定价。这意味着您可以从小规模开始并根据需要增加,而不是在甚至不知道最终资源需求之前就进行先期投资。

  • 基于虚拟机、基于许可证或基于使用情况

  • 将定价模型与业务模型匹配

数据泄露的成本仍在上升,监管审查力度空前高涨。托管云数据库采用了分层的安全最佳实践,可自动使系统保持最新状态,并利用广泛的专业知识来实施最安全的配置。为什么全部都要亲力亲为?

  • 访问控制和审核

  • 托管的分层安全最佳实践

如今的云数据库即服务产品带来的不仅仅是数据库本身。例如,MongoDB Atlas 包括与 SQL 兼容的连接器、集成的图表和图形,以及支持利用触发器和无服务器计算来构建数据驱动型工作流的工具等。

  • 分析

  • 连接器

  • 报告

  • 审核

  • 触发器和处理

MongoDB Atlas 云数据库

MongoDB 可以作为自管理数据库集群或虚拟机安装并运行在任何云供应商或本地网络上,也可以使用我们的云数据库即服务 (DBaaS) 产品 - MongoDB Atlas 在 AWS、GCP 或 Azure 上运行。采用 DBaaS 选项的主要益处有:

Simplified management

Elastic autoscaling

Redundancy, backup, and restore

Charts

Connectors

Schema navigator

MongoDB Atlas 是 MongoDB 更广泛的数据即服务 (DaaS) 开发平台的一部分,是管理您自己的 NoSQL 数据库或传统数据库,或使用特定于云提供商的托管产品的强大而引人注目的替代方案。

云数据库的工作方式是,无需安装、配置和维护一个或多个数据库实例,而是可以一个为您提供、管理和扩展基础数据库集群的自动化系统。

完全托管的数据库服务可处理维护始终可用的高性能集群复杂过程,这样,开发者可以将其作为简单的全局可用资源进行访问。

您可以将集群视为单个数据库实例,属于基于使用情况的透明定价模型,因此您不必担心配置过多或配置不足。