我对Amazon SimpleDB是什么有一些基本的了解,但是根据Amazon DynamoDB的描述,它似乎几乎是相同的:NoSQL键值存储服务。
有人能简单地解释一下两者之间的主要区别,并告诉他们在哪种情况下要选择一个。
我对Amazon SimpleDB是什么有一些基本的了解,但是根据Amazon DynamoDB的描述,它似乎几乎是相同的:NoSQL键值存储服务。
有人能简单地解释一下两者之间的主要区别,并告诉他们在哪种情况下要选择一个。
Answers:
这是通过相应的常见问题解答解决的。问:Amazon DynamoDB与Amazon SimpleDB有何不同?我应该使用哪个?(哈希链接不再起作用,而是使用页面内查找在页面内查找问题)已经达到某种程度,最紧凑的摘要位于该段的结尾:
尽管SimpleDB具有扩展限制,但它可能非常适合需要查询灵活性的较小工作负载。Amazon SimpleDB自动为所有项目属性建立索引,从而以性能和规模为代价支持查询灵活性。
因此,要在性能/可伸缩性与简单性/灵活性之间进行权衡,即对于更简单的场景,使用SimpleDB可能会更容易上手,从而避免为DynamoDB设计应用程序的复杂性(请参见下面的不同观点)。
链接的FAQ条目引用了Werner Vogel的Amazon DynamoDB –一种为Internet规模应用程序而设计的快速且可扩展的NoSQL数据库服务,这确实是一个精心制作的,因此强烈建议阅读有关Amazon尤其是Dynamo 的NoSQL历史的文章;它还包含更多解决您问题的见解,例如
显而易见的是,开发人员(甚至是Amazon工程师)在投票时非常喜欢使用简单性而不是细粒度的控制,因此他们选择了Dynamo而不是Amazon S3和Amazon SimpleDB等基于云的AWS解决方案。[另外的地雷]
显然,已经引入了DynamoDB来解决此问题,因此可以被认为是SimpleDB的继承者,而不仅仅是“修改”现有的NoSQL产品:
我们得出的结论是,理想的解决方案将原始Dynamo设计的最佳部分(增量可伸缩性,可预测的高性能)与SimpleDB的最佳部分(易于管理云服务,一致性和基于表的数据模型)相结合。比纯键值存储更丰富)。
Werner的摘要建议DynamoDB现在非常适合任何规模的应用程序:
Amazon DynamoDB旨在保持可预测的高性能,并且对于最小到最大的互联网规模应用程序的任何规模的工作负载,都具有很高的成本效益。
使用SimpleDB还是DynamoDB,这取决于您的用例,在某些情况下,我分享了一些使用SimpleDB而不是DynamoDB的经验。在另一个产品中,我同时使用了SimpleDB和DynamoDB来存储不同的数据。
如今,SimpleDB似乎并没有从亚马逊获得任何热爱-甚至很难在AWS控制台中找到在何处进行配置。似乎不再使用SimpleDB了 -使用DynamoDB作为AWS上文档数据库的首选。
SimpleDb不再是真正的“迭代”。这意味着simpledb将来没有新的发展。它是“维护和支持”的,但不会变得更好。
3个主要区别:
索引编制
价钱:
可扩展性: