我的理解是DynamoDB的行为类似于一个巨大的表,您必须指定一个散列键和范围键。DynamoDB相对于Google Cloud Datastore有什么优点和缺点
Google Cloud Datastore的核心概念是基于实体(如Cassandra)并且更灵活,即可以使用多个索引。
但是有没有更深入的比较?
我的理解是DynamoDB的行为类似于一个巨大的表,您必须指定一个散列键和范围键。DynamoDB相对于Google Cloud Datastore有什么优点和缺点
Google Cloud Datastore的核心概念是基于实体(如Cassandra)并且更灵活,即可以使用多个索引。
但是有没有更深入的比较?
AWS DynamoDB是一个非常简单的平键值存储。它支持有条件的写入和设置,允许一些很酷的功能。您可以指定所需的马力数量(每天只能调整几次),并且AWS会在足够的数据库节点上统一分配数据集以满足您的需求。您必须确保您的关键值具有足够的随机性,以确保跨数据集的平衡访问。 AWS几乎可以保证一位数的延迟。 不支持交易。您指定操作的一致性。
谷歌云存储是一个更复杂的关键valueish存储与内置事务支持和实体层次结构。您不必担心系统的容量,它会自动扩展到您的数据大小和访问模式。你对某些事物的控制较少,所以你必须注意。您不能指定读取是一致的,但您可以通过以某种方式构建实体来强制执行一致性。
我遇到的Google云产品的一个缺点是文档和语言支持不是很统一。有时您必须阅读另一种语言的文档以充分了解系统,并且某些语言不支持许多功能。
还有很多其他的区别。在这两个文档页面上查看您最喜欢的语言的API参考,您会对每个文档的特定功能有一个体面的感受。
1. DynamoDB支持项目粒度交易,所以您不必担心项目是“部分”写入/更新。 2.有一个开源解决方案将ACID添加到操作粒度事务中,并且性能明显下降。请参阅https://github.com/awslabs/dynamodb-transactions –