Skip to content
返回云服务

AWS DynamoDB NoSQL 数据库

任意规模个位数毫秒延迟键值/文档 DB,按需定价和全球表。

AWS高级

为什么

DynamoDB 任意规模 <10ms — 1000 万+ RPS — 零容量规划(按需)。全球表跨区域复制。免费:25GB + 2 亿读/月。无需连接池。

何时使用

用于会话存储、购物车、用户画像和高吞吐键查找。避免关系查询/连接(用 RDS)或临时分析(用 Athena)。

如何做

1. 创建表 — aws dynamodb create-table 带 PartitionKey(+ SortKey) 2. 容量 — 按需(按请求)或预置(RCU/WCU) 3. 查询 — Query 按分区键、SortKey 条件;Scan 全表(贵) 4. 索引 — GSI 替代访问模式,LSI 同分区 5. 单表设计 — 相关项存一起,先设计访问模式 6. 全球表 — 多区域主主,<1 秒复制 7. 流 — 捕获变更,触发 Lambda(复制、聚合) 8. DAX — 内存缓存,微秒读,DynamoDB 5 倍成本

示例

# 创建按需计费表 aws dynamodb create-table \ --table-name users \ --attribute-definitions AttributeName=pk,AttributeType=S AttributeName=sk,AttributeType=S \ --key-schema AttributeName=pk,KeyType=HASH AttributeName=sk,KeyType=RANGE \ --billing-mode PAY_PER_REQUEST // 用 Node SDK 查询 import { DynamoDBDocumentClient, QueryCommand } from "@aws-sdk/lib-dynamodb"; const result = await docClient.send(new QueryCommand({ TableName: "users", KeyConditionExpression: "pk = :pk AND begins_with(sk, :sk)", ExpressionAttributeValues: { ":pk": "USER#123", ":sk": "ORDER#" }, })); // 单表:USER#123 | PROFILE#,USER#123 | ORDER#456 // 一次查询按分区键取用户 + 所有订单

常见问题

  • ⚠热分区键 — 一个热门键限流,设计均匀分散流量
  • ⚠Scan 贵 — 读全表,改用 Query + GSI
  • ⚠1MB 项限制 — 大文档须拆分或存 S3 加指针

最佳实践

  • ✓单表设计 — 一表多访问模式,降成本和复杂度
  • ✓未知流量用按需 — 仅稳态可预测负载用预置
  • ✓按读模式设计 GSI — 每个 GSI = 一个查询模式,构建前规划

常见问题解答

什么是AWS DynamoDB NoSQL 数据库?它解决什么问题?

任意规模个位数毫秒延迟键值/文档 DB,按需定价和全球表。 它可帮助开发者在不自建基础设施的前提下完成部署、存储与扩展,是云服务选型的核心参考。

如何在 5 分钟内上手AWS DynamoDB NoSQL 数据库?

两步即可跑通:① 创建表 — aws dynamodb create-table 带 PartitionKey(+ SortKey);② 容量 — 按需(按请求)或预置(RCU/WCU)。建议先用免费套餐验证流程,再接入生产环境。

AWS DynamoDB NoSQL 数据库 最容易踩的坑是什么?

最高频的问题是:热分区键 — 一个热门键限流,设计均匀分散流量。建议在上线前用 checklist 逐项核对,并在 CI 中加入策略与配置扫描。

AWS DynamoDB NoSQL 数据库 的最佳实践有哪些?

AWS DynamoDB NoSQL 数据库 的最佳实践包括:单表设计 — 一表多访问模式,降成本和复杂度;未知流量用按需 — 仅稳态可预测负载用预置;按读模式设计 GSI — 每个 GSI = 一个查询模式,构建前规划。其中首条「单表设计 — 一表多访问模式,降成本和复杂度」应作为团队默认规范写入 IaC 模板。

AWS DynamoDB NoSQL 数据库 如何控制成本与避免账单意外?

三招防超支:① 为所有资源打 env/team 标签并启用账单告警;② 用预算阈值触发 Slack/邮件通知;③ 定期用 Cost Explorer 审查闲置资源并清理。AWS DynamoDB NoSQL 数据库 多数提供免费套餐,先在免费额度内验证再放量。