一般性问题

问:什么是 Amazon DocumentDB(兼容 MongoDB)?

Amazon DocumentDB(兼容 MongoDB)是快速、可扩展、高度可用且完全托管的文档数据库服务,支持 MongoDB 工作负载。开发人员可以使用相同的 MongoDB 应用程序代码、驱动程序和工具来运行、管理和扩展 Amazon DocumentDB 上的工作负载,并获得改进的性能、可扩展性和可用性,而无需费心管理底层基础设施。客户可以免费使用 AWS Database Migration Service (DMS)(六个月),轻松地将本地或 Amazon Elastic Compute Cloud (EC2) MongoDB 数据库迁移到 Amazon DocumentDB,并且几乎不会出现停机。使用 Amazon DocumentDB 无需前期投资,客户只需为他们使用的容量付费。

问:“兼容 MongoDB”意味着什么?

这意味着,您现已用于 MongoDB 数据库的绝大多数应用程序、驱动程序和工具都可与 Amazon DocumentDB 配合使用,只需对其进行少量更改或不需要更改。Amazon DocumentDB 通过在专门构建的、具有容错和自我修复能力的分布式存储系统上实施 Apache 2.0 开源 MongoDB 3.6 API 来模拟客户端从 MongoDB 服务器获得的响应,该存储系统为客户提供了在大规模运行关键任务型 MongoDB 工作负载时所需的性能、可扩展性和可用性。详细了解受支持的 MongoDB API

问:Amazon DocumentDB 的工作原理是什么?

Amazon DocumentDB 通过在专门构建的、具有容错和自我修复能力的分布式存储系统上实施 Apache 2.0 开源 MongoDB 3.6 API 来模拟客户端从 MongoDB 服务器获得的响应,该存储系统为客户提供了在大规模运行关键任务型 MongoDB 工作负载时所需的性能、可扩展性和可用性。

问:如何将数据从现有 MongoDB 数据库迁移到 Amazon DocumentDB?

客户可以免费使用 AWS Database Migration Service (DMS)(六个月),轻松地将本地或 Amazon Elastic Compute Cloud (EC2) MongoDB 数据库迁移到 Amazon DocumentDB,并且几乎不会出现停机。借助 DMS,您可以从 MongoDB 副本集或从分区式集群迁移到 Amazon DocumentDB。此外,您还可以使用大多数现有工具将数据从 MongoDB 数据库迁移到 AWS DocumentDB,包括 mongodump/mongorestore、mongoexport/mongoimport 以及通过操作日志为变更数据捕获提供支持的第三方工具。

问:我是否需要更改客户端驱动程序才能使用 Amazon DocumentDB?

不需要,Amazon DocumentDB 可以与大多数兼容 MongoDB 3.4+ 的 MongoDB 驱动程序配合使用。

问:如何访问我的 Amazon DocumentDB 集群?

部署在 VPC 中的 Amazon DocumentDB 集群可供部署在同一 VPC 中的 EC2 实例或其他 AWS 服务直接访问。此外,Amazon DocumentDB 还可供部署在同一区域或其他区域的不同 VPC 中的 EC2 实例或其他 AWS 服务通过 VPC 对等连接访问。您必须通过 Mongo Shell 或 MongoDB 驱动程序访问 Amazon DocumentDB 实例。Amazon DocumentDB 要求您在连接到 DocumentDB 时进行身份验证。

问:为什么使用 Amazon DocumentDB 需要 Amazon RDS 权限和资源?

对于一些管理功能,例如实例生命周期管理、使用 Amazon Key Management Service (KMS) 密钥加密静态数据和安全组管理,DocumentDB 要利用与 Amazon RDS 共享的操作技术。

问:DocumentDB 提供哪些实例类型?

请参阅我们的定价页面,了解每个区域提供的实例类型的最新信息。

问:怎样才能试用 Amazon DocumentDB?

要试用 Amazon DocumentDB,请参阅入门部分。

问:Amazon DocumentDB 是否有 SLA?

有。有关更多信息,请参阅 Amazon DocumentDB (兼容 MongoDB)服务等级协议

性能

问:Amazon DocumentDB 预计可以给我带来什么样的性能?

在写入存储时,Amazon DocumentDB 只保留预写式日志,不需要写入完整的缓冲区页面同步数据。这种优化不会影响持久性,因此 Amazon DocumentDB 的写入速度通常比传统数据库快。Amazon DocumentDB 集群可以扩展到每秒数百万次读取,最多可读取 15 个副本。

定价

问:使用 Amazon DocumentDB 需要支付多少费用?

请参阅我们的定价页面,了解最新的定价信息。

问:哪些 AWS 区域提供 Amazon DocumentDB?

请查看我们的定价页面,了解有关区域和价格的最新信息。

问:Amazon DocumentDB 是否有免费套餐?

没有,Amazon DocumentDB 没有免费套餐。

问:Amazon DocumentDB 跨三个可用区以六种方法复制存储卷的每个区块。这是否意味着我的有效存储价格将是定价页面上所示价格的三到六倍?

不是。价格中包含 Amazon DocumentDB 的存储复制功能。您将根据集群中数据的大小付费,而不会为复制的存储单独付费。

问:Amazon DocumentDB 中的 IO 是什么?它们是如何计算的?

IO 是 Amazon DocumentDB 针对基于 SSD 的虚拟化存储层执行的输入/输出操作。每个数据库页面读取操作计为一个 IO。Amazon DocumentDB 针对存储层执行读取操作,以获取不在缓冲区缓存中的页面。Amazon DocumentDB 中的每个页面大小为 8KB。

Amazon DocumentDB 旨在消除不必要的 IO 操作,以降低成本并确保资源可用于提供读/写流量。只有将预写式日志记录推送到存储层,完成持久型写入时,才消耗写入 IO。写入 IO 以 4KB 单位计算。例如,1KB 的日志记录计为一个 IO 操作。然而,当预写式日志小于 4KB 时,可由 Amazon DocumentDB 数据库引擎批量执行并发写入操作,以便优化 I/O 消耗情况。与传统的数据库引擎不同,Amazon DocumentDB 从不将修改后的数据库页面推送到存储层,进一步减少了 IO 消耗量。 

您可以在 AWS 控制台看到 Amazon DocumentDB 集群消耗的 IO 数量。要了解 IO 消耗情况,请转至控制台的 Amazon DocumentDB 部分,查看集群列表,选择 Amazon DocumentDB 集群,然后在监控部分查找“VolumeReadIOPs”和“VolumeWriteIOPs”指标。

问:每秒计费是如何运作的?

实例定价是从实例创建时间开始算起,直到实例被删除为止。实例以一秒为增量计费,最低收取 10 分钟的费用,然后提供可计费状态更改(例如创建、修改或删除实例)。

例如,如果您在下午 1:00:00 创建一个 r5.large 实例,并在下午 1:30:00 将它修改成一个 r5.xlarge 实例,然后在下午 1:50:00 删除该实例,您需要以 r5.xlarge 定价支付 1800 秒(30 分钟)的费用,并以 r5.xlarge 价格支付 1200 秒(20 分钟)的费用。如果您在下午 3:00:00 创建一个 r5.large 实例,并在下午 3:06:00 将它删除,则应该支付 10 分钟的最低费用,您将以 r5.large 定价支付 600 秒(10 分钟)的费用。

硬件、扩展和存储

问:Amazon DocumentDB 集群的最小存储限制和最大存储限制是什么?

最低存储为 10GB。根据您的集群使用情况,您的 Amazon DocumentDB 存储将以 10GB 的增量自动增长到 64TB,而不会影响性能。无需提前预置存储。

问:Amazon DocumentDB 如何扩展?

Amazon DocumentDB 在两个维度上扩展:存储和计算。DocumentDB 的存储将以 10GB 的增量从 10GB 自动增长到 64TB。Amazon DocumentDB 的计算能力可以通过创建更大的实例来纵向提高,也可以通过向集群中添加额外的副本实例(最多 15 个)来横向提高(为了获得更大的读取吞吐量)。

问:如何扩展与我的 Amazon DocumentDB 集群相关联的计算资源?

在 AWS 管理控制台中,选择所需的实例并单击“修改”按钮,即可扩展分配至实例的计算资源。您可通过更改实例类来修改内存和 CPU 资源。

修改实例类时,在指定的维护时间将应用您请求的更改。或者,您可以使用“立即应用”标记来立即应用您的扩展请求。当您执行扩展操作时,这两种选项均会造成几分钟的可用性影响。请注意,任何其他待定的系统更改也将同时应用。

问:Amazon DocumentDB 是否支持 MongoDB 分区?

不支持。Amazon DocumentDB 的分布式存储架构是一种不同于 MongoDB 分区的扩展方法。

备份与还原

问:如何为我的集群启用备份?

Amazon DocumentDB 集群上始终都会启用自动备份。您最多可以将时间点还原的备份时间延长至 35 天。备份不影响数据库性能。

问:我能否拍摄集群快照并根据需要长久保留?

可以。您可以在过了备份时间保留手动快照,而且在拍摄快照时不会影响性能。请注意,从集群快照中还原数据需要创建一个新的集群。

问:如果我的实例发生故障,应该用什么恢复路径?

Amazon DocumentDB 跨三个可用区自动维护六个数据副本,并将自动尝试在运行状况正常的可用区恢复您的实例,而不会造成数据丢失。如果您的数据在 Amazon DocumentDB 存储中可用,您可以从集群快照中进行还原或对新集群执行时间点还原操作。请注意,时间点还原操作的最迟可还原时间在过去最长可达 5 分钟。

问:如果删除集群,我的自动备份和集群快照会发生什么状况?

您可以选择在删除实例时创建最终快照。这样,您便可使用此快照稍后还原已删除的实例。在删除实例后,Amazon DocumentDB 会将这个用户创建的最终快照与所有其他手动创建的快照一起保留。删除实例后只会保留快照(即,为时间点还原创建的自动备份不会保留)。

问:如果删除账户,我的自动备份和集群快照会发生什么状况?

删除 AWS 账户将删除账户中包含的所有自动备份和快照备份。

问:我能否将快照共享给其他 AWS 账户?

可以。借助 Amazon DocumentDB,您可以创建集群快照,以便日后用于还原集群。您可以与其他 AWS 账户共享快照,并且对方可以使用您的快照来还原包含您的数据的集群。您甚至还可以将您的快照公开,这样,任何人都能还原包含您的(公开)数据的集群。您可以使用此功能在拥有不同 AWS 账户的各种环境(生产、开发/测试、模拟等)之间共享数据,也可以将所有数据的备份安全保存到一个单独的账户中,以防主 AWS 账户受到安全威胁。

问:我需要支付共享快照的费用吗?

在账户之间共享快照不需要付费。但是,您需要为快照本身以及通过共享快照还原的任何集群付费。

问:我能否自动共享快照?

我们不支持共享自动集群快照。要共享自动快照,您必须手动创建快照的副本,然后共享该副本。

问:我能否在不同区域之间共享 Amazon DocumentDB 快照?

不能。只有与共享快照的账户位于同一区域的账户才能访问您的共享 Amazon DocumentDB 快照。

问:我能否共享加密的 Amazon DocumentDB 快照?

可以。您可以共享加密的 Amazon DocumentDB 快照。共享快照的接收者必须能够访问用于加密快照的 KMS 密钥。

问:我能否在 Amazon DocumentDB 服务之外使用 Amazon DocumentDB 快照?

不能。Amazon DocumentDB 快照只能在该服务内部使用。

问:如果删除集群,我的备份会发生什么状况?

您可以选择在删除集群时创建最终快照。这样,您便可使用此快照稍后还原已删除的集群。在删除集群后,Amazon DocumentDB 会将这个用户创建的最终快照与所有其他手动创建的快照一起保留。

高可用性和复制

问:Amazon DocumentDB 如何提高我的集群对磁盘故障的容错能力?

Amazon DocumentDB 会将您的存储卷分成分散在多个磁盘上的 10GB 分段。存储卷的每个 10GB 组块都能跨三个可用区以六种方法进行复制。Amazon DocumentDB 的设计能以透明方式应对多达两个数据副本丢失的情况,而不会影响写入可用性,还能在不影响读取可用性的情况下应对多达三个副本丢失的情况。Amazon DocumentDB 的存储卷还具有自我修复能力,将持续扫描数据块和磁盘是否存在任何错误,并且自动修复。

问:Amazon DocumentDB 如何缩短数据库崩溃后的恢复时间?

与其他数据库不同的是,Amazon DocumentDB 在数据库崩溃之后不需要重放最后一个数据库检查点(通常为 5 分钟)的重做日志,且不需要在数据库可用于操作之前确认所有更改都已应用。在大多数情况下,这会将数据库的重启时间缩短到 60 秒以下。Amazon DocumentDB 会将缓存移出数据库进程,并在重启时使其立即可用。这将防止您限制访问,直到重新填充缓存以避免停止。

问:DocumentDB 支持哪些类型的副本?

Amazon DocumentDB 支持只读副本,这些副本与主实例共享相同的底层存储卷。主实例作出的更新对所有的 Amazon DocumentDB 副本可见。

功能:Amazon DocumentDB 只读副本

副本数量:最多 15 个

复制类型:异步(通常需要数毫秒)

对主实例的性能影响:低

充当故障转移目标:是(无数据丢失)

自动故障转移:是

问:我能否拥有 Amazon DocumentDB 跨区域副本?

不能,Amazon DocumentDB 不支持跨区域副本

问:我能否将特定副本指定为优先故障转移目标?

是。您可以为集群中的每个实例指定一个提升优先级分层。如果主实例发生故障,Amazon DocumentDB 会将优先级最高的副本提升为主实例。如果同一优先级分层中的两个或更多副本出现不一致,Amazon DocumentDB 将提升大小与主实例相同的副本。

问:我能否在实例创建完成后修改优先级分层?

您随时可以修改实例的优先级分层。只是修改优先级分层并不会触发故障转移。

问:我能否阻止特定副本被提升为主实例?

如果您不希望副本被提升为主实例,则可为其指定较低的优先级分层。不过,如果集群上优先级较高的副本因为某些原因无法运行或使用,那么 Amazon DocumentDB 将提升优先级较低的副本。

问:Amazon DocumentDB 如何确保集群的高可用性?

Amazon DocumentDB 可以通过将多个 AWS 可用区中的副本实例用作故障转移目标来采用高可用性配置进行部署。如果主实例发生故障,副本实例将在尽可能不中断服务的情况下被自动提升为新的主实例。

问:如何提高单个 Amazon DocumentDB 实例的可用性?

您可以添加额外的 Amazon DocumentDB 副本。Amazon DocumentDB 副本与主实例共享同一个底层存储。任何 Amazon DocumentDB 副本都能在不丢失任何数据的情况下被提升为主实例,因此可以用于在主实例发生故障时提高容错能力。要提高集群可用性,只需在多个可用区中创建 1 到 15 个副本,且 Amazon RDS 会在实例发生故障时自动将其纳入故障转移主选择中。

问:执行故障转移时会发生什么状况?这种情况会持续多长时间?

Amazon DocumentDB 会自动处理故障转移,以便您的应用程序可以尽快恢复数据库操作,而无需人工管理干预。

  • 如果您在相同或不同的可用区中有 Amazon DocumentDB 副本,当进行故障转移时,Amazon DocumentDB 会翻转您的集群终端节点的别名记录 (CNAME),以指向运行状态正常的副本;相应地,此副本会晋升为新的主实例。从开始到结束,故障转移通常会在 30 秒内完成。此外,只读副本终端节点不要求在故障转移期间进行任何 CNAME 更新。
  • 如果您没有 Amazon DocumentDB 副本(即单个实例),Amazon DocumentDB 首先将尝试在与原实例相同的可用区中创建新实例。如果此操作无法执行,Amazon DocumentDB 将尝试在不同的可用区中创建新实例。从开始到结束,故障转移通常会在 15 分钟内完成。

您的应用程序应在连接中断时重新尝试发出请求。

问:如果我的主实例和 Amazon DocumentDB 副本实例积极获取读取流量且发生故障转移,会发生什么状况?

Amazon DocumentDB 将自动检测您的主实例发生的问题,并开始将您的读取/写入流量路由到 Amazon DocumentDB 副本实例。平均来说,此故障转移将在 30 秒内完成。此外,您的 Amazon DocumentDB 副本实例提供的读取流量将短暂中断。

问:我的副本将落后主实例多久?

Amazon DocumentDB 副本与主实例共享同一个数据卷,因此几乎没有复制滞后。据我们观察,滞后时间一般在 10 毫秒内。

安全性与合规性

问:我能否在 Amazon Virtual Private Cloud (Amazon VPC) 中使用 Amazon DocumentDB?

可以。 所有 Amazon DocumentDB 实例都必须在 VPC 中创建。借助 Amazon VPC,您可以定义一个与自己数据中心内运行的传统网络非常相似的虚拟网络拓扑。这样一来,您便可完全控制谁能访问您的 Amazon DocumentDB 实例。

问:现有 MongoDB 身份验证模式如何与 Amazon DocumentDB 配合使用?

Amazon DocumentDB 利用了 VPC 严格的网络和授权边界。Amazon DocumentDB 管理 API 的身份验证和授权由 IAM 用户、角色和策略提供。对 Amazon DocumentDB 数据库的身份验证是使用 Salted Challenge Response Authentication Mechanism (SCRAM) 通过标准的 MongoDB 工具和驱动程序完成的,这是 MongoDB 的默认身份验证机制。

问:Amazon DocumentDB 是否支持加密静态数据?

Amazon DocumentDB 还支持您使用通过 AWS Key Management Service (KMS) 管理的密钥来加密集群。在通过 Amazon DocumentDB 加密运行的数据库实例上,静态存储于底层存储的数据都将加密,同一集群的自动备份、快照和副本也是如此。加密和解密操作的处理都是无缝的。有关将 KMS 与 Amazon DocumentDB 配合使用的更多信息,请参阅《Amazon DocumentDB 用户指南》。

问:我能否加密现有的未加密集群?

目前不支持加密现有的未加密 DocumentDB 集群。要将 Amazon DocumentDB 加密用于现有的未加密集群,请在启用加密的情况下创建新集群,并将您的数据迁移到该集群中。

问:Amazon DocumentDB 支持哪些合规性认证?

Amazon DocumentDB 的设计目标是满足最高安全标准,并方便您验证我们的安全性以及履行您自己的法规和合规义务。Amazon DocumentDB 已经过评估,除了符合 HIPAA 以外,它还符合 PCI DSSISO 9001270012701727018SOC 1、2 和 3。AWS 合规报告可在 AWS Artifact 下载。

Product-Page_Standard-Icons_01_Product-Features_SqInk
了解有关定价的更多信息

访问 Amazon DocumentDB(兼容 MongoDB)定价页面。

了解更多 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
注册免费账户

立即享受 AWS 免费套餐。 

注册 
Product-Page_Standard-Icons_03_Start-Building_SqInk
开始在控制台中构建

在 AWS 控制台中开始使用 Amazon DocumentDB(兼容 MongoDB)进行构建。

登录