了解 Amazon DynamoDB 全局表计费
本指南详细介绍了 DynamoDB 如何对全局表进行计费。我们将列出影响总体成本的各个组成部分,同时提供清晰解释和实际示例。
Amazon DynamoDB 全局表是一个完全托管式、无服务器、多区域和多活数据库。全局表为您提供 99.999% 的可用性
工作方式
了解全局表的计费方式非常重要,这样您就可以准确估算成本。全局表的计费模式与区域 DynamoDB 表的计费模式略有不同。我们来看看它的工作方式。
写入 DynamoDB 表和全局二级索引(GSI)的操作按以下方式计费:
-
对于预置容量模式使用写入容量单位(WCU)
-
对于按需容量模式使用写入请求单位(WRU)
一个 WCU/WRU 表示对大小最多为 1 KB 的项目每秒执行一次写入操作。
当您通过向现有区域表添加副本表来创建全局表时,该区域表也将变为副本 表。
写入副本表的操作将使用与区域表不同的单位进行计费:
-
对于预置表使用复制的写入容量单位(rWCU)
-
对于按需表使用复制的写入请求单位(rWRU)
rWCU 和 rWRU 的价格高于 WCU 和 WRU。此外,由于是跨区域复制数据,因此对全局表收取跨区域数据传输费用。直接写入或通过复制写入了项目的每个区域都会产生 rWCU 和 rWRU 费用。
从全局表读取的操作将使用与区域 DynamoDB 表相同的方式计费:
-
对于预置表使用读取容量单位(RCU)
-
对于按需表使用读取请求单位(RRU)
DynamoDB 全局表计费示例
我们来演练一个为期多天的示例场景,看看全局表计费的实际工作原理。
第 1 天 — 无全局表:您在 us-west-2 区域有一个名为 Table_A 的区域按需 DynamoDB 表。您向此表中写入 100 条记录,每条记录大小为 1 KB。对于区域 DynamoDB 写入操作,每写入 1 KB,您需要支付 1 个写入请求单位(WRU)的费用。要写入这 100 条记录:
-
您需要在 us-west-2 支付 100 个 WRU 的费用
第 1 天收费的请求单位总数:100 个 WRU。
第 2 天 — 启用全局表:您可以通过在 us-east-2 区域中添加 Table_A 的副本来创建全局表。您向 us-west-2 区域的 Table_A 中写入 150 条大小为 1 KB 的新记录。对于全局表,您需要为所有副本区域中的复制的写入请求单位(rWRU)付费。对于 150 条新纪录:
-
您需要在 us-west-2(源区域)支付 150 个 rWRU 的费用
-
您需要在 us-east-2(副本区域)支付 150 个 rWRU 的费用
第 2 天收费的请求单位总数:300 个 rWRU。
第 3 天 — 添加全局二级索引:您将全局二级索引(GSI)添加到在 us-east-2 区域有副本的 Table_A。您写入 200 条大小为 1 KB 的新记录。使用 GSI 时,您需要支付 GSI 写入的 WRU 费用,以及所有区域中复制的写入请求单位(rWRU)费用。对于 200 条新纪录:
-
在 us-west-2 中,您需要为 GSI 写入支付 200 个 WRU 的费用
-
在 us-east-2 中,您需要为 GSI 写入支付 200 个 WRU 的费用
-
在 us-west-2 中,您需要为基表复制写入支付 200 个 rWRU 的费用
-
在 us-east-2 中,您需要为副本表复制写入支付 200 个 rWRU 的费用
第 3 天收费的请求单位总数:400 个 WRU 和 400 个 rWRU。
总的来说,对于这三天,您需要支付 500 个 WRU 的费用(第 1 天为 100 个 WRU,第 3 天为 400 个 WRU)和 700 个 rWRU 的费用(第 2 天 300 个 rWRU + 第 3 天 400 个 rWRU)。
总之,副本表写入操作在所有副本区域均按复制的写入请求单位(rWRU)计费。如果您有全局二级索引,则需要为所有区域的基表和 GSI 支付 WRU 费用。了解复制写入如何产生 rWRU 费用,这是准确估算全局表成本的关键。