先放几个链接:
开发人员指南 Developer Guide
API Reference
Service, Account, and Table Quotas in Amazon DynamoDB
How Amazon DynamoDB adaptive capacity accommodates uneven data access patterns (or, why what you know about DynamoDB might be outdated)
这三个都是官方链接,可放心食用
最好中英文对照着阅读,因为很多地方翻译不准确,读的时候会感到迷糊
Map/List
最大支持 32 级嵌套
item size
最大 400 KB
item collection
基表和 LSI 中具有相同分区键的 item 的集合
最大 10 GB,存在 LSI 时才会有此限制
Indexes
只能 Query 或 Scan
LSI 每个表最多 5 个
用了 LSI 会有 item collection 最大 10 GB 的限制
只能在 create table 时开启,删除表时被自动删除,不可更改
GSI 每个表默认配额 20 个
不支持强一致性读
Query / Scan
最多返回 1 MB 的数据
可以指定 limit 限制最多读几个 item
如果还有数据,会返回一个 LastEvaluatedKey
BatchGetItem
最多一次传入 100 个 item 的 key
最多返回 16 MB 的数据
如果有部分 item 还没取到,会返回 UnprocessedKeys
BatchWriteItem
最多同时 PutItem/DeleteItem 25 个,且数据总和不超过 16 MB,且每个 item 不超过 400 KB
不可指定 condition,不会返回被删掉的 item
如果有 PutItem 失败,会返回在 UnprocessedItems 里 (put 失败很可能因为超过了分配的吞吐量)
TransactGetItems / TransactWriteItems
最多 25 个 item,合计大小不超过 4 MB
Throughput Limits
单个分区吞吐量上限: 3000 RCU,1000 WCU
预置容量模式下单个表默认吞吐量上限: 40000 RCU, 40000 WCU (包括基表和 GSI) 参考链接
可以通过 UpdateTable 改大,但不可超过账号的 80000 上限
单个账号默认吞吐量上限: 80000 RCU, 80000 WCU
如需改大要联系 https://aws.amazon.com/support
[cloudshell-user@ip-10-0-17-8 ~]$ aws dynamodb describe-limits
{
"AccountMaxReadCapacityUnits": 80000,
"AccountMaxWriteCapacityUnits": 80000,
"TableMaxReadCapacityUnits": 40000,
"TableMaxWriteCapacityUnits": 40000
}