在AWS DynamoDB中扫描还是并行扫描? [英] Scan vs Parallel Scan in AWS DynamoDB?

查看:19
本文介绍了在AWS DynamoDB中扫描还是并行扫描?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在云存储系统中,对AWS的要求很高。扫描过程需要更快的速度。那么,扫描过程是如何工作的,在哪种情况下哪种扫描(扫描/并行扫描)更好呢?

  1. 扫描在AWS DynamoDB中的工作方式?
  2. 并行扫描在AWS DynamoDB中的工作方式?
  3. 在AWS DyanmoDB中扫描与并行扫描?
  4. 何时首选并行扫描?
  5. 扫描前是否应用过滤表达式?

推荐答案

1.扫描在AWS DynamoDB中的工作原理?

答案:

i)扫描操作返回一个或多个项目。

ii)默认情况下,扫描操作按顺序进行。

iii)默认情况下,在访问表中的数据时,扫描使用最终一致的读取。

iv)如果扫描的项目总数超过最大数据集大小限制1 MB,扫描将停止,并将结果作为LastEvaluatedKey值返回给用户,以便在后续操作中继续扫描。

v)默认情况下,扫描操作执行最终一致的读取,它可以返回多达1MB(一页)的数据。因此,单个扫描请求可能会消耗

(1 MB page size / 4 KB item size) / 2 (eventually consistent reads) = 128 read operations.

2.并行扫描在AWS DynamoDB中是如何工作的?

答案:

i)为提高大型表或辅助索引的性能,应用程序可以请求并行扫描操作。

ii)您可以并行运行多个工作线程或进程。每个工作人员将能够与其他工作人员同时扫描表格的单独段。DynamoDB的扫描函数现在接受两个附加参数:

  • TotalSegments表示将并发访问表的工作进程数。
  • 表示调用工作线程要访问的表段。
iii)当两个参数一起使用时,将扫描限制到表中项目的特定挡路。您还可以使用Existing Limit参数控制单个扫描请求返回的数据量。

3.在AWS DyanmoDB中扫描与并行扫描?

答案:

i)一次扫描操作只能读取一个分区。因此需要并行扫描,以便一次更快地读取多个分区。

ii)顺序扫描可能并不总是能够充分利用预置的读取吞吐量容量。所以那里需要并行扫描。

iii)并行扫描,将某些类型的查询和扫描的成本最多降低到原来的1/4。

4.何时首选并行扫描?

答案:

如果满足以下条件,并行扫描可能是正确的选择:

  • 表大小为20 GB或更大。

  • 表的预置读取吞吐量未得到充分利用。

  • 顺序扫描操作太慢。

5.扫描前是否应用过滤表达式?

ans:否,FilterExpression在项目已读取后应用;筛选过程不会消耗任何额外的读取容量单位。

资源链接:

  1. Scan

  2. Parallel Scan

  3. Example - Parallel Scan Using Java

  4. Amazon DynamoDB – Parallel Scans, 4x Cheaper Reads, Other Good News

  5. Avoid Sudden Bursts of Read Activity

这篇关于在AWS DynamoDB中扫描还是并行扫描?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆