【问题标题】:Maximum capacity that Dynamodb can scan at a timeDynamodb 一次可以扫描的最大容量
【发布时间】:2019-01-25 00:20:15
【问题描述】:

AWS 描述

单个扫描请求可以消耗(1 MB 页面大小/4 KB 项目大小)/2(最终一致的读取)= 128 次读取操作。 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-query-scan.html

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

但是,当我测试时,扫描命令(最终一致,没有任何过滤选项)总是以 119.5 容量返回,尽管有足够的项目要读取。

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

【问题讨论】:

    标签: amazon-web-services amazon-dynamodb


    【解决方案1】:

    这里的关键词是“可以”。从文档中,他们说“单个扫描请求可以消耗......”

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

    【讨论】:

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