我有一个表格,之前我一直在使用Scan API(带有"ConsistentRead": false参数,即最终一致性)来过滤非关键属性。由于成本相当高,现在我决定添加一个全局二级索引(GSI),其中我之前扫描的属性是哈希键,并且我将在此索引上使用Query API。
我知道GSI不支持“写后读”一致性或强一致性。我知道,在使用Scan API时,我也没有使用这种一致性,因为我是按最终一致性的方式进行的。
我担心,反映先前更新或写入GSI所花费的时间,是否与以最终一致性方式扫描表时反映更新和写入所花费的时间差异很大?
例如,以下情况是否可能:
a)扫描
我们是否可以在它们的一致性方面有如此大的差异?或者,我们将获得相当类似的值? 我担心这种更改是否会破坏现有的功能。
我知道GSI不支持“写后读”一致性或强一致性。我知道,在使用Scan API时,我也没有使用这种一致性,因为我是按最终一致性的方式进行的。
我担心,反映先前更新或写入GSI所花费的时间,是否与以最终一致性方式扫描表时反映更新和写入所花费的时间差异很大?
例如,以下情况是否可能:
a)扫描
- 在表格上调用了PutItem API,即插入了新记录。
- 我扫描了表,在50ms后获得了新鲜数据。
- 在表格上调用了PutItem API,即插入了新记录。
- 我查询了索引,在500ms后获得了新鲜数据。
我们是否可以在它们的一致性方面有如此大的差异?或者,我们将获得相当类似的值? 我担心这种更改是否会破坏现有的功能。