【发布时间】:2020-09-03 17:57:50
【问题描述】:
在阅读了 AWS 文档和其他类似问题的答案后,DynamoDB 预置容量模型定价对我来说仍然有些不清楚。
如 AWS 文档中所述:“您需要为您在 Amazon DynamoDB 表中预置的吞吐量(读取和写入)容量付费,即使您没有充分利用预置的容量。DynamoDB 表的实际读取和写入性能可能会有所不同,并且可能低于您预置的吞吐量容量。"
根据this answer 的最后一部分关于类似问题之一的内容:“最后,使用 Dynamo,您为预留的容量付费,而不是为消耗的容量付费。因此只要您的桌子没有受到限制,即使您稍微超出预置容量(Dynamo 在某些情况下允许),您也不会被收取额外费用。”。
但是,我没有找到一个简单的解释,说明如何根据可能超过为表设置的当前读/写容量单位值的数据读/写速率定价,或者如果表读/写操作受到限制会发生什么要求。如果我创建一个表并将读取容量单位和写入容量单位都设置为 5,并且禁用了自动扩展功能,那么 DynamoDB 服务在所有情况下的费用是否都按以下公式计算?
charges = (provisioned RCU * Hours used + provisioned WCU * Hours used) + Storage costs
这意味着,无论 RCU/s 和 WCU/s 的使用情况和限制如何。
一个例子:根据我的理解 Scan 请求将返回上述表中包含的所有项目,例如,80 个项目将超过预置吞吐量(每个项目的大小小于 4 KB,所有项目的总大小表中的项目大约 160 KB),因此在请求被限制的情况下获取数据(160 KB /(5 个读取容量单位 * 4 KB))大约需要 8 秒,或者 DynamoDB 将允许突发容量消耗和处理扫描速度有点快。
但在这两种情况下,该请求都会因预置读取容量过度使用而额外收费,因为预置容量基本上是一种限制读/写操作速率的方法。这个假设正确吗?还是表节流是收取额外费用的主题?那么有什么方法可以强制数据读/写速率限制呢?
【问题讨论】:
标签: amazon-web-services amazon-dynamodb dynamodb-queries