
Amazon DynamoDB
Amazon DynamoDB
Amazon DynamoDB 是 AWS 的托管 NoSQL key-value 数据库,主打高性能、自动扩展、零运维。
毫秒级响应,自动多 AZ 复制
查询模式必须围绕 partition key 设计,迁移传统 SQL schema 时心智模型差异大
用 AWS SDK 调 DynamoDB.createTable / putItem / query 等。绝大多数场景用 DocumentClient 高阶封装(JS)或同等 SDK,省去手写 type descriptor。本地开发可用 amazon/dynamodb-local docker 镜像,无需联网。
可用率 · 30 天窗口
GitHub 活跃度
关于这个 API
DynamoDB 是 AWS 自研的分布式 NoSQL 数据库,与传统 RDBMS 的核心区别在于一切围绕 partition key 设计。partition key 决定数据物理分片,决定查询能力——能根据 partition key 高效查;想跨 partition key 查就只能 scan 全表(不推荐)。这种限制换来的是几乎无限的水平扩展能力和稳定的毫秒级延迟。
两种计费模式。On-demand 按每次读写请求计费,零容量规划但单位成本高;Provisioned 预购 RCU/WCU 容量,单位成本低但需自己估容量和管理 auto-scaling。突发流量或不可预测负载选 on-demand;稳定大流量选 provisioned。
Global Tables 提供跨 region 多主复制,对全球分布的应用很关键;DynamoDB Streams 提供变更数据流,配合 Lambda 几行代码就能做 CDC。它没有 join、没有 group by——复杂分析需要导出到 S3 用 Athena 查询,或用 ElasticSearch / Redshift 做次级索引。设计 schema 时最经典建议是 single-table design——把多个实体类型放进同一张表,用复合 key 区分。这与 SQL 直觉相反但符合 DynamoDB 性能模型。
你可以做什么
- 1serverless 应用的主数据存储(配合 Lambda)
- 2用户会话与认证 token 存储
- 3高 QPS 写入的日志、事件、计数器
- 4游戏排行榜与玩家状态
- 5物联网设备状态聚合
优劣对比
优点
- 毫秒级响应,自动多 AZ 复制
- on-demand 模式按用量计费,无需容量规划
- Streams + Lambda 让 CDC 极简单
- 与 IAM 权限模型原生整合
注意事项
- 查询模式必须围绕 partition key 设计,迁移传统 SQL schema 时心智模型差异大
- no joins、no group by,复杂分析需配合 Athena 或导出
- on-demand 模式高 QPS 下成本可能比 provisioned 高几倍
快速开始
用 AWS SDK 调 DynamoDB.createTable / putItem / query 等。绝大多数场景用 DocumentClient 高阶封装(JS)或同等 SDK,省去手写 type descriptor。本地开发可用 amazon/dynamodb-local docker 镜像,无需联网。
常见问题
DynamoDB 免费额度多少?+
永久免费:25GB 存储 + 25 RCU + 25 WCU(足够小项目跑全年)。
On-demand 和 Provisioned 怎么选?+
突发流量、原型、低 QPS 用 on-demand 省心;稳定大流量用 provisioned 省钱。可随时切换。
能像 SQL 一样 join 多表吗?+
不能。需要预先把关联数据嵌入同一 item 或冗余写入;这是 NoSQL 范式的核心权衡。
本地能开发吗?+
能。docker pull amazon/dynamodb-local,端口转发 8000 即可,完全离线。
技术细节
- 认证方式
- api_key
- 计费
- paid
- 协议
- REST
- SDK
- python, javascript, typescript, java, go, ruby, csharp
- 响应时间
- 41 ms
- 上次巡检
- 2026/6/26 06:22:15
接口端点
从 OpenAPI spec 自动解析。显示 12 / 53 个未弃用端点。
/#X-Amz-Target=DynamoDB_20120810.BatchExecuteStatement/#X-Amz-Target=DynamoDB_20120810.BatchGetItem/#X-Amz-Target=DynamoDB_20120810.BatchWriteItem/#X-Amz-Target=DynamoDB_20120810.CreateBackup/#X-Amz-Target=DynamoDB_20120810.CreateGlobalTable/#X-Amz-Target=DynamoDB_20120810.CreateTable/#X-Amz-Target=DynamoDB_20120810.DeleteBackup/#X-Amz-Target=DynamoDB_20120810.DeleteItem/#X-Amz-Target=DynamoDB_20120810.DeleteTable/#X-Amz-Target=DynamoDB_20120810.DescribeBackup/#X-Amz-Target=DynamoDB_20120810.DescribeContinuousBackups/#X-Amz-Target=DynamoDB_20120810.DescribeContributorInsights另有 41 个端点未显示,详见 OpenAPI spec。
更多来自 Amazon Web Services 的 API
AWS IAM Access Analyzer API 分析 IAM 资源策略找潜在的过度授权或外部访问,主动识别安全风险。
Alexa for Business帮助企业在组织内使用Alexa设备和服务。
Amazon API Gateway帮助开发者构建安全且可扩展的移动和网页应用后端。
用于创建、管理和快速部署应用配置的服务。
Amazon AppFlow 提供云端数据流管理和集成服务。支持不同云服务间的数据传输和同步。
Amazon AppIntegrations 服务用于配置和重用与外部应用的连接。
Amazon AppStream 2.0 提供云端应用程序流式传输服务,支持远程访问和管理。
Amazon Athena 是一种交互式查询服务,允许使用标准 SQL 直接分析存储在 Amazon S3 中的数据。