发布于: Nov 9, 2020

Amazon DocumentDB(兼容 MongoDB)是一项快速、可扩展、高度可用且完全托管的文档数据库服务,支持 MongoDB 工作负载。Amazon DocumentDB 使得存储、查询和索引 JSON 数据变得简单直观。

Amazon DocumentDB 继续提高与 MongoDB 的兼容性,并且现在增加了对 MongoDB 4.0 兼容性的支持,包括 ACID 事务处理。借助对 MongoDB 4.0 兼容性的支持,您现在可以将 MongoDB 4.0 工作负载迁移到 Amazon DocumentDB,并使用您目前已在 MongoDB 4.0 数据库中使用的相同应用程序、驱动程序和工具,几乎没有变化或完全没有变化。

以下是 Amazon DocumentDB 4.0 中推出的一些主要特性和功能:

  • ACID 事务处理 – Amazon DocumentDB 现在支持跨多个文档、语句、集合和数据库执行事务处理。事务处理通过使您能够在 Amazon DocumentDB 集群内的一个或多个文档中执行 ACID 操作,简化了应用程序开发。
  • 变更流 – 现在,您可以在集群级别 (client.watch() 或 mongo.watch()) 和数据库级别 (db.watch()) 打开变更流。您还可以指定 startAtOperationTime 以打开变更流光标,并将变更流保留期延长到 7 天(以前限制为 24 小时)。
  • AWS DMS – 您现在可以使用 AWS Database Migration Service (AWS DMS) 将 MongoDB 4.0 工作负载迁移到 Amazon DocumentDB。AWS DMS 现在支持 MongoDB 4.0 源、Amazon DocumentDB 4.0 目标和 Amazon DocumentDB 3.6 源,以便在 Amazon DocumentDB 3.6 和 4.0 之间执行升级。
  • 监控 – 添加事物处理后,除了 currentOp、ServerStatus 和 Profiler 中的新字段外,您现在可以使用五个新的 Amazon CloudWatch 指标监控您的事物处理使用情况:TransactionsOpen、TransactionsOpenMax、TransactionsAborted、TransactionsStarted 和 TransactionsCommitted。
  • 性能和索引 – 此版本包括多项性能和索引改进:能够在 $lookup 聚合阶段使用索引、可从索引(涵盖查询)向带有投影的 find() 查询提供方向、能够在 findAndModify API 中使用 hint()、$addToSet 运算符的性能优化以及各项改进,从而减少总体索引大小。
  • 运算符 – 我们增加了对新聚合运算符的支持:$ifNull、$replaceRoot、$setIsSubset、$setInstersection、$setUnion 和 $setEquals。 
  • 基于角色的访问控制 (RBAC) – 使用 ListCollection 和 ListDatabase 命令,现在可以选择使用 authorizedCollections 和 authorizedDatabases 参数,以允许用户列出他们有权访问的集合和数据库,而不需要分别具有 listCollections 和 listDatabase 角色。用户也可以结束自己的光标,而无需 KillCursor 角色。

有关 Amazon DocumentDB 4.0 和事务处理的更多信息,请参阅 Introducing MongoDB 4.0 compatibility and Transactions in Amazon DocumentDB

要了解有关 Amazon DocumentDB 的更多信息,请参阅产品页面文档。要开始使用 Amazon DocumentDB,请参阅以下教程