我对Amazon SimpleDB有一些基本的了解,但根据Amazon DynamoDB的描述,它似乎几乎是一样的:一个NoSQL键值存储服务。
谁能简单地解释一下它们之间的主要区别,并告诉在哪些情况下应该选择一个而不是另一个?
我对Amazon SimpleDB有一些基本的了解,但根据Amazon DynamoDB的描述,它似乎几乎是一样的:一个NoSQL键值存储服务。
谁能简单地解释一下它们之间的主要区别,并告诉在哪些情况下应该选择一个而不是另一个?
这在相应的常见问题解答中得到了解决:Amazon DynamoDB与Amazon SimpleDB有何不同?我应该用哪一种?(散列链接不再有效,但使用in-page Find来定位页面内的问题)在一定程度上已经,最紧凑的摘要在段落的末尾:
虽然SimpleDB有伸缩性限制,但它可能很适合用于 较小的工作负载,需要查询的灵活性。Amazon SimpleDB 自动索引所有项目属性,从而支持查询 以牺牲性能和规模为代价的灵活性。
因此,这是在性能/可伸缩性和简单性/灵活性之间的一种权衡,例如,对于更简单的场景,使用SimpleDB可能仍然更容易开始,以避免为DynamoDB构建应用程序的复杂性(参见下面的不同角度)。
链接的FAQ条目引用了Werner Vogel的Amazon DynamoDB -一个快速和可扩展的NoSQL数据库服务,为互联网规模的应用程序设计,这确实是一个详细的,因此强烈推荐阅读关于亚马逊的NoSQL历史,特别是Dynamo;它包含了更多的见解来解决你的问题,以及,例如。
很明显,开发人员(甚至亚马逊的工程师)都非常喜欢简单 细粒度的控制,因为他们“用脚”投票和采用 基于云的AWS解决方案,如Amazon S3和Amazon SimpleDB,结束 发电机。(除了我)
显然,DynamoDB已经被引入来解决这个问题,因此可以作为SimpleDB的继承者,而不是“仅仅”修改他们现有的NoSQL产品:
我们得出的结论是,一个理想的解决方案是结合的最好的部分 原始发电机设计(增量式可扩展性,可预见性高 性能)与SimpleDB的最佳部分(易于管理 云服务的一致性,以及基于表的数据模型 比纯键值存储更丰富)。
Werner的总结建议DynamoDB适合任何规模的应用程序:
Amazon DynamoDB旨在保持可预测的高性能 并且对于任何规模的工作负载都具有很高的成本效益,从 从最小到最大的互联网规模的应用程序。
其中一个不同之处在于(正如@Mason Zhang在他的文章中所说)索引。DynamoDB用于限制您在创建表时创建索引。 然而,现在(从2014年初开始),出现了全球二级指数(GSI)的概念。可以在任何时候在表上创建GSI。最多支持5个。 因此,索引对于许多用例来说不再是阻塞问题。
您还应该知道SimpleDB有大小和性能限制。(10GB,每秒25个请求)
也许最终,除了最简单的用例外,DynamoDB将在所有用例中取代SimpleDB。
简单来说,两个数据存储都是NoSql。
区别在于可伸缩性(以及其他一些方面,但在我看来,可伸缩性具有最大的价值)。SimpleDB与MongoDB非常相似,但是在伸缩性方面有很多限制。
但是DynamoDB允许您进行小规模的供应,并根据需要扩大供应吞吐量。并在不需要的时候缩小规模。(即。在推广过程中,名人推荐注册等场景会有一个基于时间的硬件需求高峰)
最近,SimpleDB似乎并没有得到亚马逊的青睐——甚至很难找到在AWS控制台中提供它的位置。似乎SimpleDB不再被迭代了——在AWS上使用DynamoDB作为文档数据库的首选。
SimpleDb不再真正“迭代”。意思是没有 simpledb未来的新发展。它是“维护和” 支持”,但它不会变得更好。
我相信简单DB和发电机DB的主要区别是
在延迟方面具有可预测的性能,并且能够在不影响延迟和吞吐量的情况下处理高容量。DynamoDB通过使用分区键来实现这一点 可自定义的读、写优化 由于采用了一致性哈希算法,最终的一致性模型更好
3个关键区别:
索引 SimpleDB为表中的“EVERY”字段创建索引。 DynamoDB您必须在创建数据库之前设置索引字段,并且不能修改。 定价: SimpleDB的定价基于机器小时数和存储容量 DynamoDB按每秒读/写记录的容量收费。 可伸缩性: 如果数据存储超过10GB, SimpleDB需要手动分区。 DynamoDB在底层自动分布数据,因此提供了非常高的可伸缩性。
这是两个主要的区别,你应该知道
1: SimpleDB has a strict storage limitation of 10 GB. However, DynamoDB has no storage limitations for the data. It is highly scalable in terms of both storage and computation.
2:SimpleDB can handle max up to 25 Write Operations/Second. No such limit in DynamoDB.
这是两个主要的区别,你应该知道。
使用DynamoDB,您可以构建具有几乎无限吞吐量和存储的应用程序。SimpleDB不是这样的。
1:严格存储限制在10gb
SimpleDB有严格的10 GB的存储限制。然而, DynamoDB对数据没有存储限制。这是高度的 在存储和计算方面都具有可伸缩性。
2:每秒最多写操作25次
SimpleDB每秒最多可以处理25个写操作。没有这样的 限制在DynamoDB。