什么是 Amazon DocumentDB(与 MongoDB 兼容)

Amazon DocumentDB(与 MongoDB 兼容) 是一项快速、可靠且完全托管的数据库服务。Amazon DocumentDB 让用户能够在云中轻松设置、操作和扩展 MongoDB 兼容的数据库。借助 Amazon DocumentDB,您可以运行相同的应用程序代码,并使用与 MongoDB 相同的驱动程序和工具。

在使用 Amazon DocumentDB 之前,您应查看 如何使用 中所述的概念和功能。之后,完成 入门指南 中的步骤。

Amazon DocumentDB 概述

以下是 Amazon DocumentDB 的一些高级功能:

  • Amazon DocumentDB 会随着您的数据库存储需求的增长而自动提高您的存储卷大小。您的存储卷以 10 GB 为增量增加,最大可扩展到 64 TB。您无需为了满足未来增长需求而为集群预置任何多余存储空间。

  • 借助 Amazon DocumentDB,您可以通过创建最多 15 个副本实例来增加读取吞吐量以支持大量应用程序请求。Amazon DocumentDB 副本共享相同的底层存储,降低了成本并避免了在副本节点执行写入的需求。此功能将释放更多的处理能力来提供读取请求并降低副本延迟时间 — 通常可降低到几毫秒。您可以在几分钟内添加副本,而不考虑存储卷大小。Amazon DocumentDB 还提供一个读取器终端节点,应用程序可以直接连接,而不必跟踪副本的添加和删除。

  • Amazon DocumentDB 允许您为每个实例增加或减少计算和内存资源。计算扩展操作通常可在几分钟之内完成。

  • Amazon DocumentDB 在 Amazon Virtual Private Cloud (Amazon VPC) 中运行,因此您可以将数据库隔离在您自己的虚拟网络中。您还可以配置防火墙设置以控制网络访问集群。

  • Amazon DocumentDB 持续监控集群的运行状况。发生实例故障时,Amazon DocumentDB 将自动重启实例和相关进程。Amazon DocumentDB 不需要对数据库重做日志进行崩溃恢复回放,从而大大地减少了重启时间。Amazon DocumentDB 还会将数据库缓存与数据库进程隔离开来,这样缓存在实例重启时就不会丢失了。

  • 发生实例故障时,Amazon DocumentDB 自动将故障转移到最多 15 个 Amazon DocumentDB 副本中的一个,而这些副本是您在其他可用区中创建的。如果未预配置副本,当发生故障时,Amazon DocumentDB 尝试为您自动创建一个新的 Amazon DocumentDB 实例。

  • 借助 Amazon DocumentDB 的备份功能,您可以对集群进行时间点恢复。此功能允许您将集群恢复到保留期内(最多是近 5 分钟内)任何一秒钟的状态。可将自动备份保留期配置为最长 35 天。自动备份存储在 Amazon Simple Storage Service (Amazon S3) 中,该服务设计具有 99.999999999% 的耐久性。Amazon DocumentDB 备份是自动、增进式且连续的,不会对集群的性能产生任何影响。

  • 借助 Amazon DocumentDB,可让您通过 AWS Key Management Service (AWS KMS) 创建和控制的密钥加密您的数据库。在通过 Amazon DocumentDB 加密运行的数据库集群上,静态存储于底层存储的数据都将加密 在同一个集群中的自动备份、快照和副本也会被加密。

如果您是初次使用 AWS 服务,请使用以下资源了解更多信息:

  • AWS 提供针对计算、数据库、存储、分析和其他功能的服务。对于所有 AWS 服务的概述,请参阅 Amazon Web Services 的云计算

  • AWS 提供了丰富的数据库服务。有关最适合您环境的服务的指南,请参阅 AWS 上的数据库

Clusters

集群 包含 0 到 16 个实例和一个管理这些实例的数据的集群存储卷。所有写入操作都通过主实例完成。所有实例(主实例和副本实例)都支持读取。集群的数据存储在集群卷中,副本存储在三个不同的可用区中。


            集群包含可用区 a 中的主实例,写入区域 b 和 c 中副本的集群卷。

Instances

Amazon DocumentDB 实例是在云中运行的独立数据库环境。一个实例可以包含多个由用户创建的数据库。您可以使用 AWS 管理控制台或 AWS CLI 创建和修改实例。

实例的计算和内存容量由其实例类决定。您可以选择最能满足您需求的实例。如果一段时间后您的需求出现了变化,可以选择其他实例类。有关实例类的规格,请参阅实例类规格

Amazon DocumentDB 实例仅在 Amazon VPC 环境中运行。Amazon VPC 让您可以控制虚拟联网环境:您可以选择自己的 IP 地址范围、创建子网并配置路由和访问控制列表 (ACL)。

在创建 Amazon DocumentDB 实例之前,您必须创建一个集群以包含实例。

并非每个区域都支持所有实例类。下表显示了每个区域支持的实例类。

不同区域支持的实例类
实例 类
区域R5R4T3

美国东部(俄亥俄州)

支持

支持

支持

美国东部(弗吉尼亚北部)

支持

支持

支持

美国西部(俄勒冈)

支持

支持

支持

南美洲(圣保罗)

支持

支持

亚太地区(孟买)

支持

支持

亚太区域(首尔)

支持

支持

亚太区域(悉尼)

支持

支持

亚太区域(新加坡)

支持

支持

亚太区域(东京)

支持

支持

加拿大 (中部)

支持

支持

欧洲(法兰克福)

支持

支持

欧洲(爱尔兰)

支持

支持

支持

欧洲(伦敦)

支持

支持

欧洲(巴黎)

支持

支持

AWS GovCloud (US)

支持

支持

区域和可用区

区域和可用区定义集群和实例的物理位置。

Regions

AWS 云计算资源安置在世界不同地区(例如北美、欧洲或亚洲)高度可用的数据中心设施内。每个数据中心位置称为一个地区

每个 AWS 区域都被设计为与其他 AWS 区域完全隔离。每个区域内有多个可用区。通过在不同的可用区内启动节点,您可以实现可能的最大容错。下图显示了 AWS 区域和可用区如何工作的宏观视图。

什么是 Amazon DocumentDB? - 图2

可用区

每个 AWS 区域包含多个称为可用区的不同位置。每个可用区都被设计成不受其他可用区故障的影响,并提供低价、低延迟的网络连接,以连接到同一地区的其他可用区。通过在多个可用区中启动给定集群的实例,您可以防止应用程序出现可用区故障,尽管这种情况很少发生。

Amazon DocumentDB 架构将存储和计算分开。对于存储层,Amazon DocumentDB 会在三个 AWS 可用区中复制 6 个数据副本。例如,如果您在仅支持两个可用区的区域中启动 Amazon DocumentDB 集群,则系统会在三个可用区中以六种方式复制您的数据存储,但只有两个可用区中会有计算实例。

下表列出了在给定 AWS 区域中可用来为集群预配置计算实例的可用区数量。

区域名称区域可用性 区域(计算)

美国东部(俄亥俄州)

us-east-2

3

美国东部(弗吉尼亚北部)

us-east-1

6

美国西部(俄勒冈)

us-west-2

4

南美洲(圣保罗)

sa-east-1

3

亚太地区(孟买)

ap-south-1

3

亚太区域(首尔)

ap-northeast-2

4

亚太区域(新加坡)

ap-southeast-1

3

亚太区域(悉尼)

ap-southeast-2

3

亚太区域(东京)

ap-northeast-1

3

加拿大 (中部)

ca-central-1

3

欧洲(法兰克福)

eu-central-1

3

欧洲(爱尔兰)

eu-west-1

3

欧洲(伦敦)

eu-west-2

3

欧洲(巴黎)

eu-west-3

3

AWS GovCloud (US)

us-gov-west-1

3

Amazon DocumentDB 定价

Amazon DocumentDB 集群基于以下组件收费。Amazon DocumentDB 目前没有免费套餐,因此创建集群将产生费用。

  • 实例小时数(按小时) — 根据实例的实例类(例如,db.r5.xlarge)。列出的定价为每小时的定价,但账单按秒计算,并以小数形式显示时间。Amazon DocumentDB 使用量以一秒的增量进行计费,最低收取 10 分钟的费用。有关更多信息,请参阅管理实例类

  • I/O 请求数(每月每 100 万个请求) — 您在计费周期中发出的存储 I/O 请求总数。

  • 备份存储(每月每个 GiB) 备份存储是与自动数据库备份和拍摄的任何活动数据库快照关联的存储。—延长备份保留期或增加快照创建数量,将增加数据库所消耗的备份存储。备份存储以 GB 月使用量为单位计量,每秒计量方式不适用。有关更多信息,请参阅Amazon DocumentDB 中的备份和还原

  • 数据传输(GB 数) — 从 Internet 或其他 AWS 区域传入和传出实例的数据。

有关详细信息,请参阅 Amazon DocumentDB(与 MongoDB 兼容)定价

Monitoring

您可以使用多种方法对实例性能和运行状况进行跟踪。您可以使用免费的 Amazon CloudWatch 服务监控实例的性能和运行状况。您可以查找 Amazon DocumentDB 控制台上的性能图表。您可以订阅 Amazon DocumentDB 事件,以便在实例、快照、参数组或者安全组发生更改时收取通知。

有关更多信息,请参阅下列内容:

Interfaces

有多种方式可供您与 Amazon DocumentDB 进行交互,包括 AWS 管理控制台和 AWS CLI。

AWS 管理控制台

AWS 管理控制台是一个基于 Web 的简单用户界面。您可以从控制台中管理集群和实例,而无需进行任何编程。要访问 Amazon DocumentDB 控制台,请登录 AWS 管理控制台 并打开位于 https://console.aws.amazon.com/docdb 的 Amazon DocumentDB 控制台。

AWS CLI

您可以使用 AWS Command Line Interface (AWS CLI) 管理您的 Amazon DocumentDB 集群和实例。只需极少配置即可从您喜爱的终端程序开始使用 Amazon DocumentDB 控制台提供的所有功能。

mongo Shell

要连接到您的集群以创建、读取、更新和删除您的数据库中的文档,可以将 mongo shell 与 Amazon DocumentDB 结合使用。要下载并安装 mongo 4.0 shell,请参阅第4步: 安装 mongo shell

MongoDB 驱动程序

要针对 Amazon DocumentDB 集群开发和编写应用程序,您也可以将 MongoDB 驱动程序与 Amazon DocumentDB 结合使用。

接下来做什么?

前一部分为您介绍了 Amazon DocumentDB 提供的基本基础设施组件。您下一步该做什么? 根据您的情况,请参阅以下主题之一了解其用法。