2012-02-21 112 views
8

我无法在亚马逊上找到有关此文档的文档:有谁知道删除操作是否违反您的读取或写入容量?Dynamodb:删除读取或写入容量的次数?

我原本以为它会算作“写”,但我在测试中看到的行为似乎表明相反。有人能证实这一点吗?

+0

哪些行为会让你得出结论,删除操作不计为一个写操作? – 2012-02-21 23:54:26

回答

11

很好的问题 - 而这似乎并没有被明确指定,还有对被算作一个写操作两个强提示(正如人们所预料确实):

1)第时间序列数据和访问模式Provisioned Throughput Guidelines in Amazon DynamoDB地址有效的缺失,是指受影响的写入吞吐量:

删除整个表是显著比一个接一个,基本上写吞吐量兼作删除 项目更高效与放置操作一样,尽可能多地删除操作。

2)第响应DeleteItem API列表的返回值ConsumedCapacityUnits并且是指写容量单元内:

由操作所消耗的写入容量的单位数。此 值显示应用于调配吞吐量的数量。有关 的更多信息,请参见Provisioned Throughput in Amazon DynamoDB

+5

两年后,链接背后的文章有一个明确的解释:“当您发出DeleteItem请求时,DynamoDB将使用已删除项目的大小来计算预置吞吐量消耗。” – 2015-02-03 11:33:59

0

是的,它确实是。该文件明确表示:

PutItemUpdateItemDeleteItem允许有条件写入,其中 您指定必须为真,以使 操作成功的表现。如果表达式的值为false,DynamoDB 仍然会消耗写入容量单位从表:

  • 如果该项目存在的写入容量单位数量消耗 取决于该项目的大小。(例如,失败的条件 写入一个1 KB项目会消耗一个写入容量单元;如果 项是该尺寸的两倍,发生故障的条件写入将消耗 两个写入容量单位。)

  • 如果项目不存在,DynamoDB将使用一个写入容量单位。

来源:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/CapacityUnitCalculations.html#ItemSizeCalculations.Writes