为已有DynamoDB表创建GSI时,是否会索引历史记录?
DynamoDB GSI创建后会索引已有记录吗?
完全不用担心,当你给DynamoDB表创建全局二级索引(GSI)时,既有数据和后续新写入的数据都会被自动纳入索引,不需要你手动处理存量数据的索引工作。
具体来说有这几个关键点:
- 后台自动扫描构建:DynamoDB会启动一个后台任务,全量扫描你的现有表,把符合GSI键规则的所有记录都添加到新创建的索引中。这个过程是完全托管的,你不用写任何额外代码。
- 查看索引就绪状态:你可以通过AWS控制台或者执行
aws dynamodb describe-table --table-name 你的表名命令,查看GSI的IndexStatus字段。当状态从CREATING变为ACTIVE时,就意味着所有存量数据都已经完成索引,此时你就能通过GSI查询到所有历史记录和新数据了。 - 容量影响小提示:如果你的表数据量特别大(比如数千万级以上),索引构建过程可能会占用部分表的读写容量。如果担心影响业务,可以在创建GSI时合理配置预留吞吐量,或者使用按需模式让DynamoDB自动调整资源。另外,如果GSI的投影属性包含大尺寸字段,索引构建的耗时也会相应增加。
内容的提问来源于stack exchange,提问作者Kuldeep Yadav
相关产品推荐
相关产品推荐

