相对于Google Cloud Datastore,DynamoDB有哪些优缺点?

5
我的理解是DynamoDB表现得像一个巨大的表格,您必须指定哈希键和范围键。
Google Cloud Datastore的核心概念是基于实体(像Cassandra),更灵活,即可以使用多个索引。
但是是否有更深入的比较?
1个回答

11

AWS DynamoDB 是一种相当简单的平坦键值存储。它支持条件写入和设置,允许实现一些很酷的功能。您可以指定要使用的计算资源量(每天只能调整几次),AWS会将数据集均匀地分布在足够多的数据库节点上以满足您的需求。您必须确保您的键值足够随机以确保在数据集中实现平衡访问。AWS几乎保证了单位时间内只有一个数字的延迟。不支持事务。您可以指定操作的一致性。

Google Cloud Datastore 是一种更复杂的键-值存储,具有内置的事务支持和实体层次结构。您无需担心系统的容量,它会自动缩放以适应您的数据大小和访问模式。您对某些事物的控制力较小,因此必须注意。您无法指定读取的一致性,但您可以通过以特定方式构造实体来强制实现一致性。

我经历过的Google Cloud产品的一个缺点是文档和语言支持并不非常统一。有时您必须阅读另一种语言的文档才能完全理解系统,许多功能在某些语言中不受支持。

还有很多其他差异。查看两个文档页面上您最喜欢的语言的API参考文档,您将获得关于每种特定功能的良好感觉。


  1. DynamoDB支持项目粒度事务,因此您不必担心项目被“部分”写入/更新。
  2. 有一个开源解决方案可以将ACID添加到操作粒度事务中,但会明显降低性能。请参见https://github.com/awslabs/dynamodb-transactions。
- Mingliang Liu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接