【问题标题】:Dynamodb Secondary Index ProjectionTypeDynamodb 二级索引 ProjectionType
【发布时间】:2019-10-23 21:24:40
【问题描述】:
我无法理解 DynamoDb 的 GlobalSecondaryIndex 配置中 ProjectionType 属性的含义。
比如我设置为key,是不是只能在基于二级索引查询表的时候才能取到键值?为什么会这样,在我的理解中,索引会引用数据库表中的某一行(从技术角度来看),因此通过查询索引应该很容易检索索引的完整数据点?
我在这里错过了什么?
【问题讨论】:
标签:
amazon-web-services
indexing
amazon-dynamodb
【解决方案1】:
根据here 所说的:
每个二级索引都与一个表相关联,它从中获取数据。这称为索引的基表。创建索引时,为索引定义一个备用键(分区键和排序键)。您还可以定义要从基表投影或复制到索引中的属性。 DynamoDB 将这些属性与基表中的主键属性一起复制到索引中。然后,您可以像查询或扫描表一样查询或扫描索引。
DynamoDB 中的索引似乎不仅仅是对项目的指针/引用,而是一个独立的、自给自足的存储,用于保存投影属性。如果是这样,那么在查询索引时您仅限于存储在其中的属性似乎是合理的。