【问题标题】:Number of WCU equal to number of items to write in DynamoDB?WCU 的数量等于要在 DynamoDB 中写入的项目数?
【发布时间】:2017-12-19 05:04:00
【问题描述】:

我一直在努力理解 AWS DynamoDB 文档中 WCU 的含义。我从 AWS 文档中了解到的是

如果您的应用程序需要编写 1000 个项目,其中每个项目是 大小为 0.2KB 那么您需要提供 1000 个 WCU(即 0.2/1 = 0.2 最接近 1KB,所以 1000 个项目(写入)* 1KB() = 1000WCU)

如果我的上述理解是正确的,那么我想知道那些需要每秒将数百万条记录写入 DynamoDB 的应用程序,这些应用程序是否需要预置数百万个 WCU?

如果你能澄清我,不胜感激。

【问题讨论】:

  • 如果我的回答解决了你的疑问,那么请接受/投票。

标签: amazon-web-services amazon-dynamodb


【解决方案1】:

我过去曾使用过 DynamoDB(并且根据 AWS 文档体验过为我的应用程序扩展 RCU 和 WCU):-

一个写入容量单位表示每秒一次写入一个项目 大小为 1 KB。如果你需要写一个大于 1 的项目 KB,DynamoDB 将需要消耗额外的写入容量单位。这 所需的写入容量单位总数取决于项目 大小。

这意味着,如果您编写一个大小为 4.5 KB 的文档,那么它将消耗 5 个 WCU,DyanamoDB 将其四舍五入到下一个整数。

还有你的理解

这里每个项目的大小为 0.2KB,那么您需要提供 1000 个 WCU (即 0.2/1 = 0.2 这使得最接近 1KB,所以 1000 个项目(要写入)* 1KB() = 1000WCU)。

是正确的。

要保存 WCU,您需要设计系统以使您的文档大小始终接近四舍五入。

注意 :- 为避免与 DynamoDB 相关的大量成本,如果您有大量读取,您可以在 dynamoDB 之上使用缓存,这也是他们建议的,我们也实施了。(如果您的应用程序写得很重,比这种方法不起作用,你应该考虑一些其他的选择,比如 Elasticsearch 等)。

根据http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForTables.html doc,见下文

缓存解决方案可以缓解流行的倾斜读取活动 项目。此外,由于它减少了读取活动的数量 相对于桌子,缓存可以帮助降低您的总体成本 使用 DynamoDB。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-07
    • 2020-02-19
    • 1970-01-01
    相关资源
    最近更新 更多