配置表的生命周期
在创建表的时候,支持对表设置生命周期管理。默认表文件在TOS的标准存储中,通过设置表的生命周期,可将长时间不用的表放到TOS的归档存储中,以节约您的数据存储成本。
用户根据业务实际需求设置生命周期,不建议设置过短,因为数据从TOS归档型再取回到标准存储中,需要您在TOS中操作解冻,并会收取对应取回费用。取回费用参考:数据取回费用。
参数说明:
- 分区变更时间:表或分区最后一次更新时间。
- 如果insert overwrite表数据,会删除老的数据,上传新的数据。新数据的文件上传时间就是表的分区变更时间。该表的生命周期倒计时会从最后一次更新时间开始计算。
- 如果是insert into表数据,历史数据的更新时间不会改变,新插入的数据更新时间为最新时间。这可能会造成表的旧分区数据已经达到归档条件进入归档型存储,而新分区的数据依然在标准存储中的情况。
- 归档数据:将数据放到TOS的“归档型”存储中。TOS的存储类型您可参考:存储类型。
删除表的生命周期
删除表的生命周期有如下两种方式。
方式一:
在LAS 控制台左侧导航栏中,单击元数据 > 数据表,选择对应数据表点击删除,表的生命周期规则会随之一起删除。
方式二:
在LAS 控制台左侧导航栏中,单击元数据 > 数据表,选择对应数据表点击编辑,进入数据表,关闭表生命周期。
注意
目前TOS的生命周期管理有一些约束限制,LAS同样遵循这些约束限制,比如:
- 生命周期规则生效时间:创建生命周期规则后不会立即对桶内所有对象生效,会存在一定的延迟。即生命周期规则创建后的 24 小时内,TOS 会加载规则。规则加载完成后,TOS 会在 24 小时内开始启动执行。
- 生命周期规则执行优先级:不同的前缀重叠状态,生命周期规则执行的优先级不同。
- 生命周期规则数量:单个桶的生命周期规则最多不超过 1000 条,并且一个桶中所有生命周期规则的 JSON 描述总大小不能超过 20KB。规则的prefix长度(也就是表的存储路径)不能超过1024字节
- 归档后数据使用限制:CopyObject 、GetObject、SetObjectMeta、UploadPartCopy 接口设置归档存储对象,或者移动、重命名和下载归档存储对象之前,需要先恢复对象,否则会失败。
常见问题
如果表的数量超过1000个,如何设置生命周期
- 优先建议database级别设置database存储路径下的生命周期,即在TOS生命周期管理的页面,设置database存储路径为前缀的生命周期规则,这样相当于在database粒度有一个默认的生命周期规则,如果表的生命周期规则和database不同,再开启表的生命周期规则。
- 单个bucket有1000个规则的数量限制,可以考虑使用多个bucket。
错误:Found two rules with same prefix
需开启前缀重叠。详细操作参考:设置前缀重叠。
错误:The operation is not valid for the object's storage class
归档的数据不能被移动、读取等,也就是说table rename/select等操作都会被限制。需要先恢复为标准存储才能使用。详细操作参考:恢复文件。