重载全局二级索引 - Amazon DynamoDB

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

重载全局二级索引

尽管 Amazon DynamoDB 具有每个表 20 个全局二级索引的默认配额,但实际上,您可以跨超过 20 个数据字段进行索引。与关系数据库管理系统 (RDBMS) 中的表相反,在该表中,架构是一致的,而 DynamoDB 中的表一次可以保存多种不同类型的数据项目。此外,不同项目中的同一属性可以包含完全不同类型的信息。

考虑以下保存各种不同数据的 DynamoDB 表布局的示例。

适用于 GSI 重载的表架构。

对于所有项目都通用的 Data 属性根据其父项目具有不同的内容。如果您为表创建一个全局二级索引,该索引使用表的排序键作为其分区键,使用 Data 属性作为其排序键,则可以使用该单个全局二级索引执行各种不同的查询。这些查询可能包含以下内容:

  • 在全局二级索引中按姓名查找员工,使用Employee_Name作为分区键值和员工姓名(例如Murphy, John)作为排序键值。

  • 通过搜索仓库 ID (如 Warehouse_01) 使用此全局二级索引来查找正在某个特定仓库中工作的所有员工。

  • 获取新员工的列表,同时针对HR_confidential作为分区键值并在排序键值中使用日期范围。