不进行大量扫描时的表格扫描与GSI

时间:2019-09-11 12:57:54

标签: nosql amazon-dynamodb dynamodb-queries

何时选择通过GSI进行全表扫描还是以其他方式进行度量?

我知道两者的基本概念,但是GSI的定价模型非常依赖于表格本身,我很难决定

更重要的是,如何在不同的表大小下进行缩放,或者多少扫描效率太低而需要GSI代替

by by,我很难找到好的资源来过滤查询的表达式并在dynamodb上进行扫描,有什么好的建议吗? (“ #v> =:num”这就是我的意思,可能不是用正确的词搜索)

1 个答案:

答案 0 :(得分:0)

通常,决定使用查询还是扫描取决于您需要多少数据。如果答案是您需要大多数数据(实际上只有相对较小的表才是这种情况),请使用扫描。否则,几乎每次都要使用查询。

不可能对“大多数数据”的含义给出严格的阈值。我肯定会说超过50%,并且随着表格大小的增加,该阈值往往会达到100%。

上述例外情况是一次性操作,可以在后台执行,并且您愿意在这些时间上花费时间进行成本交换。推论是,如果您要获取面向客户的请求的数据,则您的目标应该是从数据库中读取尽可能少的内容,以缩短请求时间。

所有这些,并行扫描可以非常快速地提取大量数据,如果您确实需要它并且可以消耗额外的容量。即使在大桌子上,只要您有余力,也可以在短短几秒钟内取出数十万个物品。