表格存储收费方式详解
表格存储是后付费产品,会根据一个账单周期内各个资源的实际使用量进行计量计费,所以不需要额外购买实例费用。
现在表格存储一共有 4 个维度的计量项:
数据存储量
预留读/写吞吐量
按量读/写吞吐量
外网下行流量
表格存储根据账单周期(小时)中的实际使用量来进行计量计费。
详解一:按一个计费周期进行计算
场景
在一个计费周期中,数据量为 50 GB,外网下行流量为 10 GB,在这个计费周期的一个小时内,在第 20 分钟的时候该实例下的所有表的预留读/写吞吐量从(1000,1500)调整到了(1200,800),这一个计费周期共使用了 50000 的按量读 CU 和 10000 的按量写 CU。
计费公式
该实例这一个小时的计费公式为:
存储费用: 50 GB * 每 GB 每小时单价。
流量费用: 10 GB * 外网下行流量单价。
预留 CU 费用:
这一个小时的平均预留读 CU 为:(1000 * 20 + 1200 * 40) / 60 = 1133.3
这一个小时的平均预留写 CU 为:(1500 * 20 + 800 * 40) / 60 = 1033
这一个小时的费用为: 1133.3 * 每小时读 CU 单价 + 1033.3 * 每小时写 CU 单价。
按量 CU 费用:50000/10000 * 每万按量读 CU 单价 + 10000/10000 * 每万按量写 CU 单价。
总费用为上述 4 项费用之和。
数据存储量和预留读/写吞吐量都是精确到分钟级别,在计费周期结束的时候会对这个计费周期中的数据存储量和预留读/写吞吐量取平均值,来作为这个计费周期该资源的实际使用量。按量读/写吞吐量是精确到秒级别,统计此次计费周期中每秒使用的按量 CU,再做一次聚合。
假如在前二十分钟中,预留读 CU 设置是 1000,在某一秒消耗了 2100 读 CU,那么这一秒按量读吞吐量就是 (2100 - 1000) = 1100。更详细的表格存储计量项信息请参见 [backcolor=transparent]
表格存储 详细价格信息。
详解二:按一天的使用进行计算
目前按传统方式购买资源的计费方式如下。
场景 1
上图模拟了一个应用程序一天的访问情况,为方便说明,假设这个应用程序的读/写访问情况是一致的。那么该应用程序为了保证在波峰的时候能够有足够的资源来提供读/写服务,用户就需要按波峰的业务量进行购买资源,假如换算成表格存储的服务能力单位,就是购买 200 CU 的预留读/写吞吐量。
计费公式
该用户一天的费用就是:200 * 每小时读 CU 单价 *24 + 200 * 每小时写 CU 单价 * 24 + 24 小时的数据存储费用 + 24 小时的外网下行流量费用。
表格存储提供了调整表预留读/写吞吐量的 API,用户可以随时调整每张表的预留读/写吞吐量大小,调整之后会在一分钟内生效,更关键但是调整表的预留吞吐量不会影响对业务造成任何影响。
基于这种方式,用户在波峰的时候调大以适应业务增长需要,波谷的时候再降低预留 CU 以节省费用。
场景 2
假如用户当天使用表格存储的方式为:
24 个小时的周期中:
0~5 点:设置读/写 CU 为 30。5 个小时中,读、写各消耗的超出预留部分的 CU 为 100000 个。
5~10 点:业务访问下降,调整读/写 CU 为 20。5 个小时中,读、写各消耗的超出预留部分的 CU 为 5000 个。
10~12 点:业务访问开始上升,调整读/写 CU 到 45。2 个小时中,读、写各消耗的超出预留部分的 CU 为 10000 个。
12~18 点:业务高峰到来,将读/写 CU 提高到 180。6 个小时中,读、写各消耗的超出预留部分的 CU 为 30000 个。
18~24 点:访问高峰已经过去,将读/写 CU 下调到 20。6 个小时中,读、写各消耗的超出预留部分的 CU 为 50000 个。
计费公式
为方便计算,我们假设读写比例为 1:1,读/写预留 CU 调整方式一样,那么这一整天在 CU 上面的费用就是:
读 CU 费用:
(30 * 5 小时 + 20 * 5 小时 + 45 * 2 小时 + 180 * 6 小时 + 20 * 6 小时) * 每小时预留读 CU 单价 + (100000 + 5000+ 10000 + 30000 + 50000) * 按量读 CU 单价
写 CU 费用:
(30 * 5 小时 + 20 * 5 小时 + 45 * 2 小时 + 180 * 6 小时 + 20 * 6 小时) * 每小时预留写 CU 单价 + (100000 + 5000 + 10000 + 30000 + 50000) * 按量写 CU 单价
相比传统购买资源的方式,一天中节省费用为:
3260 * 每小时读 CU 单价 + 3260 * 每小时写 CU 单价的费用 - 19.5 *每万按量读 CU 单价 - 19.5 * 每万按量写 CU 单价
注意事项
上述费用计算均不包括到 2017 年 12 月份之前每用户每自然月的免费额度。
按量读/写吞吐量的单价略贵于预留吞吐量的单价,所以建议用户根据业务动态合理的调整预留值,这样能够有效的降低成本。
可以用过 SDK 将表的预留读/写吞吐量设置在比较低的水平,这样就会优先使用到免费额度。