Amazon web services Dynamodb一次可以扫描的最大容量

Amazon web services Dynamodb一次可以扫描的最大容量,amazon-web-services,amazon-dynamodb,Amazon Web Services,Amazon Dynamodb,AWS描述 单个扫描请求可能会消耗(1 MB页面大小/4 KB项目大小)/2(最终一致读取)=128次读取操作。 128似乎是Scan命令一次可以读取的最大容量 然而,当我进行测试时,Scan命令(最终一致,没有任何过滤器选项)总是以119.5的容量返回,尽管有足够的项目可以读取 为什么会出现这个不匹配的数字?这里的关键词是“can”。从文档中,他们说“一次扫描请求可以消耗…” 这是他们的书面限制,这意味着根据物品大小和其他变量,实际容量将有所不同。什么因素意味着更多细节?好的,他们说“可以”

AWS描述

单个扫描请求可能会消耗(1 MB页面大小/4 KB项目大小)/2(最终一致读取)=128次读取操作。

128似乎是Scan命令一次可以读取的最大容量

然而,当我进行测试时,Scan命令(最终一致,没有任何过滤器选项)总是以119.5的容量返回,尽管有足够的项目可以读取

为什么会出现这个不匹配的数字?

这里的关键词是“can”。从文档中,他们说“一次扫描请求可以消耗…”


这是他们的书面限制,这意味着根据物品大小和其他变量,实际容量将有所不同。

什么因素意味着更多细节?好的,他们说“可以”,但现在说“不能”。我的项目大小只有10个字节,8个容量相当于64 KB(4k*2*8)。忽略它并不是那么小。@SangminKim您的扫描花费的RCU比可能少8.5(6.6%)。这个小小的差异可能与页面填充系数有关——一般来说,对于数据库,而不是DynamoDB,数据库中的页面通常不会填充到100%,因为如果是,插入和任何导致记录大小增加的更新都可能需要资源密集型页面拆分,因为记录不跨越页面边界。简言之,在大多数情况下,DynamoDB不太可能将完整的1MiB数据打包到每个1MiB页面中。值得注意的是,我认为:我熟悉的一个完全不同的数据库平台InnoDB使用15/16的目标页面填充因子。。。这与你观察到的119.5/128的比率几乎完全相同。对我来说,这可能与页面填充有关。