本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
什么是亚马逊 DocumentDB(兼容 MongoDB)
Amazon DocumentDB(兼容 MongoDB)是一项快速、可靠且完全托管的数据库服务。Amazon DocumentDB 可以轻松地在云中设置、操作和扩展兼容 MongoDB 的数据库。使用 Amazon DocumentDB,您可以运行与 MongoDB 相同的应用程序代码并使用与 MongoDB 相同的驱动程序和工具。
在使用 Amazon DocumentDB 之前,您应该阅读中描述的概念和功能工作方式。之后,完成 入门指南 中的步骤。
亚马逊文档数据库概述
以下是亚马逊 DocumentDB 的一些高级功能:
-
Amazon DocumentDB 支持两种类型的集群:基于实例的集群和弹性集群。弹性集群支持每秒数百万次读取/写入和数 PB 存储容量的工作负载。有关弹性集群的更多信息,请参阅使用Amazon DocumentDB 弹性集群。以下内容涉及基于亚马逊 DocumentDB 实例的集群。
-
随着数据库存储需求的增长,Amazon DocumentDB 会自动增加存储量的大小。您的存储量以 10 GB 为增量增长,最高可达 128 TiB。您无需为了满足未来增长需求而为集群预置任何多余存储空间。
-
借助 Amazon DocumentDB,您可以通过创建多达 15 个副本实例来提高读取吞吐量以支持高容量应用程序请求。Amazon DocumentDB 副本共享相同的底层存储,从而降低了成本,无需在副本节点上执行写入操作。此功能可腾出更多处理能力来处理读取请求,并缩短副本延迟时间(通常降至个位数毫秒)。无论存储卷大小如何,您都可以在几分钟内添加副本。Amazon DocumentDB 还提供了读取器终端节点,因此应用程序无需在添加和删除副本时对其进行跟踪即可进行连接。
-
Amazon DocumentDB 允许您向上或向下扩展每个实例的计算和内存资源。计算扩展操作通常可在几分钟之内完成。
-
亚马逊 DocumentDB 在亚马逊虚拟私有云 (亚马逊 VPC) 中运行,因此您可以将数据库隔离在自己的虚拟网络中。您还可以配置防火墙设置以控制网络访问集群。
-
亚马逊 DocumentDB 会持续监控您的集群的运行状况。实例出现故障时,Amazon DocumentDB 会自动重启实例和相关进程。Amazon DocumentDB 不需要数据库重做日志的崩溃恢复重播,这大大缩短了重启时间。Amazon DocumentDB 还将数据库缓存与数据库进程隔离开来,使缓存能够在实例重启后继续运行。
-
实例出现故障时,Amazon DocumentDB 会自动故障转移到您在其他可用区创建的最多 15 个 Amazon DocumentDB 副本中的一个。如果未配置任何副本且出现故障,Amazon DocumentDB 会尝试自动创建一个新的亚马逊 DocumentDB 实例。
-
亚马逊 DocumentDB 中的备份功能启用 point-in-time 为您的集群恢复。此功能允许您将集群恢复到保留期内(最多是近 5 分钟内)任何一秒钟的状态。可将自动备份保留期配置为最长 35 天。自动备份存储在亚马逊简单存储服务 (Amazon S3) 中,该服务旨在实现 99.999999999% 的持久性。Amazon DocumentDB 备份是自动、增量和连续的,它们不会影响您的集群性能。
-
借助 Amazon DocumentDB,您可以使用自己创建和控制的密钥对数据库进行加密AWS Key Management Service(AWS KMS)。在使用 Amazon DocumentDB 加密运行的数据库集群上,静态存储在底层存储中的数据会被加密。在同一个集群中的自动备份、快照和副本也会被加密。
如果你不熟悉AWS服务,请使用以下资源了解更多信息:
-
AWS为计算、数据库、存储、分析和其他功能提供服务。有关所有内容的概述AWS服务,请参阅使用亚马逊网络服务进行云计算
。 -
AWS 提供了丰富的数据库服务。有关哪种服务最适合您的环境的指导,请参阅开启的数据库AWS
。
集群
一个聚集由 0 到 16 个实例和一个用于管理这些实例数据的集群存储卷组成。所有写入操作都通过主实例完成。所有实例(主实例和副本实例)都支持读取。集群的数据存储在集群卷中,副本存储在三个不同的可用区中。

实例
亚马逊 DocumentDB 实例是云中的隔离数据库环境。一个实例可以包含多个由用户创建的数据库。您可以使用 AWS Management Console或 AWS CLI 创建和修改实例。
实例的计算和内存容量由其决定实例类。您可以选择最能满足您需求的实例。如果一段时间后您的需求出现了变化,可以选择其他实例类。有关实例类的规格,请参阅实例类规格。
亚马逊 DocumentDB 实例仅在亚马逊 VPC 环境中运行。Amazon VPC 可让您控制自己的虚拟网络环境:您可以选择自己的 IP 地址范围、创建子网以及配置路由和访问控制列表 (ACL)。
在创建 Amazon DocumentDB 实例之前,必须先创建一个集群来容纳这些实例。
并非每个区域都支持所有实例类。下表显示了每个区域支持的实例类。
不同区域支持的实例类 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
实例类 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
区域 | R6G | R5 | R4 | T4G | T3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
美国东部(俄亥俄州) |
支持 |
支持 |
支持 |
支持 |
支持 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
美国东部(弗吉尼亚州北部) |
支持 |
支持 |
支持 |
支持 |
支持 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
美国西部(俄勒冈州) |
支持 |
支持 |
支持 |
支持 |
支持 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
南美洲(圣保罗) |
支持 |
支持 |
支持 |
支持 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
亚太地区(海得拉巴) |
支持 |
支持 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
亚太地区(孟买) |
支持 |
支持 |
支持 |
支持 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
亚太地区(首尔) |
支持 |
支持 |
支持 |
支持 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
亚太地区(悉尼) |
支持 |
支持 |
支持 |
支持 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
亚太地区(新加坡) |
支持 |
支持 |
支持 |
支持 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
亚太地区(东京) |
支持 |
支持 |
支持 |
支持 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
加拿大(中部) |
支持 |
支持 |
支持 |
支持 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
欧洲地区(法兰克福) |
支持 |
支持 |
支持 |
支持 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
欧洲地区(爱尔兰) |
支持 |
支持 |
支持 |
支持 |
支持 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
欧洲地区(伦敦) |
支持 |
支持 |
支持 |
支持 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
欧洲地区(米兰) |
支持 |
支持 |
支持 |
支持 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
欧洲地区(巴黎) |
支持 |
支持 |
支持 |
支持 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
中国(北京)区域 |
支持 |
支持 |
支持 |
支持 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
中国(宁夏) |
支持 |
支持 |
支持 |
支持 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AWS GovCloud (US) | 支持 |
支持 |
支持 |
区域和可用区
区域和可用区定义集群和实例的物理位置。
区域
AWS云计算资源存放在世界不同地区(例如北美、欧洲或亚洲)的高可用性数据中心设施中。每个数据中心位置称为一个地区。
从设计而言,每个 AWS 区域都与其他 AWS 区域完全隔离。每个区域内有多个可用区。在不同的可用区内启动节点,可以实现可能的最大容错。下图显示了操作方法的高级视图AWS区域和可用区均有效。

可用区
每个AWS区域包含多个不同的位置称为可用区。每个可用区都被设计成不受其他可用区故障的影响,并提供低价、低延迟的网络连接,以连接到同一地区的其他可用区。通过在多个可用区中启动给定集群的实例,您可以防止应用程序出现可用区故障,尽管这种情况很少发生。
亚马逊 DocumentDB 架构将存储和计算分开。在存储层方面,Amazon DocumentDB 会在三个副本中复制六个数据副本AWS可用区。例如,如果您在仅支持两个可用区的区域中启动 Amazon DocumentDB 集群,则您的数据存储将在三个可用区之间以六种方式复制,但您的计算实例只能在两个可用区中使用。
下表列出了您在给定可用区中可以使用的数量AWS 区域为您的集群配置计算实例。
区域名称 | 区域 | 可用区(计算) |
---|---|---|
美国东部(俄亥俄州) |
|
3 |
美国东部(弗吉尼亚州北部) |
|
6 |
美国西部(俄勒冈州) |
|
4 |
南美洲(圣保罗) |
|
3 |
亚太地区(海得拉巴) |
|
3 |
亚太地区(孟买) |
|
3 |
亚太地区(首尔) |
|
4 |
亚太地区(新加坡) |
|
3 |
亚太地区(悉尼) |
|
3 |
亚太地区(东京) |
|
3 |
加拿大(中部) |
|
3 |
中国(北京)区域 |
|
3 |
中国(宁夏) |
|
3 |
欧洲地区(法兰克福) |
|
3 |
欧洲地区(爱尔兰) |
|
3 |
欧洲地区(伦敦) |
|
3 |
欧洲地区(米兰) |
|
3 |
欧洲地区(巴黎) |
|
3 |
AWS GovCloud (US) |
|
3 |
亚马逊文档数据库定价
亚马逊 DocumentDB 集群按以下组件计费:
-
实例小时数(每小时)— 基于实例的实例类(例如,
db.r5.xlarge
)。定价以每小时为单位列出,但账单向下计算至秒,并以十进制形式显示时间。Amazon DocumentDB 的使用量以一秒为增量计费,最少为 10 分钟。有关更多信息,请参阅管理实例类: -
I/O 请求(每月每 100 万个请求)— 您在一个账单周期内发出的存储 I/O 请求总数。
-
备份存储(每月每 GiB)— 备份存储是与自动数据库备份和您拍摄的任何活动数据库快照相关的存储。延长备份保留期或增加快照创建数量,将增加数据库所消耗的备份存储。备份存储以 GB 月使用量为单位计量,每秒计量方式不适用。有关更多信息,请参阅在亚马逊 DocumentDB 中进行备份和恢复:
-
数据传输(每 GB)— 将数据传入和传出您的实例,或从互联网或其他网络传入或传出您的实例AWS区域。
有关详细信息,请参阅亚马逊文档数据库定价
免费试用
您可以使用 1 个月的免费试用版免费试用 Amazon DocumentDB。如需了解更多信息,请参阅中的免费试用亚马逊文档数据库定价
监控
您可以使用多种方法对实例性能和运行状况进行跟踪。你可以使用免费的亚马逊 CloudWatch 用于监控实例性能和运行状况的服务。您可以在亚马逊 DocumentDB 控制台上找到性能图表。您可以订阅 Amazon DocumentDB 事件,以便在实例、快照、参数组或安全组发生更改时收到通知。
有关更多信息,请参阅下列内容:
接口
您可以通过多种方式与亚马逊 DocumentDB 进行交互,包括AWS Management Console还有AWS CLI。
AWS Management Console
AWS Management Console是一个基于 Web 的简单用户界面。您可以从控制台中管理集群和实例,而无需进行任何编程。要访问亚马逊 DocumentDB 控制台,请登录AWS Management Console然后打开亚马逊 DocumentDB 控制台https://console.aws.amazon.com/docdb
AWS CLI
你可以使用AWS Command Line Interface(AWS CLI) 来管理您的亚马逊 DocumentDB 集群和实例。只需最少的配置,您就可以开始使用您最喜欢的终端程序中的 Amazon DocumentDB 控制台提供的所有功能。
-
要安装 AWS CLI,请参阅安装 AWS 命令行界面。
-
要开始使用AWS CLI有关亚马逊 DocumentDB 的信息,AWS亚马逊 DocumentDB 的命令行界面参考。
mongo Shell
要连接到集群以创建、读取、更新和删除数据库中的文档,可以使用mongo
带亚马逊 DocumentDB 的 s 要下载并安装mongo
4.0 外壳,请参阅步骤 4:安装 mongo 外壳。
MongoDB 驱动程序
要针对亚马逊 DocumentDB 集群开发和编写应用程序,您还可以将 MongoDB 驱动程序与亚马逊 DocumentDB 一起使用。
接下来做什么?
前面的章节向您介绍了 Amazon DocumentDB 提供的基本基础设施组件。您下一步该做什么? 根据您的情况,请参阅以下主题之一以开始使用:
-
使用创建集群和实例,开始使用 Amazon DocumentDBAWS CloudFormation Amazon DocumentDB 快速入门使用AWS CloudFormation。
-
按照我们中的说明创建集群和实例,开始使用 Amazon DocumentDB入门指南。
-
按照中的说明创建弹性集群,开始使用 Amazon DocumentDB开始使用 Azon DocuentDB 弹性集群。
-
使用以下指南将你的 MongoDB 实现迁移到亚马逊 DocumentDB迁移到Amazon DocumentDB