Amazon DynamoDB
开发人员指南 (API 版本 2012-08-10)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

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

应用程序经常需要标识 Amazon DynamoDB 表中满足特定条件的一小部分项目。当这些项随机分布在表的分区键中时,您可以使用表扫描来检索它们。此选项可能非常昂贵,但是当表中大量的项满足搜索条件时,它就很适用。但是,当键空间很大且搜索条件非常具有选择性时,该策略会导致大量不必要的处理。

要在整个键空间中启用选择性查询,可使用写入分片,方式是向用于全局二级索引分区键的每个项目添加一个包含 (0-N) 值的属性。

以下是使用此关键事件工作流的架构的示例:

选择性查询示例。

通过使用此架构设计,事件项目将分布在 GSI 上的 0-N 分区中,从而允许在复合键上使用排序条件来执行分散读取,以便检索指定时间段内具有给定状态的所有项目。

此架构模式以最低的成本交付一个高度选择性的结果集,而无需表扫描。