Amazon dynamodb 如何指定DynamoDb的冲突解决策略?(我真的需要吗?)

Amazon dynamodb 如何指定DynamoDb的冲突解决策略?(我真的需要吗?),amazon-dynamodb,Amazon Dynamodb,我正在努力掌握DynamoDb,读过之后,它指的是语法和语义协调方法。我的应用程序在“最后一次写入胜利”时会很好,但我希望确保数据库中没有任何冲突项,等待“客户端”解决 我看过AWS API,我有点期待getItem调用返回多个版本,由客户端解析,并阅读文档和论坛,但找不到对此的任何引用。这篇文章是否只是指dynamo世界中的某些东西而不是DynamoDB,因此我不必担心它?dynamo与DynamoDB不同。我知道这很难相信,但这是事实。如果让DynamoDB在一致性和可用性之间进行选择,则D

我正在努力掌握DynamoDb,读过之后,它指的是语法和语义协调方法。我的应用程序在“最后一次写入胜利”时会很好,但我希望确保数据库中没有任何冲突项,等待“客户端”解决


我看过AWS API,我有点期待getItem调用返回多个版本,由客户端解析,并阅读文档和论坛,但找不到对此的任何引用。这篇文章是否只是指dynamo世界中的某些东西而不是DynamoDB,因此我不必担心它?

dynamo与DynamoDB不同。我知道这很难相信,但这是事实。如果让DynamoDB在一致性和可用性之间进行选择,则DynamoDB倾向于前者。它只是通过在多个AZ(即可用性区域)中复制数据来提高可用性

为了明确回答您的问题,get item应该始终返回记录的一个版本。您不必担心从多个版本中选择一个或数据库中存在冲突的版本


编辑:为了澄清,get item总是返回记录的一个版本。它是否是最新的取决于标志,默认为false。

GetItem API有一个。如果将其设置为false,则读取可能会转到承载项目的三个副本中的任何一个。如果将其设置为true,则读取将始终转到主控,并且您将始终获得项目的最新版本。最后,当您将ConsistentRead设置为false时,对于1个RCU读取容量单元,您可以读取两倍于8KB的数据,因此在最终保持一致时读取更便宜。

谢谢。我有点这样想,但是文档并不明确,要找出dynamo和dynamoDB之间的区别并不容易!很高兴得到确认。再次感谢。GetItem可能并不总是返回项目的最新版本,具体取决于您如何调用它。请看下面我的答案。你对那次失误的答案投了反对票?这就是建议编辑的目的。我实际上回答了OP问题的实质,如果你仔细阅读,我没有说get item总是返回最新版本的记录。我说它返回一个版本的记录。事实上,我知道ConsistentRead参数。从2007年我读到的关于迪纳摩的文章来看,我想知道迪纳摩是否存在写作冲突。具体地说,我想知道我是否需要执行任何冲突解决,从get item预期的多个返回值,还是不是单个get item返回值。我查看了API,但想确认我没有遗漏什么,我想已经回答了。了解dynamoDb与2007年的dynamo论文的关系会很好,但对于我现在所需要的,这就足够了。非常感谢大家。