Amazon SimpleDB与Amazon DynamoDB

Bil*_*yam 194 amazon-web-services nosql amazon-simpledb amazon-dynamodb

我对Amazon SimpleDB有一些基本的了解,但根据Amazon DynamoDB描述,它似乎几乎相同:NoSQL Key-value存储服务.

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

Ste*_*pel 170

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

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

因此,在性能/可伸缩性和简单性/灵活性之间进行权衡,即对于更简单的场景,可能更容易开始使用SimpleDB以避免为DynamoDB构建应用程序的复杂性(请参阅下面的不同视角).

链接的FAQ条目引用了Werner Vogel的Amazon DynamoDB - 一种专为Internet规模应用而设计的快速,可扩展的NoSQL数据库服务,这确实是一篇精心制作的,因此备受推荐的关于亚马逊NoSQL历史,特别是Dynamo的阅读; 它还包含更多有关您的问题的见解,例如

显而易见的是,开发人员[甚至是亚马逊的工程师]非常喜欢简单到细粒度的控制,因为他们"用脚"投票,并采用基于云的AWS解决方案,如Amazon S3和Amazon SimpleDB,而不是Dynamo.[另外我的]

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

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

Werner的摘要表明,DynamoDB现在非常适合任何规模的应用程序:

Amazon DynamoDB旨在维持可预测的高性能,并且对于任何规模的工作负载(从最小到最大的互联网规模应用程序)都具有极高的成本效益.


Mas*_*ang 24

使用SimpleDB或DynamoDB,它取决于您的用例,我在某些情况下使用SimpleDB而不是DynamoDB分享了一些使用SimpleDB的经验.在另一个产品中,我使用SimpleDB和DynamoDB来存储不同的数据.

  • 喜欢这篇文章 - 在这里总结它不会有什么害处 (25认同)

sai*_*lle 16

如今,SimpleDB似乎没有从亚马逊获得任何爱 - 很难找到在AWS控制台中配置它的位置.似乎SimpleDB不再被迭代 - 使用DynamoDB作为AWS上文档数据库的首选.

SimpleDb不再真正"迭代"了.意味着simpledb将来没有新的发展.它是"维护和支持",但它不会变得更好.

  • 不能改进完美! (2认同)

Sag*_*ani 8

3个主要区别:

  1. 索引编制

    • SimpleDB在表中为“每个”字段创建索引。
    • DynamoDB您必须在创建数据库之前设置索引字段,并且无法修改。
  2. 价钱:

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

    • 如果数据存储超过10GB,则SimpleDB需要手动分区。
    • DynamoDB自动在后台分发数据,因此提供了很高的可伸缩性。


kal*_*ore 5

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

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

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


Sat*_*esh 5

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

使用 DynamoDB,您可以构建具有几乎无限吞吐量和存储的应用程序。SimpleDB 则不然。

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

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

  • 2:每秒最多 25 次写入操作

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