读写容量模式概述
TcaplusDB 使用读写容量模式来计算表的读写请求量。
容量单元(CU,Capacity Unit)
指访问资源的最小请求单位,是请求数据读和请求数据写的最小统计单元。
读容量单元(RCU,Read Capacity Unit)
读容量单元是读取请求的最小单元,一次请求所产生的数据响应可能包含多个读容量单位,一个读容量单位最大值为4KB,即一个读取请求单位表示对大小最多为4KB的记录执行一次读取请求。如果需要对大于4KB的数据进行读取请求,则需要额外的请求单位。
读容量单元的基数为4KB。未满4KB的单次请求以4KB计算,超过4KB的请求以4KB的倍数算,余数均向4取整为4KB。
示例如下:
读请求容量
用户发送了一个请求,需要查询的某条记录中的某个字段,此记录共10KB,此时数据库将返回此记录的指定字段值给用户。此时响应的数据为10KB,计算为3RCU。
写容量单元(WCU,Write Capacity Unit)
写容量单元是写入请求的最小单元,一次写请求所产生的数据写入容量可能包含多个写容量单元,单个写容量单元最大值为4KB,即每写入4KB的数据则记作一次写请求单位。
写容量单元的基数是4KB,单次请求写入容量不超过4KB的以4KB计算。超过4KB的写入请求,小数均向上取整。
当用户执行写操作时,可选择是否开启写操作返回功能(Result Flag),当用户开启此功能时,系统将自动计算返回的数据容量作为WCU。
消耗 WCU 数 = 数据写所产生的 CU + 返回 CU
示例如下:
写请求
一个用户发送了一个请求,需要更新5KB的内容,后台将需要更新的数据所在的记录从磁盘读取到内存(共50KB),
然后更新相关记录,完成更新后,将50KB内容刷新到磁盘当中。
如果用户开启了写操作返回记录,将返回5KB的内容给用户。
开启写操作返回
产生了 13CU(50KB写盘)+ 2CU(返回的5KB)= 15WCU
未开启写操作返回
产生了13CU(50KB写盘)= 13WCU
预置模式
如果您选择预置模式,则需要根据访问变化调整表的预置读写容量。此操作可帮助您控制对 TcaplusDB 的使用,使之保持或低于定义的请求速率,以便获得成本可预测性。
为了更好地配置预置容量,您需要对应用程序流量进行提前预估。
预留读
指对表格进行读取容量单元的预配置,您需要预估此表格当日的最高的每秒RCU消耗,然后设置此值为预留RCU。
预留写
指对表格进行写入容量单元的预配置,您需要预估此表格当日的最高的每秒WCU消耗,然后设置此值为预留WCU。
预留容量
指对表格进行占用磁盘容量的预配置,您需要预估此表格当日的容量大小。
请求限制与超出配额
针对用户因 RCU 或者 WCU 配置得过低,又因突然增长的访问请求场景,TcaplusDB默认将对超过预配置 RCU 和预配置 WCU 40%的请求进行限制,此限制并非限制请求无法访问,而是对请求进行排队,降低访问频率,程序可能会出现超时现象。用户可通过监控告警功能得知当前请求数超过预配置能力。
限制会避免您的应用程序消耗太多容量单位。当请求受到限制时,请求将失败并出现大量系统错误。
您可以使用 TcaplusDB 表格监控监视实际读写容量单元,并在必要时修改表格配额。