使用按需容量模式,您要根据请求对应用程序在表上执行的数据读取和写入操作付费。您无需指定预期应用程序执行的读取和写入吞吐量,因为 DynamoDB 会在工作负载增加或减少时即时调节工作负载。本页详细介绍了 DynamoDB 如何对 DynamoDB 的核心和可选功能收费。有关 AWS 中国区域的定价,请参阅 AWS 中国区域定价页面

关键术语

读取请求单位:从表中读取数据的 API 调用按读取请求单位计费。DynamoDB 读取请求可以是强一致性、最终一致性或事务性读取请求。一个高达 4KB 的强一致性读取请求需要一个读取请求单位。对于大于 4KB 的项目,需要额外的读取请求单位。对于大小达 4KB 的项目,最终一致性读取请求需要半个读取请求单位,而事务性读取请求需要两个读取请求单位。例如,对 8KB 项目的强一致性读取请求需要两个读取请求单位,对 8KB 项目的最终一致性读取需要一个读取请求单位,而对 8KB 项目的事务性读取需要四个读取请求单位。有关详细信息,请参阅读取一致性

写入请求单位:将数据写入表的 API 调用按写入请求单位计费。标准写入请求单位最多可以写入 1KB 的项目。对于大于 1KB 的项目,需要额外的写入请求单位。事务性写入需要两个写入请求单位。例如,一个 1KB 项目的写入请求需要一个写入请求单位,一个 3KB 项目的写入请求需要三个写入请求单位,一个 3KB 项目的事务性写入请求需要六个写入请求单位。

复制的写入请求单位:使用 DynamoDB 全局表时,您的数据将被自动写入所选择的多个 AWS 区域。每次写入都发生在本地区域和复制区域中。

流读取请求单位:DynamoDB 流的每个 GetRecords API 调用都是一个流读取请求单位。每个流读取请求单位最多可以返回 1MB 的数据。

事务性读取/写入请求:在 DynamoDB 中,事务性读取或写入与标准读取或写入不同,因为它保证单个事务集内包含的所有操作作为一个集合成功或失败。

变更数据捕获单位:DynamoDB 可以捕获 DynamoDB 表中的项目级更改,并将这些更改复制到其他 AWS 服务,如 Amazon Kinesis Data Streams 和 AWS Glue Elastic Views。DynamoDB 会将这些更改捕获为委托操作,这意味着,DynamoDB 会代表您进行复制,这样您就不必管理吞吐容量。DynamoDB 对每个表写入操作(最多 1KB)收取一个变更数据捕获单位的费用。对于大于 1KB 的项目,需要额外的变更数据捕获单位。


DynamoDB 功能和计费概述

功能

功能

计费单位

核心功能

 

写入请求

将数据写入表

写入请求单位

 

读取请求

从表读取数据

读取请求单位

可选功能

 

连续备份

前 35 天连续备份

GB-月

 

按需备份

在指定时间点创建快照备份

GB-月

 

基于备份还原

将表还原到特定快照或时间

GB

 

全局表

复制数据以创建多区域、多活动表

复制的写入请求单位
  Amazon Kinesis Data Streams 的变更数据捕获 捕获表中的项目级数据变更,并将其复制到 Kinesis Data Streams 变更数据捕获单位
  AWS Glue Elastic Views 的变更数据捕获 捕获表中的项目级数据变更,并将其复制到 AWS Glue Elastic Views 变更数据捕获单位
  数据导出到 Amazon S3 将 DynamoDB 表备份从一个特定时间点导出到 Amazon S3 GB

 

DynamoDB Accelerator (DAX)

通过内存缓存减少延迟

节点小时数

 

DynamoDB 流

在表上提供按时间顺序排列的项级更改序列

流读取请求单位

 

数据传出

将数据传输到其他 AWS 区域

GB

DynamoDB 详细功能定价

  • • 读取和写入请求

    当您为 DynamoDB 表选择按需容量模式时,只需为应用程序执行的读取和写入操作付费。可以根据需要进行 API 调用,而不需要管理表上的吞吐量。DynamoDB 处理硬件资源的管理,以适应具有一致、低延迟性能的工作负载。DynamoDB 对每个写入操作(最多 1KB)收取一个写入请求单位的费用,对事务性写入操作收取两个写入请求单位的费用。对于读取,DynamoDB 对每个强一致性读取(最多 4KB)收取一个读取请求单位的费用,对每个事务性读取收取两个读取请求单位的费用,对每个最终一致性读取收取半个读取请求单位的费用。有关详细信息,请参阅读取一致性

  • • 数据存储

    不需要提供存储:DynamoDB 会不断监控表大小,以确定存储费用。DynamoDB 计算应计费数据大小的方法是,将上传的原始数据字节大小总和加上每个项目计入索引的 100 字节的存储开销。 

  • • 备份与还原

    DynamoDB 提供了两种方法来备份表数据。使用时间点恢复 (PITR) 进行连续备份,可以为表提供前 35 天的连续备份。可以将表还原到前五周内任何指定秒的状态。按需备份可以创建表快照,以便长期存档,帮助您满足企业和政府的监管要求。

    连续备份 (PITR)

    DynamoDB 根据针对其启用此功能的每个 DynamoDB 表的大小(表数据和本地二级索引)对 PITR 进行收费。DynamoDB 会在一个月内持续监控启用了 PITR 的表的大小,以确定备份费用,并继续向您收费,直到您禁用每个表上的 PITR 为止。

    按需备份

    DynamoDB 根据表的存储大小(表数据和本地二级索引)对按需备份进行收费。每次备份的大小是在每次备份请求时确定的。每月计费的总备份存储大小是 DynamoDB 表的所有备份的总和。DynamoDB 会在整个月内持续监控按需备份的大小,以确定您的备份费用。

    还原表

    从按需备份或 PITR 还原表根据为每个请求还原的总数据大小(表数据、本地二级索引和全局二级索引)进行收费。

  • • 全局表

    当您为 DynamoDB 全局表选择按需容量模式时,只需为应用程序在每个副本表上使用的资源付费。对全局表的写入请求是以复制的写入请求单位而不是标准写入请求单位衡量的。复制时所消耗的写入请求单位数量取决于您正在使用的全局表的版本。如需了解更多信息,请参阅管理全局表的最佳实践和要求。读取请求和数据存储均按标准表(非全局表)计费。如果您添加表副本以在新区域中创建或扩展全局表,DynamoDB 将在所添加的区域中按表还原的每 GB 数据收取费用。对于包含数据的表,跨区域复制和添加副本还会因数据传出而产生收费。有关详细信息,请参阅本定价页面的“数据传输”部分。

  • • Amazon Kinesis Data Streams 的变更数据捕获

    DynamoDB 会按更变数据捕获单位对 Amazon Kinesis Data Streams 的变更数据捕获收费。DynamoDB 对每个写入操作(最多 1KB)收取一个变更数据捕获单位的费用。您只需为应用程序执行的写入操作付费,而不必管理表中的吞吐容量。

    即使您将 DynamoDB 变更复制到 Kinesis 数据流,Kinesis Data Streams 收费仍适用。有关更多信息,请参阅 Amazon Kinesis Data Streams 定价

  • • AWS Glue Elastic Views 的变更数据捕获

    DynamoDB 会按更变数据捕获单位对 AWS Glue Elastic Views 的变更数据捕获收费。DynamoDB 对每个写入操作(最多 1KB)收取一个变更数据捕获单位的费用。您只需为应用程序执行的写入操作付费,而不必管理表中的吞吐容量。

    即使您将 DynamoDB 变更复制到 AWS Glue Elastic Views 目标数据库,AWS Glue Elastic Views 收费仍适用。有关更多信息,请参阅 AWS Glue Elastic Views 定价

  • • 数据导出到 Amazon S3

    使用此功能可将数据从 DynamoDB 连续备份(时间点恢复)导出到 Amazon S3。支持的输出数据格式为 DynamoDB JSON 和 Amazon Ion。您可以使用 Amazon Athena、Amazon SageMaker 和 AWS Lake Formation 之类的 AWS 服务分析导出的数据。

    DynamoDB 将根据创建备份时每个 DynamoDB 表(表数据和本地二级索引)在指定时间点的大小,对导出的数据收取费用。

    对于在 Amazon S3 中存储导出的数据以及向您的 Amazon S3 存储桶发出的 PUT 请求,您需要支付额外费用。有关这些费用的更多信息,请参阅 Amazon S3 定价

  • • DynamoDB Accelerator (DAX)

    DynamoDB 按小时收取相关 DAX 容量费用,运行 DAX 实例时无需签订长期合约。定价是按消耗的节点小时数计算的,取决于您选择的实例类型。运行未满一小时的节点,按一小时计费。定价规则适用于 DAX 集群中的所有单个节点。例如,如果您有一个三节点 DAX 集群,您将按小时为每个单独的节点(总计三个节点)支付相关费用。 

    同一可用区内的 Amazon EC2 和 DAX 之间传输数据是免费的。在位于同一 AWS 区域、不同可用区的 Amazon EC2 实例和 DAX 代码之间传输数据时,收取标准 Amazon EC2 数据传输费用。但是,您只需要向 Amazon EC2 实例传入或传出的数据付费。DAX 节点本身传入或传出的流量并不需要支付 DAX 数据传输费用。

    DAX T3 实例以无限模式运行,这意味着如果连续 24 小时内的平均 CPU 利用率超过实例的基线,将向您收取费用。CPU 积分每个 vCPU 小时收费 0.096 USD。所有 AWS 区域的所有 T3 实例大小的 CPU 积分定价都相同。

  • • DynamoDB Streams

    DynamoDB 按读取请求单位收取从 DynamoDB 流读取的数据的费用。每个 GetRecords API 调用是按 DynamoDB 流读取请求单位进行收费,并且最多可从 DynamoDB 流返回 1MB 的数据。流读取请求单位不同于 DynamoDB 表上的读取请求。对于 AWS Lambda 作为 DynamoDB 触发器的一部分所调用的 GetRecords API 调用,您不需要付费。您也无需为 DynamoDB 全局表调用的 GetRecords API 调用付费。

  • • 数据传输

    数据“传入”和“传出”是指传入和传出 DynamoDB。DynamoDB 对入站数据传输不收费,对于在同一 AWS 区域内 DynamoDB 与其他 AWS 服务之间传输的数据,也不收费(即 0.00 USD/GB)。跨 AWS 区域(例如在美国东部 [弗吉尼亚北部] 区域的 DynamoDB 和欧洲 [爱尔兰] 区域的 Amazon EC2 之间)传输数据,则传输双方均需要付费。作为 AWS 免费套餐的一部分,您将会获得所有 AWS 服务之间每月共计 1GB 的免费数据传输,AWS GovCloud(美国)地区除外。有关更多信息,请参阅 AWS 免费套餐。如果每月数据传输量超出 500 TB,请联系我们


DynamoDB 免费套餐

AWS 免费套餐允许您免费实际体验 AWS 服务。下列 DynamoDB 优势包括在 AWS 免费套餐中。每种优势基于区域和付款人账户按月计算。

  • 25GB 数据存储
  • 250 万个来自 DynamoDB 流的流读取请求
  • 1GB 数据传出,跨 AWS 服务聚合

DynamoDB 定价示例

  • • 基本示例

    此示例演示 DynamoDB 如何使用按需容量模式收费。

    假设您在美国东部(弗吉尼亚北部)地区创建一个新表。由于此表适用于新应用程序,因此您不知道您的流量模式是什么。为简单起见,假设每次用户与您的应用程序交互时,系统会执行 1 次 1KB 的写入和 1 次 1KB 的强一致性读取。

    在 10 天的时间内,您的应用程序几乎没有产生流量,这将导致您的表每天发生 10000 次写入和 10000 次读取。但是,在第 11 天,您的应用程序受到社交媒体的关注,应用程序流量峰值在当天达到 2500000 次读取和 2500000 次写入。DynamoDB 可进行扩展,为您的用户提供无缝体验。您的应用程序将进入更常规的流量模式,在接下来到月底的时间内,平均每天达到 50000 次写入和 50000 次读取。下表总结了您当月的总使用情况。

    时间范围(月中几号)

    写入总次数

    读取总次数

    1-10

    100000 次写入(10000 次写入 x 10 天)

    100000 次读取(10000 次读取 x 10 天)

    11

    2500000 次写入

    2500000 次读取

    12-30

    950000 次写入(50000 次写入 x 19 天)

    950000 次读取(50000 次读取 x 19 天)

    每月共计

    3550000 次写入

    3500000 次读取

    月费总计

    4.44 USD(每 100 万次写入 1.25 USD x 355 万次写入)

    0.89 USD(每 100 万次读取 0.25 USD x 355 万次读取)

     

    数据存储:假设您的表在月初占用 25GB 的存储空间,然后在月底增加到 29GB,基于 DynamoDB 持续监控的平均占用空间为 27GB。AWS 免费套餐中包含前 25GB 的存储空间。对其余 2GB 存储空间收取每 GB 0.25 USD 的费用,因而本月的表存储费用为 0.50 USD。

    您本月的账单将为 5.83 USD,其中包括 5.33 USD 的读写费用和 0.50 USD 的数据存储空间费用。

  • • 详细示例

    此示例演示 DynamoDB 如何使用按需容量模式收费。

    假设您在美国东部(弗吉尼亚北部)地区创建一个新表。由于此表适用于新应用程序,因此您不知道您的流量模式是什么。为简单起见,假设每次用户与您的应用程序交互时,系统会执行 1 次 1KB 的写入和 1 次 1KB 的强一致性读取。

    在七天的时间内,您的应用程序几乎没有产生流量,每天会向表中写入和读取 1000 次。但是,在第八天,您的应用程序引起您所在行业中一位重要影响者的注意,同时应用程序流量出乎意料地陡增到当天 10000000 次写入和读取。然后,您的应用程序将进入更常规的流量模式,在接下来的两周内平均每天的写入和读取量达 150000 次。接着,流量开始逐渐减少,交易量在接下来的七天内每天下降到 10000 次写入和读取。

    最后,对社交媒体的意外关注会使您的应用程序像病毒般迅速传播。到该月的最后一天,您的应用程序将对表执行 30000000 次写入和读取。下表总结了您当月的总体使用情况。

    时间范围(日期)

    总写入数

    总读取数

    1–7

    7000 次写入(1000 次写入 x 7 天)

    7000 次读取(1000 次读取 x 7 天)

    8

    10000000 次写入

    10000000 次读取

    9–22

    2100000 次写入(150000 次写入 x 14 天)

    2100000 次读取(150000 次读取 x 14 天)

    23–29

    70000 次写入(10000 次写入 x 7 天)

    70000 次读取(10000 次读取 x 7 天)

    30

    30000000 次写入

    30000000 次读取

    每月共计

    42177000 次写入

    42177000 次读取

    月费总计

    52.72 USD(每百万次写入 1.25 USD x 42.177 百万次写入)

    10.54 USD(每百万次读取 0.25 USD x 42.177 百万次读取)

    数据存储:假设您的表在月初占用 25GB 的存储空间,然后在月底增加到 29GB,基于对表大小的连续监控平均占用空间为 27 GB。AWS 免费套餐中包含前 25GB 的存储空间。对其余 2GB 存储空间收取每 GB 0.25 USD 的费用,所以本月的表存储成本为 0.50 USD。

    备份和还原:如果 30 天内所有按需备份存储的总和为 60GB,则每月的备份费用为 (0.10 USD x 60GB) = 6.00 USD/月。但是,如果您在每月周期中删除 10 天 15GB 的按需备份数据,您会收到以下账单:(0.10 USD x 60GB) - (0.10 USD x 15GB x 20/30) = 5.00 USD/月。现在假设除了执行按需备份之外,还可以使用连续备份。您的表的平均大小为 27GB,则每月费用为 (0.20 USD x 27GB) = 5.40 USD/月。如果您需要在月底还原您的表,则费用为 (0.15 USD x 29GB) = 4.35 USD。

    Kinesis Data Streams 变更数据捕获:现在,假设您对 Kinesis 数据流启用流式处理,以使用 Amazon Kinesis 服务处理数据变更。DynamoDB 每捕获到 1KB 的 Kinesis 数据流写入操作,便会收取一个变更数据捕获单位的费用。假设此示例中较早的应用程序写入流量与 Kinesis 数据流一致,则一个月内便会产生 4217.7 万个变更数据捕获单位。您每月的费用为:(0.10 USD x 4217.7 万/100 万)= 4.22 USD。

    数据导出到 Amazon S3:我们假设您想要将表备份导出到 Amazon S3 进行分析。如果指定时间点的表大小为 29GB,则产生的导出费用为:(0.10 USD x 29 GB)= 2.90 USD。

    DynamoDB Accelerator (DAX):您已确定需要加快应用程序的响应时间并决定使用 DynamoDB Accelerator (DAX)。您查看可用的硬件规范,并确定 t2.small 实例类型的三节点集群将满足您的需求。您在第 26 天启用 DAX。DynamoDB 每小时收费 0.12 USD(0.04 USD x 3 个节点),本月最后 5 天共计 14.40 USD(0.12 USD x 120 小时)。

    全局表:现在,假定您选择在美国西部(俄勒冈)区域中创建灾难恢复副本表。假定您在美国西部(俄勒冈)区域中添加副本,您的表大小为 25 GB,则产生的表还原收费为 3.75 USD (0.15 USD x 25 GB)。添加此副本还会产生 25 GB 的数据传输,将在下面的“数据传输”部分中详述。同样假设此示例中较早的应用程序流量对于您的全局表保持一致。您将使用 8435 万个复制的写入请求单位(4217.7 万次写入 x 2 个区域),如管理全局表的最佳实践和要求中所述,从而产生 158.16 USD(8435 万个复制的写入请求单位 x 每 100 万个 1.875 USD)的费用。您还在美国西部(俄勒冈)区域的复制表中另外存储了 27GB 的数据。每个 AWS 区域的 AWS 免费套餐中包含前 25GB 的存储空间。对其余 2GB 存储空间收取每 GB 0.25 USD 的费用,所以本月额外的表存储成本为 0.50 USD。

    DynamoDB Streams:假设您启用 DynamoDB Streams 并构建应用程序以针对 Streams 数据每秒执行一次读取请求。在一个月的过程中,这会产生 2592000 个 Streams 读取请求,其中前 2500000 个读取请求包含在 AWS 免费套餐中。您只需为剩余的 92000 个读取请求付费,即每 100000 个读取请求单位 0.02 USD。

    数据传输:为了您的全局表实现,您在 AWS 区域之间传输数据,因此 DynamoDB 会对从区域传出的数据收费,但不会对入站数据传输收费。假设每月有 42177000 次写入,每次写入 1 KB,将生成 40.22 GB 的数据以在区域之间传输。在美国西部(俄勒冈)区域中添加副本会额外产生 25 GB 的数据传输。如果您已在其他 AWS 服务上使用 AWS 免费套餐数据传输限额,则需要支付 5.94 USD (0.09 USD x [41 + 25] GB) 的数据传输费用。

    总的来说,您的单区域 DynamoDB 表的每月总费用为:

    • 写入流量:52.72 USD
    • 读取流量:10.54 USD
    • 数据存储:0.50 USD
    • 按需备份:5.00 USD
    • 连续 (PITR) 备份:5.40 USD
    • 表还原:4.35 USD
    • Amazon Kinesis Data Streams 的变更数据捕获:4.22 USD
    • 数据导出到 Amazon S3:2.90 USD
    • DynamoDB Accelerator (DAX):14.40 USD
    • DynamoDB 流:0.02 USD

    总费用:100.05 USD

    添加美国西部(俄勒冈)区域后您的每月 DynamoDB 总费用为:

    • 读取流量:10.54 USD
    • 美国东部(弗吉尼亚北部)的数据存储:0.50 USD
    • 按需备份:5.00 USD
    • 连续 (PITR) 备份:5.40 USD
    • 美国东部(弗吉尼亚北部)的表还原:4.35 USD
    • Amazon Kinesis Data Streams 的变更数据捕获:4.22 USD
    • 数据导出到 Amazon S3:2.90 USD
    • DynamoDB Accelerator (DAX):14.40 USD
    • DynamoDB 流:0.02 USD
    • 美国西部(俄勒冈)的全局表的表还原:3.75 USD
    • 全局表复制的写入请求:158.16 USD
    • 美国西部(俄勒冈)的全局表数据存储:0.50 USD
    • 数据传输:5.94 USD

    总费用:215.68 USD

其他定价资源

AWS 定价计算器

轻松计算 AWS 的月度费用

经济资源中心

用于切换到 AWS 的其他资源

网页图片
了解如何开始使用

查看教程和视频并报名参加培训。

了解更多 
账户注册图片
注册免费账户

立即享受 AWS 免费套餐。 

注册 
工具箱图片
开始在控制台中构建

在 AWS 管理控制台中,使用 Amazon DynamoDB 开始构建。

登录