aws dynamodb读取容量查询

时间:2016-10-08 23:17:39

标签: amazon-web-services amazon-dynamodb throughput

根据DynamoDB ReadWriteCapacity

  

写入所需的容量单位=每个项目的写入次数   第二个x项目大小,1KB块

     

读取所需的容量单位* =每个项目读取次数   第二个x项目大小,4KB块

     
      
  • 如果您使用最终一致的读取,则每秒读取数量将达到吞吐量的两倍。
  •   
     

如果您的项目大小小于1KB,则每个读取单位   容量将为您提供1个强烈一致的读/秒和每个单元   写入容量将为您提供1次写入/秒的容量。对于   例如,如果您的项目是512个字节,则需要读取100个项目   从你的桌子每秒,然后你需要提供100单位   读容量。

我对上面提到的4kb块和1kb示例感到困惑。 如果项目是512字节,它是否会四舍五入为4kb,因此1个读取单位允许1项读取/秒?我假设项目将四舍五入为1kb,因此1个读取容量导致读取4个项目/秒(和8个项目/秒,最终一致)。这个假设是否正确?

1 个答案:

答案 0 :(得分:4)

ceil()成为将非整数值舍入到下一个最高整数的函数。

  • 1个写入单位允许您每秒写入1 / ceil(item_size / 1kB)个项目。

  • 1个读取单元允许您每秒读取1 / ceil(item_size / 4kB)个项目。

所以,例如:

48个写入容量单位允许48次写入最多 1 kB,或者​​写入超过1kB到2kB的项目,或者16次写入超过2kB到3kB等项目

48个读取容量单位可让您读取48项最高 4kB,或24项4kB以上至8kB。

如果项目超出相关操作的块大小,则您的订阅费率不能超过订阅费率,并且您可能只能做得更少。

  

如果您的项目大小不到1KB,那么每个读取容量单位将为您提供1个强烈一致的读/秒,每个写入容量单位将为您提供1个写入/秒的容量。

这是准确的,因为< = 1kB(写块大小)的项也是=<根据定义,4kB(读取块大小)。