LAS 存储:用于存储库表、资源包、文件系统等 LAS 数据单元,其中可细分为 LAS 热存储和 LAS 冷存储两种类型。
LAS 冷存储:通过 TOS Namespace Managed Mode 构建,物理存储于 TOS,但客户仅感知 LAS ,操作及收费入口均为 LAS。
LAS 热存储:通过 TOS + 缓存空间 Hot Storage 构建,物理存储于 SSD,相较于冷存储有一定的查询增速效果,适合存放访问频率高的库表数据。但客户仅感知 LAS ,操作及收费入口均为 LAS。
在创建 Schema/表时,通过 UI or SQL ,支持用户定义表数据转为冷数据的时间周期。
冷存储和热存储在功能上没有差异, 冷存**/热存的转换为系统自动操作(热转冷,到期生效。冷转热,到期后首次访问后生效),** 无需用户手动转移。
热存储相较于冷存储,存在查询加速的效果,预估加速效果在 10%~30% 左右。
LAS 会分开统计用户的热存储和冷存储的总量,并分开计费,具体计费差异见 “产品计费” 章节。
对于表,用户未定义 TTL,默认使用热存。
对于文件系统(除 /warehouse 路径下)里直接上传的文件,默认使用冷存。
进入 LAS 控制台 - 数据管理,点击左上角 Schema 库管理 ,可以看到已有的数据库。
点击右上角 创建 Schema 按钮,在弹窗中输入库名,需要是字母、数字、下划线组成。然后选择启用分层存储,依次配置数据分层依据(必填)、TTL-热存期与TTL-保留期(至少配置一项,若同时存在则TTL-热存期值需要小于保留期)。建库完成后,会跳回库管理页面,即可以看到新创建的数据库。
进入 LAS 控制台 - 数据管理,点击左上角 表管理 ,点击右上角 创建表 按钮,在弹窗中输入库名,需要是字母、数字、下划线组成。然后选择启用分层存储,依次配置数据分层依据(必填)、TTL-热存期与TTL-保留期(至少配置一项,若同时存在则TTL-热存期值需要小于保留期)。
SQL 语法中数据分层相关参数配置:
参数名 | 参数范围 | 必填 | 启用后默认值 | 使用说明 | |
---|---|---|---|---|---|
ttl_enable | [true, false] | 否 | true | 设置了 ttl 或 hot_ttl 时,该参数可不填,默认为'true'。当参数设置为 'false' 时,代表关闭数据分层配置。 | |
ttl | [1-999] day | 是 | 数据保留时长。特性如下:
| ||
hot_ttl | [1-999] day | 是 | 数据热存时长。特性如下:
| ||
tiered.storage.strategy | [PartitionCreateTime, TableAccessTime] | 否 | Schema/分区内部表 | PartitionCreateTime | 数据存储策略。当配置为 PartitionCreateTime 时,按照分区创建的时间来判断数据是否超期;当配置为 TableAccessTime 时,按照表最近访问时间来判断数据是否超期。非分区内部表仅支持设置为 TableAccessTime。 |
非分区内部表 | TableAccessTime |
若采用 DDL 形式创建数据库,则可以在 dbproperties 填入相关参数启用数据分层功能,如新建数据库 las_test,设置数据保留期为 2 天,数据热存期为 1 天,数据存储策略选择为 PartitionCreateTime。
CREATE DATABASE IF NOT EXISTS las_test WITH DBPROPERTIES ( 'ttl' = '2', 'hot_ttl' = '1', 'tiered.storage.strategy' = 'PartitionCreateTime' )
启用数据分层后,后续在该库下新建的内表默认会继承其数据分层相关配置参数。
创建内表的时候可以选择启用数据分层,若通过控制台建表,那么可以点击 启用分层存储 进行配置**。** 若以 DDL 形式创建内表,那么需要在 tblproperties 中填入相关参数配置。假如该表所在库已经启用数据分层,那么可以不设置数据分层参数,最终该表默认数据分层配置会与库数据分层配置一致;假如需要指定数据分层的配置,那么可以在建表时手动填入对应配置,最终该项配置值以指定值为准;假如只需要启用TTL-热存期或TTL-保留期其中一项功能,为了避免从库继承配置,可以将另一项配置的参数值设置为空字符;若需要关闭数据分层功能,那么可以通过设置 enable_ttl = 'false' 实现,但分层参数配置会继续保留,方便下次需要重新开启。
如新建内部分区表 ttl_test,设置数据保留期为4天,不启用数据冷热分层,数据存储策略 PartitionCreateTime
CREATE table IF NOT EXISTS las_test.ttl_test (id int, name int, age string) partitioned by(date string) stored as parquet TBLPROPERTIES( 'ttl' = '4', 'hot_ttl' = '', 'tiered.storage.strategy' = 'PartitionCreateTime' )
若需要修改表的数据分层配置,可以选择进入 LAS 控制台 - 数据管理,点击左上角 表管理, 查找需要修改配置的表。然后点击表一行的 编辑 按钮进行编辑。或者可以直接通过 SQL 直接编辑,如下,修改后的表配置将在 次日生效。
ALTER table las_test.ttl_test SET TBLPROPERTIES('ttl' = '3')