使用多元索引时,索引数据会产生额外的数据存储量,索引查询也会消耗读吞吐量。本文介绍了多元索引的计费项、计费公式、计费示例以及常见问题。

注意事项

  • 索引单独计量计费,和数据表无关。
  • 多元索引的各计费项的价格和高性能实例费用一致。具体计费价格请参见表格存储价格详情页

计费项

计费项 计费方式 描述
数据存储量
  • 按量付费
  • 资源包

单位为GB,不足1 GB的按1 GB向上取整。

表格存储对索引的数据总量按小时计费。由于索引中字段类型、索引类型的不同会导致最终占用的系统资源差异极大,索引的存储量未按照数据表的原始数据大小计费,而是根据创建完索引后的压缩数据大小进行计费。
读吞吐量 预留读吞吐量
  • 按量付费
  • 资源包

单位为CU

表格存储会根据索引数据规模自动设置一个预留读吞吐量。预留读吞吐量费用包含以下资源消耗:
  • 创建索引时,会先从数据表中读取数据,从而消耗一定读吞吐量。
  • 创建索引需要消耗写吞吐量,且创建索引时可能还会有分词,对资源的消耗会比较高。这部分费用也会包括在预留读吞吐量中,不会再额外计费。
  • 为了保证索引和查询的性能,索引的部分内容会提前加载进内存且内存常驻,并消耗系统的内存资源。这部分费用也会包括在预留读吞吐量中。

查询索引时不超过预留读吞吐量的部分将按照预留读的单价进行计费。例如一个索引的预留读吞吐量为10000 CU,使用索引查询时,每次查询10行数据,每行小于4 KB,当查询QPS(每秒查询率)小于1000时查询吞吐量都会被预留吞吐量覆盖,这部分查询不会再额外收费。

预留读吞吐量生成规则:预留读吞吐量和索引的数据大小及行数成正比,1 GB或200万行数据对应10 CU。当数据大小和行数对应的预留读吞吐量不一致时,系统会取两者中较大值作为预留读吞吐量。

重要 当数据存储量小于200 MB且数据行数小于40万行时,预留读吞吐量只能为20 CU,主要用于小数据量的测试;当数据存储量大于等于200 MB或者数据行数大于等于40万行时,预留读吞吐量系统最低会设置为100 CU。
按量读吞吐量
  • 按量付费
  • 资源包
当实际读吞吐量超出了预留读吞吐量时,超出的部分按照按量读吞吐量进行计费。

单位为CU

外网下行流量 按量付费 外网流出流量的费用。单位为GB。

计费公式

多元索引的数据存储量以及读吞吐量的计算公式请参见下表。

计费项 公式 描述
数据存储量 storage Size指索引压缩后的大小。
读吞吐量
索引预留读CU:fig_reservereadcu

查询读CU:cuperquery

  • Size指索引压缩后的大小。
  • Rows指索引中数据总行数,不包括嵌套类型的子行。
  • ReturnRowSize指返回行的大小。
  • ReturnRowCount指返回行数。

计费示例

说明 下表中的价格仅供参考,具体价格请以表格存储价格详情页为准。
存储 行数 费用计算
8 GB 900万行
  • 存储费用:8*0.0015元/GB/小时=0.012元/小时
  • 预留读吞吐量生成规则:8 GB对应80 CU,900万行对应45 CU。由于当数据存储量大于200 MB且数据行数大于40万行,预留读吞吐量系统最低会设置为100 CU,因此预留读吞吐量需要按照100 CU计算。

    预留读吞吐量费用:100*0.00056元/CU/小时=0.056元/小时

  • 总费用:0.012元/小时+0.056元/小时=0.068元/小时

如果实际读吞吐量超过预留读吞吐量,超出部分按照按量读吞吐量进行计费。如果产生外网下行流量,外网下行流量费用同数据表一致。

100 GB 3亿行
  • 存储费用:100*0.0015元/GB/小时=0.15元/小时
  • 预留读吞吐量生成规则:100 GB对应1000 CU,3亿行数据对应1500 CU,则预留读吞吐量取两者中较大值则是1500 CU。

    预留读吞吐量费用:1500*0.00056元/CU/小时=0.84元/小时

  • 总费用:0.15元/小时+0.84元/小时=0.99元/小时

如果实际读超过预留读吞吐量,超出部分按照按量读吞吐量进行计费。如果产生外网下行流量,外网下行流量费用同数据表一致。

常见问题

使用多元索引时,为什么会产生预留读CU?

表格存储会根据索引数据规模自动设置一个预留读吞吐量。预留读吞吐量费用包含以下资源消耗:
  • 创建索引时,会先从数据表中读取数据,从而消耗一定读吞吐量。
  • 创建索引需要消耗写吞吐量,且创建索引时可能还会有分词,对资源的消耗会比较高。这部分费用也会包括在预留读吞吐量中,不会再额外计费。
  • 为了保证索引和查询的性能,索引的部分内容会提前加载进内存且内存常驻,并消耗系统的内存资源。这部分费用也会包括在预留读吞吐量中。

多元索引中的预留读CU配置支持调整么?

不支持调整。预留读CU与存储量和行数正相关,用于支持索引的构建与相关内存维护。如果期望减少该部分开销,只能通过优化索引大小或行数来解决。

在容量型实例中,使用多元索引时为什么会产生高性能的存储与读写计费?

使用多元索引时,索引数据会产生额外的数据存储量,索引查询也会消耗读吞吐量,同时多元索引的各计费项的价格和高性能实例费用一致,因此在容量型实例中使用多元索引时会产生高性能的存储与读写计费。

如何查看多元索引的计量数据?

您可以通过表格存储控制台查看多元索引的存储量、预留读CU、行数等计量数据。具体操作,请参见查看多元索引计量数据

多元索引预留读吞吐量支持使用预留CU套餐进行抵扣吗?

支持。预留CU套餐用于抵扣预留读写CU量(包含多元索引产生的预留读吞吐量)。