目录
一、存储资源治理的背景
二、存储资源治理的流程及思路
三、治理前如何评估
3.1 无用数据表/临时数据表下线评估
3.2 表及分区的生命周期评估
3.3 存储及压缩格式评估
3.4 根据业务场景实现节省存储评估
四、治理后的成效如何评估
一、存储资源治理的背景
由于早期数仓的存储资源比较充裕,没有考虑到后续集群扩容、存储格式等因素造成的资源紧张的局面,由此需要进行整体的治理优化。
二、存储资源治理的流程及思路
基于治理的难易程度及影响对治理的优先级进行排期,治理顺序可以是:下线无用的数据表以节省存储 --> 存储格式及压缩格式配置 --> 设置表及分区的生命周期 --> 根据业务情景节省存储。
三、治理前如何评估
3.1 无用数据表/临时数据表下线评估
- 数据血缘评估
- 最近30天/60天数据模型检索次数、被下游引用次数、数据模型的读取次数评估
- tmp名开头数据表评估
-- sql语句
select *
from
yx_dwd.dwd_meta_table_detail_df
where ds='2023-09-30'
and table_name like '%dwd_%'
筛选出来的tmp不一定就是完全废弃的,一些线上的复杂代码仍然需要借助tmp作为临时过度表来存放数据。tmp是否是废弃的需要借助血缘来判断,针对无血缘的数据表统一下线处理来节省存储成本。
3.2 存储及压缩格式评估
- 可以通过数据地图单独查看;
- 可以通过元数据的方式查看数据存储及压缩格式。
3.3 表及分区的生命周期评估
(1)数据表的存储生命周期
1.数仓分层表的生命周期
ODS层:1年
DWD:3-5年
DWS:10年(部分可永久)
ADS:10年(部分可永久)
DIM:非用户维度3-5年、用户维度建议用拉链表2.临时表生命周期为7或30天,这些临时表不被线上的其他调度任务所引用
(2)数据表的分区的存储生命周期
数据表分区建议最多2级分区,超过2级分区会造成数据长周期存储等问题。一般而言,
1级分区为业务日期,2级分区是根据业务场景设置的
(3)表及分区的生命周期评估方式
- 通过数据表生命周期去查看
- 数据地图
-
数据治理360生命周期诊断
3.4 根据业务场景进行节省存储评估
查看数据存储top所使用的存储方式(例如全量)
四、治理后的成效如何评估
存储资源治理更多的是会对数仓内部及业务带来价值,对外价值一般是减少部门费用总支出。治理成效的评估指标可以有以下几个方面:
1.下线各层无用/临时数据表总计xxx个,释放存储资源xxT;
2.使用parquet格式+snappy压缩,提升压缩比,存储资源由原来的xxxT降低至xxT。
3.统一v表的生命周期可以节省不必要的存储资源,对于临时表采用7天的存储周期,存储资源由原来的xxxT降低至xxT。
4.根据不同的业务场景,通过拉链表(用户表推荐使用拉链表),进行增全量的方式存储,存储资源由原来的xxT降低至xxT。
5.整体治理后为部门减少了1/3总费用,存储成本由xxx万元降低至xx万元。