SuperAPI AI 工具集

dynamodb

设计与创作

查看项目

更新于 10-15 17:22

技能介绍

用途:作为 DynamoDB 专项技能,帮助团队进行表结构设计、访问模式建模与规模化运维。

主要能力:设计前先梳理全部访问模式;设计分区键与排序键;在基础表键结构无法满足需求时补充 GSI/LSI;依据流量可预测性选择容量模式;给出 TTL、Streams、备份等运维建议。可调用 awsknowledge MCP 工具(mcp__plugin_aws-dev-toolkit_awsknowledge__aws___search_documentation、read_documentation、recommend)核对当前 DynamoDB 限制与特性。

设计要点:分区键需高基数,推荐 userId、orderId、deviceId、tenantId,避免 status、date、region、type;低基数字段应作为排序键或 GSI 排序键。排序键支持复合与层级写法(如 STATUS#TIMESTAMP、COUNTRY#STATE#CITY),可用 begins_with、between 与范围查询。单表设计适用于跨实体事务、需减少表数量、实体共享分区键的场景;访问模式简单、团队不熟悉该模式或各实体需独立表级配置时应避免。GSI 使用独立的分区键与排序键、仅最终一致读、每表最多 20 个;LSI 与基础表共享分区键、支持强一致读、须建表时创建、每表最多 5 个、每个分区键值上限 10 GB;除非需要强一致,否则优先 GSI。

容量模式:按需适合不可预测流量、新负载、尖峰与开发测试,无需容量规划,单位请求成本更高;预置适合稳定生产负载,应启用自动扩缩并将目标利用率设为 70%,可持续负载下通常更便宜,并可用预留容量进一步节省。

其它能力:Streams 按序捕获 INSERT/MODIFY/REMOVE,记录保留 24 小时,可配 Lambda 做实时处理;TTL 以 epoch 秒自动过期,删除为最终一致,可能延迟至多 48 小时,亦会出现在 Streams;DAX 提供内存缓存与微秒级读延迟,适合读密集且重复访问场景,写密集、数据频繁变化或需强一致读时不适用。

常用命令包括 create-table、query、put-item(配合 condition-expression 防覆盖)、scan(生产慎用)、update-item、update-time-to-live、describe-table。反模式:用 Scan 查询、热分区键、超大条目(单条上限 400 KB)、关系型建模、过度索引、忽略分页(每次最多 1 MB,需处理 LastEvaluatedKey)、写入不使用条件表达式导致并发覆盖。

限制与说明:具体费用、平台与效果以实际环境为准,资料未提供更多细节。