2016-12-06 203 views

回答

6

在DynamoDB中没有一个很好的方法来做计数器 - 事实上它是一种非常糟糕的做法 - 根本不可能是正确的答案。

你有几个选择,你可以在你的表中使用UUID作为唯一的ITEM ID,假设你想使用计数器作为唯一的ID?

正如叶戈尔所说,你可以使用服务来实现这一功能 - 问题是,在一个高度事务系统,无论服务是这样做的需要提供足够的IOPS,以允许不受限制的写入你的表...如果你有10个表,每个表有100 w/ps,那么你的计数器系统需要应付1000wp/s - 它不能很好地扩展 - 它的持久存储需要在某个地方。

我实际上在我的DynamoDB课程中广泛写了关于它的内容 - 我展示了从BAD到理想的数据模型的演变,并且作为其中的一部分,我们介绍了计数器以及如何使用或实际不使用它们。

+3

我们在哪里可以找到您的课程? –

+1

直接从** Adrian Cantrill复制** [https://www.quora.com/How-to-auto-increment-in-DynamoDB](https://www.quora.com/How-to-auto -Increment合DynamoDB) –