配额说明
SDS的配额有两种:
- 用户配额:每个用户可以为表分配的总配额
- 表配额:表在建立或者修改时用于进行读写的配额上限
其关系如下图所示:
注:用户表的任意配额的总额不能超过用户总配额配额,备集群配额也需要保证足量SDS用户配额说明:
配额类型 | 默认值 | 解释 |
---|---|---|
表数量配额 | 100 | 用户拥有的表数量上限 |
表空间大小配额 | 1GB(未标注单位的以byte为单位) | 用户在SDS所有表数据占用大小上限 |
读配额 | 200 | 用户可分配给表的总配额 |
写配额 | 200 | 用户可分配给表的总配额 |
备集群读配额 | 200 | 备集群上可分配给表的总配额 |
备集群写配额 | 200 | 备集群上可分配给表的总配额 |
SDS表配额说明:
配额类型 | 最小值 | 解释 |
---|---|---|
读配额 | 10 | 表的读配额 |
写配额 | 10 | 表的写配额 |
备集群读配额 | 10 | 备集群上表的读配额 |
备集群写配额 | 10 | 备集群上表的写配额 |
备集群配额的解释
每一个SDS服务包含主备两个集群一般情况下用不到备集群。但是需要留够备集群配额以提供给系统建立备集群上的表。
用户建立的表在主机集群上建立后会同步到备集群
注:若不使用备集群,记得为每一张表预留10的配额,否则会报错超发配额
主集群最大超发的读写配额
这个配额如果设置得比预设主集群的读写配额大,则在系统空闲时允许超过预设主集群的读写配额进行读写,但是每秒最多可读写的容量单位不会超过该值,注意:大于预设主集群的读写配额的部分系统不保证分配成功, 如在建表时没显式指定,默认为预设主集群的读写配额的1.5倍
备集群最大超发的读写配额
功能同主集群最大超发的读写配额,如在建表时没显式指定,默认为预设备集群的读写配额的1.5倍
配额申请流程
1、点击“控制台”
2、点击“结构化存储”
3、点击“配额管理”,并点击“配额申请”
4、输入申请的配额
配额示例
注:以下例子都在主集群,只讨论写配额,读配额类似,且不考索引的情况
表读写额配是以记录数据大小为计算单位的,容量单位为1KB,该配额分为以下几种类型
应用每秒需要往SDS的一个表写入10条记录,每条记录小于1KB,则需要10的预设主集群的写配额
应用每秒需要往SDS的一个表写入10条记录,每条记录为2.5KB,则需要30的预设主集群的写配额
某个表大部分时间都只需要100的写配额,有突发流量涨到150,如果系统空闲并且该表的主集群最大超发的写配额大于150,是可以支持该突发流量的,但是如果此时的系统较忙,超出的50是不保证的
某个表的预设主集群的写配额为100,主集群最大超发的写配额为150,如果每秒写入200个容量单位,就算系统空闲,最多也只能支持每秒150容量单位的写入
索引表的额外读写配额消耗
在对表进行读写时,如果表存在索引,会产生额外的配额消耗
LAZY索引
put操作:如果put的属性包含索引的键值属性,每个LAZY索引会多消耗1个容量单位的写配额
remove操作:remove时不会删除过期索引,索引不会有额外的配额消耗
scan操作:scan时需要额外的1个单位的写容量单位和1个单位的读容量单位
EAGER索引
put操作: 如果put的属性包含索引的键值属性或者投影属性,每个EAGER索引会多消耗1个容量单位的写配额,如果是唯一索引,还会多消耗1个容量单位的读配额
remove操作:如果删除的属性包含索引的键值属性或者投影属性,每个EAGER索引会多消耗1个容量单位的写配额
scan操作: scan时,如果需要读取索引的键值属性和投影属性以外的属性,每条记录需要多消耗1个容量单位的读配额
IMMUTABLE索引
put操作:如果put的属性包含索引的键值属性,每个LAZY索引会多消耗1个容量单位的写配额
remove操作:如果删除的属性包含索引的键值属性,每个IMMUTABLE索引会多消耗1个容量单位的写配额
scan操作: scan时,如果需要读取索引的键值属性以外的属性,每条记录需要多消耗1个容量单位的读配额
CAS的额外读写配额消耗
put和delete操作:如果带条件,多消耗1个容量单位的读配额
increment操作: 消耗1个容量单位的读配额和1个容量单位的写配额