

# Amazon DynamoDB
<a name="amazon-dynamodb"></a>

 [Amazon DynamoDB](https://aws.amazon.com/dynamodb) 是一款快速而灵活的 [NoSQL 数据库](https://aws.amazon.com/nosql/)服务，适合所有需要一致性且延迟不超过十毫秒的任意规模的应用程序。它是完全托管式云数据库，支持文档和键值存储模型。它拥有灵活的数据模型、可靠的性能以及自动的吞吐容量扩展功能，这使其成为移动、Web、游戏、广告技术、物联网和众多其他应用程序的不二之选。 

## Amazon DynamoDB 定价一目了然
<a name="amazon-dynamodb-pricing-at-a-glance"></a>

 DynamoDB 对在 DynamoDB 表中读取、写入和存储数据收费，还对您选择启用的任何可选功能收费。DynamoDB 具有两种容量模式，这些模式附带了用于处理表上的读取和写入的特定计费选项：按需容量模式和预置容量模式。 

 DynamoDB 读取请求可以是强一致性、最终一致性或事务性读取请求。 

### 按需容量模式
<a name="on-demand-capacity-mode"></a>

 使用按需容量模式，您要根据请求对应用程序在表上执行的数据读取和写入操作付费。您无需指定预期应用程序执行的读取和写入吞吐量，因为 DynamoDB 会在工作负载增加或减少时即时调节工作负载。DynamoDB 对 DynamoDB 的核心和可选功能收费。 

 表：Amazon DynamoDB 按需定价 


|  核心功能计费单位  |  详细信息  | 
| --- | --- | 
|  读取请求单位（RRU）  |  从表中读取数据的 API 调用按照 RRU 计费。 <br /> 一个高达 4KB 的强一致性读取请求需要一个 RRU。 <br /> 对于大于 4KB 的项目，需要额外的 RRU。 <br /> 对于不超过 4KB 的项目， <br /> 最终一致读取请求需要一半的 RRU。 <br /> 事务性读取请求需要两个 RRU  | 
|  写入请求单位（WRU）  |  将数据写入表的每个 API 调用都是 WRU <br /> *标准* WRU 最多可以写入 1KB 的项目。 <br /> 大于 1KB 的项目需要额外的 WRU。 <br /> *事务性*写入需要两个 WRU。  | 

 **示例 RRU：** 
+  8KB 项目的强一致性读取请求需要两个读取请求单位 
+  对 8KB 项目的最终一致读取需要一个读取请求单位。 
+  对一个 8KB 项目事务性读取需要四个读取请求单位。 

 **示例 WRU：** 
+  一个 1KB 项目的写入请求需要一个 WRU 
+  一个 3KB 项目的写入请求需要三个 WRU。 
+  一个 3KB 项目的事务性写入请求需要六个 WRU。 

 有关 DynamoDB 如何对 DynamoDB 的核心功能和可选功能收费的详细信息，请参阅[按需容量定价](https://aws.amazon.com/dynamodb/pricing/on-demand/)。 

### 预置容量模式
<a name="provisioned-capacity-mode"></a>

 使用预置容量模式，指定您的应用程序需要的每秒数据读取和写入次数。可以使用弹性伸缩根据指定的利用率自动调整表的容量以确保应用程序性能，同时降低成本。 

 表：Amazon DynamoDB 预置容量模式 


|  核心功能计费单位  |  详细信息  | 
| --- | --- | 
|  读取容量单位（RCU）  |  从表中读取数据的 API 调用是 RCU。 <br /> 对最大 4KB 的项目，一个 RCU 每秒可以执行一个*强一致性*读取请求。 <br /> 大于 4KB 的项目需要额外的 RCU <br /> 对于不超过 4KB 的项目， <br /> 一个 RCU 每秒可以执行两个*最终一致*读取请求 <br /> 事务性读取请求需要两个 RCU 才能每秒执行一个读取请求  | 
|  写入容量单位（WCU）  |  将数据写入表的每个 API 调用都是一个写入请求 <br /> 对最大 1KB 的项目，一个 WCU 每秒可以执行一个*标准*写入请求 <br /> 大于 1KB 的项目需要额外的 WCU。 <br /> 对最大 1KB 的项目，*事务性*写入请求需要两个 WCU 才能每秒执行一个写入请求  | 
|  数据存储  |  DynamoDB 会持续监控表的大小以确定存储费用 <br /> DynamoDB 计算应计费数据大小的方法是，将上传的原始数据字节大小总和加上每个项目计入索引的 100 字节的存储开销。 <br /> 每月存储的前 25GB 免费  | 

 **示例 WCU** 
+  一个 1KB 项目的标准写入请求需要一个 WCU。 
+  一个 3KB 项目的标准写入请求需要三个 WCU。 
+  一个 3KB 项目的事务性写入请求将需要六个 WCU。 

 **示例 RCU**： 
+  强一致性读取一个 8KB 的项目需要两个 RCU。 
+  对一个 8KB 项目的最终一性读取将需要一个 RCU。 
+  对一个 8KB 的项目进行事务性读取将需要四个 RCU。 

 有关详细信息，请参阅 [Amazon DynamoDB 定价](https://aws.amazon.com/dynamodb/pricing)。 

### 数据传输
<a name="data-transfer-1"></a>

 对于在同一区域内 Amazon DynamoDB 与其他 AWS 服务之间传输的数据，不额外收费。对于不同区域（例如，美国东部（弗吉尼亚北部）区域中的 Amazon DynamoDB 和欧洲（爱尔兰）区域中的 Amazon EC2）之间传输的数据，将在传输两端收费。 

### 全局表
<a name="global-tables"></a>

 [全局表](https://aws.amazon.com/dynamodb/global-tables/)基于 DynamoDB 的全球覆盖范围构建，可为您提供一个完全托管式、多区域、多主控数据库，该数据库为大规模的全局应用程序提供快速、本地的读写性能。全局表在您选择的 AWS 区域中自动复制您的 Amazon DynamoDB 表。 

 DynamoDB 根据在每个副本表上使用的资源对全局表收费。按复制的 WCU 而不是标准的 WCU 衡量对全局表的写入请求。复制时所消耗的复制 WCU 数量取决于您正在使用的全局表的版本。 

 读取请求和数据存储按标准表（非全局表）计费。如果您添加表副本以在新区域中创建或扩展全局表，DynamoDB 将在所添加的区域中按恢复的每 GB 数据收取费用。对于包含数据的表，跨区域复制和添加副本还会因数据传出而产生收费。 

 有关更多信息，请参阅[管理全局表的最佳实践和要求](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_reqs_bestpractices.html)。 

 如需详细了解其他 DynamoDB 功能的定价，请访问 [Amazon DynamoDB 定价页面](https://aws.amazon.com/dynamodb/pricing/)。 