重载全局二级索引 - Amazon DynamoDB

重载全局二级索引

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

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

适用于 GSI 重载的表架构。

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

  • 通过搜索 Employee_Name 属性值来在全局二级索引中按姓名查找员工。

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

  • 获取新员工的列表,同时针对 HR_confidential 作为分区键值和 Data 作为排序键值查询此全局二级索引。