2012-01-22 157 views

回答

146

这是由各自的FAQ Q: How does Amazon DynamoDB differ from Amazon SimpleDB? Which should I use?处理(散列链接不再起作用,但在网页使用查找定位页面内的问题)已经在一定程度上,与在该段末尾的最紧凑的总结:

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

所以这是关闭的性能/可扩展性和简单性/灵活性之间的平衡,即对于简单的场景中它可能仍然是比较容易入门的SimpleDB避免architecturing你申请DynamoDB(参见下面的不同角度的复杂性)。

链接的常见问题条目引用维尔纳·沃格尔Amazon DynamoDB – a Fast and Scalable NoSQL Database Service Designed for Internet Scale Applications为好,这确实是关于历史的NoSQL的亚马逊一般和迪纳摩尤其是复杂的,因此强烈推荐读;它还包含更多针对您的问题的见解,例如

很明显,因为他们投票“用脚”,并通过 基于云的AWS解决方案,如Amazon S3和SimpleDB的开发人员[甚至亚马逊的工程师]强烈的首选简单到 细粒度的控制,超过 迪纳摩。 [此外矿井]

显然DynamoDB已被引入到解决这个问题,并可能因此被定性为SimpleDB中的继任者,而不是“只是”修改其现有的NoSQL产品:

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

维尔纳摘要建议DynamoDB是一个很好的适合任何规模的应用程序现在相应:

亚马逊DynamoDB旨在保持可预见的高性能 和很好的成本高效为工作负载任何规模,从最小的 到最大的互联网规模的应用程序。

20

使用SimpleDB或DynamoDB,这取决于您的使用案例,我分享了我的一些使用经验SimpleDB in some cases instead of DynamoDB。在另一款产品中,我使用SimpleDB和DynamoDB来存储不同的数据。

+13

喜欢的岗位 - 不会伤害总结在这里 –

+0

喜欢的职位也是如此。 @Mason,您对SimpleDCB如何从AWS产品控制台中慢慢消失的想法有什么想法?你还在使用SimpleDB还是已经迁移了? –

+1

@DavidRobbins SimpleDB可能已被AWS弃用,但它仍然存在,并且完美适合我的数据模式。我还没有迁移我的代码,也没有打算这样做。但对于新产品,我选择其他数据库,如dynamodb或mysql。 –

4

过去的一个分歧是(正如@Mason Zhang在他上面的文章中指出的)在索引中。 DynamoDB用于限制您在创建表时创建索引。 但是,现在(自2014年初以来),有全球二级指数(GSI)的概念。 GSI可随时在桌面上创建。 Upto 5支持。 因此,对许多用例来说,索引不再是一个阻塞问题。

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

也许最终,DynamoDB将在最简单的用例中取代SimpleDB。

0

简而言之,两个数据存储都是NoSql。

不同之处在于可扩展性(和其他一些方面,但缩放在我看来是最大的价值)。 SimpleDB与MongoDB非常相似,但在缩放时有一堆limitations

但是,DynamoDB可让您调配小型,并扩展您所需的预置吞吐量。当不需要时缩小。 (即在推广期间,Celebrity推荐注册等情况下会有这样的硬件需求峰值)

2

SimpleDB似乎没有从亚马逊这些天获得任何爱 - 它甚至很难找到在哪里在AWS控制台中进行配置。 Seems like SimpleDB is no longer being iterated on - 使用DynamoDB作为您在AWS上的文档数据库的首选。

SimpleDb不再是真正的“迭代”。这意味着simpledb将来不会有新的开发 。这是“维持和支持”,但它不会变得更好。

+0

完美无法改进! – dividebyzero

0

我相信简单DB的主要区别VS迪纳摩DB在延迟方面

  1. 可预测的性能,并能够处理高容量而不影响延迟和吞吐量。 DynamoDB使用分区键
  2. 阅读实现这一点,写一个可定制
  3. 更好的最终一致性模型的优化,因为使用一致性哈希算法的
0

3个关键的区别:

  1. 索引

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

    • SimpleDB的定价是基于机器工作时间和存储容量
    • DynamoDB的阅读能力充钱/写入每秒记录。
  3. 伸缩性:

    • SimpleDB的需要手动分区如果数据存储超过10GB。
    • DynamoDB自动分配数据,从而提供非常高的可伸缩性。