首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何根据自动标度的dynamodb表管理全局辅助索引的写入能力?

如何根据自动标度的dynamodb表管理全局辅助索引的写入能力?
EN

Stack Overflow用户
提问于 2017-07-21 13:59:42
回答 2查看 1.6K关注 0票数 6

全局辅助索引与应用它们的表分别提供了容量。如果为GSI分配的写容量不足,那么对表的写入是节流的。。因此,如果触发了对表的写入的自动标度,那么应该期望GSI的写入容量需要进行响应管理。

表读/写的自动标度可以通过AWS管理控制台、通过CLI或使用CloudFormation进行配置。文档发布了示例JSON/YAML来完成表配置。但是,当我试图在自动标度表上创建一个新的GSI时,我看不到任何选项来反映表的设置。我也无法在文档中找到关于如何显式处理索引和自动缩放的CLI或CloudFormation示例。

那么,如何管理GSI的写入能力呢?我对事情应该如何运作的理解是否正确?或者AWS“做正确的事情”(至少在他们看来),并与底层表并行地自动定义GSI吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-24 10:33:28

可以为全局辅助索引应用相同的自动标度设置。根据AWS博士

如果对具有一个或多个全局辅助索引的表启用DynamoDB自动缩放,我们强烈建议您也将自动缩放统一应用于这些索引。您可以通过选择将相同的设置应用于AWS管理控制台中的全局辅助索引来做到这一点。

票数 3
EN

Stack Overflow用户

发布于 2018-06-01 10:03:34

现在有可能将二级索引定义为自动标度目标。和普通的桌子差不多。您只需更改resourceIdScalableDimensionAWS::ApplicationAutoScaling::ScalableTarget即可。

代码语言:javascript
运行
复制
  SecIndexWriteCapacity:
    Type: AWS::ApplicationAutoScaling::ScalableTarget
    Properties:
      MaxCapacity: 1000
      MinCapacity: 15
      ResourceId: !Sub "table/${MY_MAIN_TABLE}/index/${MY_SECONDARY_INDEX_NAME}"
      RoleARN: !GetAtt ScalingRole.Arn
      ScalableDimension: dynamodb:index:WriteCapacityUnits
      ServiceNamespace: dynamodb
  SecIndexReadCapacity:
    Type: AWS::ApplicationAutoScaling::ScalableTarget
    Properties:
      MaxCapacity: 1000
      MinCapacity: 15
      ResourceId: !Sub "table/${MY_MAIN_TABLE}/index/MY_SECONDARY_INDEX_NAME"
      RoleARN: !GetAtt ScalingRole.Arn
      ScalableDimension: dynamodb:index:ReadCapacityUnits
      ServiceNamespace: dynamodb
  SecIndexWriteScalingPolicy:
    Type: AWS::ApplicationAutoScaling::ScalingPolicy
    Properties:
      PolicyName: SecIndexWriteScalingPolicy
      PolicyType: TargetTrackingScaling
      ScalingTargetId: !Ref SecIndexWriteCapacity
      TargetTrackingScalingPolicyConfiguration:
        TargetValue: 50.0
        ScaleInCooldown: 30
        ScaleOutCooldown: 1
        PredefinedMetricSpecification:
          PredefinedMetricType: DynamoDBWriteCapacityUtilization
  SecIndexReadScalingPolicy:
    Type: AWS::ApplicationAutoScaling::ScalingPolicy
    Properties:
      PolicyName: SecIndexReadScalingPolicy
      PolicyType: TargetTrackingScaling
      ScalingTargetId: !Ref SecIndexReadCapacity
      TargetTrackingScalingPolicyConfiguration:
        TargetValue: 50.0
        ScaleInCooldown: 30
        ScaleOutCooldown: 0
        PredefinedMetricSpecification:
          PredefinedMetricType: DynamoDBReadCapacityUtilization
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45239670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档