WCU的数量是否等于在DynamoDB中写入的项目数?

问题描述 投票:1回答:1

我一直在努力理解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个回答
1
投票

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

一个写入容量单位表示每秒最多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的总体成本。

© www.soinside.com 2019 - 2024. All rights reserved.