Amazon dynamodb DynamoDB读写

Amazon dynamodb DynamoDB读写,amazon-dynamodb,Amazon Dynamodb,DynamoDB中的实际读数由什么组成 是读取表中的每一行还是返回什么数据 这就是扫描如此昂贵的原因吗?您读取了整个表,并且每读取一行表都要收费 你能把ElasticCache(Memcached)放在DynamoDB前面以降低成本吗 最后,对于不产生任何结果的查询,您是否需要付费?请参阅此链接: 1写入=1Kb大小的项目每秒写入1次 1读取=1Kb大小的项目每秒读取2次,如果需要完全一致的结果,则每秒读取1次 例如,如果项目为512字节,则需要读取100 每秒从您的表中删除个项目,然后您需要提

DynamoDB中的实际读数由什么组成

是读取表中的每一行还是返回什么数据

这就是扫描如此昂贵的原因吗?您读取了整个表,并且每读取一行表都要收费

你能把ElasticCache(Memcached)放在DynamoDB前面以降低成本吗

最后,对于不产生任何结果的查询,您是否需要付费?

请参阅此链接:

1写入=1Kb大小的项目每秒写入1次

1读取=1Kb大小的项目每秒读取2次,如果需要完全一致的结果,则每秒读取1次

例如,如果项目为512字节,则需要读取100 每秒从您的表中删除个项目,然后您需要提供100个单位 读取容量的大小

如果您的物品大小超过1KB,则应计算 所需的读容量和写容量的单位数。 例如,如果您的项目为1.5KB,并且您希望执行100次 读取/秒,则需要设置100(读取/秒)x 2(1.5KB四舍五入到最接近的整数)=200个读取单位 容量

请注意,所需的读取容量单位数已确定 通过每秒读取的项目数,而不是API的数量 电话。例如,如果您需要每秒从数据库中读取500个项目 表,如果您的项目是1KB或更少,那么您需要500个单位的 读取容量。如果你做了500个单独的GetItem,这并不重要 调用或50个BatchGetItem调用,每个调用返回10个项目

上述方法适用于所有常用方法GET、BATCH X和QUERY。 SCAN有一点不同,他们没有确切记录如何计算使用率,但他们提供了以下内容:

扫描API将遍历整个数据集并应用 将条件筛选到每一行。因为只能扫描1MB的数据 一次,您可能需要进行多次往返(使用 继续标记)以完成扫描。此外,使用此API可能会 消耗大量已配置的读取吞吐量。因此,这种方法 具有有限的缩放特性,我们不建议您 将其用作应用程序常规行为的一部分

所以直接回答你的问题:除了扫描之外,所有情况下返回的数据都会被计算出来,因为扫描并没有任何关于它们如何收费的明确指示。不产生任何结果的查询不会花费您任何费用

你完全可以在Dynamo前面设置一个缓存系统,如果你想降低读取量,绝对建议你去研究一下


希望有帮助

从我目前对扫描/资源调配行为的观察来看,如果需要,扫描实际上可以消耗接下来几秒钟的资源调配,以完成对块的扫描。我无法验证它的成本,但它似乎比自己全部读取和过滤要便宜。空读取是否应该产生吞吐量成本?我觉得他们没有,但实际上他们绝对有。