对选择性表查询使用全局二级索引写入分片 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对选择性表查询使用全局二级索引写入分片

应用程序经常需要识别 Amazon DynamoDB 表中满足特定条件的一小部分项目。如果这些项目随机分布在表的分区键中,可以通过表扫描检索。这种方法代价高,但在表中存在大量满足搜索条件的项目时,效果非常好。如果键空间很大并且搜索条件非常有选择性,此策略会导致大量不必要的处理。

更好的解决方案可能是查询数据。要在整个键空间启用选择性查询,可以使用分片,将一个包含 (0-N) 值的属性添加到将用于全局二级索引分区键的所有项目。

下面是一个在关键事件工作流中使用此策略的架构的示例:

选择性查询示例。

使用此架构设计,事件项目分布在 GSI 的 0-N 分区,允许对复合键使用排序条件进行分散读取,检索指定时间段内具有给定状态的所有项目。

此架构模式以最低成本提供高度选择性的结果集,无需进行表扫描。