AWS最近推出了新服务DocumentDB,它与MongoDB接口类似。
AWS DynamoDB和DocumentDB服务有什么区别?
AWS最近推出了新服务DocumentDB,它与MongoDB接口类似。
AWS DynamoDB和DocumentDB服务有什么区别?
主要区别在于DocumentDB是MongoDB和DynamoDB之间的中间步骤。
DynamoDB是一个完全托管的可扩展服务,您可以设置其潜力的上限。
DocumentDB需要稍微更多的操作,您需要为群集选择实例数量和实例大小。这意味着您需要关注它们的使用/性能,但不会像MongoDB那样频繁。
MongoDB可能是最灵活的,但也需要最多的维护。
所有都取决于应用程序的性能,但取决于您希望多灵活以换取更多维护所花费的成本。
另一个因素是定价模型。MongoDB(Atlas)和DocumentDB都按小时付费(DocumentDB还包括使用)。DynamoDB可以基于预配资源或按需付费(按使用量付费)。
编辑:我根据我对这三个服务的经验编写了一篇更详尽的文章: https://medium.com/@caseygibson_42696/difference-between-aws-dynamodb-vs-aws-documentdb-vs-mongodb-9cb026a94767
一些关键差异
Amazon DynamoDB 是一种全托管的 NoSQL 数据库服务,提供快速和可预测的性能和可扩展性。您可以使用 Amazon DynamoDB 创建一个数据库表,用于存储和检索任意量的数据,并支持任何级别的请求流量。
Document DB 基于开源文档数据库 MongoDB 和领先的 NoSQL 数据库而设计。Document DB 建立在开源 MongoDB 基础上,是一种专为开发和扩展设计的文档数据库。
DynamoDB 使用表、项目和属性作为核心组件来处理数据。表是项目的集合,每个项目都是属性的集合。DynamoDB 使用主键来唯一标识表中的每个项目,使用辅助索引来提供更灵活的查询功能。
MongoDB/Document DB 使用类 JSON 的文档来存储无模式数据。在 Document DB 中,文档集合不需要预定义的结构,不同文档的列可以有所不同。Document DB 具有许多关系型数据库的特征,包括表达性强的查询语言和强一致性。由于没有模式,MongoDB/Document DB 允许您创建文档而无需事先创建文档结构。
MongoDB/Document DB更加偏好索引。如果缺少索引,查询请求需要搜索集合中的每个文档以选择所需的文档。这可能会减慢读取时间。
总之,如果您需要实时分析的可扩展性和缓存,则Document DB可能是一个不错的选择;然而,它并不适用于事务性数据(会计系统等)。Document DB可用于移动应用程序、内容管理、实时分析和物联网应用程序。如果您的情况没有明确定义的模式定义,则DocumentDB可能是一个不错的选择。