DynamoDB 待续

待完善及确认的地方:

全局二级索引 & 本地二级索引 区别

生存时间

自动删除过期的项,从而帮助您降低存储用量,减少用于存储不相关数据的成本

吞吐量: 消耗, 设置, 优化

读取和写入吞吐容量

在 Amazon DynamoDB 中创建表或索引时,必须指定读写活动的容量要求。通过提前定义您的吞吐容量,DynamoDB 可以预留必要的资源,以满足您的应用程序所需的读写活动,同时确保一致的低延迟性能。
一个 读取容量单位 表示对大小最多为 4 KB 的项目每秒执行一次强一致性读取,或每秒执行两次最终一致性读取。如果您需要读取大于 4 KB 的项目,DynamoDB 需要消耗额外的读取容量单位。所需的读取容量单位的总数取决于项目大小以及您需要最终一致性读取还是强一致性读取。
一个 写入容量单位 表示对大小最多为 1 KB 的项目每秒执行一次写入。如果您需要写入大于 1 KB 的项目,DynamoDB 需要消耗额外的写入容量单位。所需的写入容量单位的总数取决于项目大小。
例如,假设您创建了具有 5 个读取容量单位和 5 个写入容量单位的表。使用这些设置,您的应用程序可以:

1. 执行高达每秒 20KB 的强一致性读取 (4 KB × 5 个读取容量单位)。
2. 执行高达每秒 40KB 的最终一致性读取 (读取吞吐量的两倍)。
3. 每秒写入高达 5KB (1 KB × 5 个写入容量单位)。

如果您的应用程序读取或写入较大型的项目 (最大为 DynamoDB 的项目大小上限 400 KB),它将消耗更多的容量单位。
您的读取或写入请求超过了表的吞吐量设置,则 DynamoDB 可能会限制 该请求。DynamoDB 也可以限制超过了索引吞吐量的读取请求。限制会阻止您的应用程序消耗太多容量单位。当请求受到限制时,它将失败并出现代码 HTTP 400 (Bad Request) 和一个 ProvisionedThroughputExceededException

1. 增加预置吞吐量
  可以根据需要使用 AWS 管理控制台或 UpdateTable 操作增加 ReadCapacityUnits 或 WriteCapacityUnits。
2. 减少预置吞吐量
  每天最多可执行 4 次调低操作. 如果过去 4 小时内未执行减小操作,则可以执行额外的调低操作

备份

利用 DAX 实现内存中加速

监控 DynamoDB

与其他 AWS 服务集成

事务: 最终一致性

DynamoDB Service