215

我对Amazon SimpleDB是什么有了一些基本的了解,但是根据Amazon DynamoDB的描述,它似乎几乎是一样的:NoSQL 键值存储服务。

有人可以简单地解释它们之间的主要区别,并告诉在哪些情况下选择一个而不是另一个

4

8 回答 8

185

相应的常见问题解答问题已解决此问题问:Amazon DynamoDB 与 Amazon SimpleDB 有何不同?我应该使用哪个?(哈希链接不再起作用,但使用页内查找在页内定位问题)已经在某种程度上,在段落末尾有最紧凑的摘要:

虽然 SimpleDB 具有扩展限制,但它可能非常适合需要查询灵活性的较小工作负载。Amazon SimpleDB 自动索引所有项目属性,因此以性能和规模为代价支持查询灵活性。

所以这是性能/可扩展性和简单性/灵活性之间的权衡,即对于更简单的场景,使用 SimpleDB 可能仍然更容易开始,以避免为 DynamoDB 构建应用程序的复杂性(请参阅下面的不同视角)。

链接的常见问题解答条目引用了 Werner Vogel 的Amazon DynamoDB——一种为互联网规模应用程序设计的快速且可扩展的 NoSQL 数据库服务,这确实是一篇详尽的,因此强烈推荐阅读有关Amazon 的 NoSQL 历史,特别是 Dynamo 的历史;它还包含更多解决您问题的见解,例如

很明显,开发人员(甚至亚马逊工程师)更喜欢简单而不是精细控制,因为他们“用脚”投票并采用基于云的 AWS 解决方案,如 Amazon S3 和 Amazon SimpleDB,而不是 Dynamo。[补充我的]

显然 DynamoDB 已经被引入来解决这个问题,因此可以作为 SimpleDB 的继任者,而不是“仅仅”修改他们现有的 NoSQL 产品:

我们得出的结论是,理想的解决方案将原始 Dynamo 设计的最佳部分(增量可扩展性、可预测的高性能)与 SimpleDB 的最佳部分(云服务的易于管理、一致性和基于表的数据模型相结合)比纯键值存储更丰富)。

Werner 的总结建议 DynamoDB 现在非常适合任何规模的应用程序:

Amazon DynamoDB 旨在为任何规模的工作负载(从最小到最大的 Internet 规模应用程序)保持可预测的高性能和高成本效益。

于 2012-01-22T14:17:57.323 回答
22

SimpleDB 这些天似乎没有得到亚马逊的任何喜爱——甚至很难在 AWS 控制台中找到配置它的位置。似乎不再对 SimpleDB 进行迭代- 使用 DynamoDB 作为 AWS 上文档数据库的首选。

SimpleDb 不再真正“迭代”。意味着simpledb未来没有新的发展。它得到“维护和支持”,但不会变得更好。

于 2017-02-09T02:59:45.153 回答
12

3个主要区别:

  1. 索引

    • SimpleDB 为表中的“EVERY”字段创建索引。
    • DynamoDB 必须在创建数据库之前设置索引字段,并且不能修改。
  2. 价钱:

    • SimpleDB 定价基于机器小时数和存储容量
    • DynamoDB 按每秒读取/写入记录的容量收费。
  3. 可扩展性:

    • 如果数据存储超过 10GB,SimpleDB 需要手动分区。
    • DynamoDB 在后台自动分发数据,因此提供了非常高的可扩展性。
于 2018-02-17T19:26:40.013 回答
6

过去的差异之一是(正如@Mason Zhang 在上面的文章中所述)索引。DynamoDB 曾经限制您在创建表时创建索引。然而,现在(自 2014 年初以来),出现了全球二级指数 (GSI) 的概念。可以随时在表上创建 GSI。最多支持 5 个。因此,索引不再是许多用例的阻塞问题。

您还应该知道 SimpleDB 有大小和性能限制。(10GB,比如说,25 个请求/秒)

也许最终,除了最简单的用例之外,DynamoDB 将取代 SimpleDB。

于 2015-07-21T16:37:53.133 回答
2

简单来说,两个数据存储都是 NoSql。

区别在于可扩展性(以及其他一些方面,但在我看来,可扩展性具有最大的价值)。SimpleDB 与 MongoDB 非常相似,但在扩展方面有很多限制

但是 DynamoDB 让您可以进行小规模预置,并根据需要扩大预置吞吐量。并在不需要时缩小。(即在促销期间,名人推荐注册等此类场景将具有基于时间的硬件需求峰值)

于 2016-05-22T05:51:49.373 回答
2

这是两个主要区别,您应该注意。

使用 DynamoDB 您可以构建具有几乎无限吞吐量和存储的应用程序。SimpleDB 并非如此。

  • 1:10GB的严格存储限制

SimpleDB 具有10 GB 的严格存储限制。但是,DynamoDB 对数据没有存储限制。它在存储和计算方面具有高度可扩展性。

  • 2: 最多 25 次写操作/秒

SimpleDB 最多可以处理25 次写入操作/秒。DynamoDB 中没有这样的限制。

于 2020-05-24T06:28:48.810 回答
0

我相信 Simple DB 与 Dynamo DB 的主要区别是

  1. 延迟方面的可预测性能,并且能够在不影响延迟和吞吐量的情况下处理大量数据。DynamoDB 通过使用分区键来实现这一点
  2. 可定制的读、写优化
  3. 更好的最终一致性模型,因为使用了一致性哈希算法
于 2017-02-11T21:10:33.377 回答
0

这是两个主要区别,您应该注意

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.
于 2020-05-24T06:28:35.667 回答