湖存储优化
随着数据持续写入,实例会积累大量小文件和过期快照,导致查询性能下降和存储空间浪费。湖存储优化通过自动合并小文件、清理废弃文件(orphan files)和管理快照生命周期,持续维护存储布局的最优状态。
该功能当前为邀测阶段,如需使用,请提交工单申请开通。
适用范围
|
条件 |
要求 |
|
版本 |
企业版。 |
|
数据库类型 |
仅支持AnalyticDB for MySQL湖存储中的库表。 |
|
可见性 |
仅数据目录中可见的数据库支持配置。 |
三级继承架构
配置沿实例 > 库 > 表逐级传递,下级默认继承上级配置,也可自定义覆盖。
实例级配置(全局默认值)
├── 库 A(继承实例配置)
│ ├── 表 1(继承库 A 配置)
│ └── 表 2(自定义:合并频率 = high)
└── 库 B(自定义:关闭湖存储优化)
└── 表 3(继承库 B → 已关闭)
|
策略 |
行为 |
适用场景 |
|
继承 |
自动跟随上级配置变更。 |
大多数库和表,统一管理。 |
|
自定义 |
独立配置,不受上级影响。 |
有特殊性能要求或需关闭优化的对象。 |
配置优先级:表级 > 库级 > 实例级。选择自定义后,该级及其下级不再受上级变更影响。
关闭实例级启用湖存储优化开关后,所有库级和表级配置失效,整个实例停止优化。已配置的参数不会丢失,重新开启后自动恢复。
配置入口
在实例详情页左侧导航中,选择。
|
层级 |
入口 |
|
实例级 |
库列表上方的湖存储优化区域,单击编辑。 |
|
库级 |
单击目标数据库,选择湖存储优化标签页。 |
|
表级 |
单击目标表,选择湖存储优化标签页。 |
参数总览
|
配置项 |
说明 |
可选值 |
默认值 |
实例级 |
库级 |
表级 |
|
启用湖存储优化 |
实例总开关 |
开启 / 关闭 |
关闭 |
✓ |
— |
— |
|
策略 |
继承上级或自定义 |
继承 / 自定义 |
继承 |
— |
✓ |
✓ |
|
状态 |
当前层级开关 |
开启 / 关闭 |
— |
— |
✓ |
✓ |
|
资源组 |
执行优化任务的计算资源 |
已有资源组 |
— |
✓ |
✓ |
✓ |
|
小文件合并频率 |
合并小文件的频率 |
low / normal / high |
normal |
✓ |
✓ |
✓ |
|
快照保留时间 |
历史快照保留时长 |
1~7 天 |
7 天 |
✓ |
✓ |
✓ |
|
废弃文件保留时间 |
废弃文件保留时长 |
3 / 5 / 7 / 10 / 14 天 |
3 天 |
✓ |
✓ |
✓ |
实例级开关关闭时仅显示开关字段,开启后显示全部配置项。库级和表级选择自定义并开启状态后,显示全部参数。
小文件合并频率
小文件合并(compaction)将多个小数据文件合并为更大的文件,减少文件数量,提升查询效率。
|
级别 |
适用场景 |
|
low |
写入量小、数据变更不频繁的冷数据表 |
|
normal(默认) |
一般业务场景 |
|
high |
高频写入、频繁查询的热数据表 |
更高的合并频率消耗更多计算资源,建议为优化任务指定专用资源组,避免与查询任务争用 I/O。
快照保留时间
快照记录表在某一时刻的完整状态,用于数据回溯和 Time Travel 查询。过多快照会占用额外存储空间和元数据管理开销。默认保留 7 天,最短 1 天。
废弃文件保留时间
废弃文件(orphan files)是数据写入、更新或合并过程中产生的、不再被任何有效快照引用的数据文件。超过保留时间后自动清理以释放存储空间。
缩短保留时间可节省存储空间,但可能影响正在执行的长时间查询。最短 3 天。
执行历史
在表级湖存储优化标签页中可查看合并任务的执行历史,包括读取数据文件数、添加数据文件数、读取字节数、失败数据文件数、执行开始时间和状态。
场景化配置建议
|
场景 |
推荐配置 |
原因 |
|
高频写入分析表 |
合并频率 = high,废弃文件保留 = 3 天 |
快速消除小文件,保持查询性能 |
|
低频访问归档表 |
合并频率 = low,废弃文件保留 = 14 天 |
降低资源消耗,延长数据恢复窗口 |
|
混合负载数据库 |
库级继承,热表自定义 high,冷表自定义 low |
按表粒度差异化管理 |
|
开发测试环境 |
实例级关闭湖存储优化 |
节省计算资源 |