数据生命周期管理
总结
| 记忆点 | 内容 |
|---|---|
| 为什么管 | 存储只增不减,成本持续增长 |
| TTL策略 | ODS(90天)<DWD(1年)<DWS(2年),按价值递增 |
| 冷热分层 | 热(SSD)→温(HDD)→冷(对象存储) |
| 安全措施 | 查血缘→发通知→灰度执行→保留回收站 |
先把这段讲顺;面试官追问时,再展开下面的原理和细节。
详细讲解
进阶 | 大数据面试 · 数仓建模系列
| 面试真题 你们数仓的历史数据保留多久?怎么管理数据的生命周期?有没有做过存储成本优化? |
|---|
为什么要管生命周期?
两个字:省钱。数据只增不删,存储成本每天都在涨。我见过不少公司ODS层存了3年全量历史,80%的分区从来没人查过,但每个月云存储账单几万块。
| Wood的实战经验 我在出海硬件品牌做数据平台时,接手第一件事就是梳理存储。发现ODS层占了总存储的70%,其中两年前的数据占了一半,但过去半年只被查询过3次。做了一轮清理之后,月度存储成本直接降了40%。数据工程师不只是写ETL的,还要有成本意识。 |
|---|
各层TTL策略参考
| 层级 | 推荐保留时间 | 原因 |
|---|---|---|
| ODS | 30-90天 | 原始数据,DWD已清洗,ODS只用于追溯 |
| DWD | 6-12个月 | 明细数据有回溯价值,超一年很少查 |
| DWS | 1-2年 | 汇总数据量不大,保留时间可以长 |
| ADS | 3-6个月 | 直接给报表用,老数据报表也不展示 |
| DIM | 永久(拉链表) | 维度表数据量小,拉链表本身是历史记录 |
冷热分层:不删但降级
有些数据不能删但也不需要秒级查询。用三级存储:热数据(最近30天,SSD,秒级响应)→ 温数据(30天-1年,HDD,分钟级)→ 冷数据(1年以上,对象存储S3/OSS,归档)。
| Wood的实战经验 我在AWS环境做过冷热分层迁移:把6个月前的数据从标准S3移到S3 Infrequent Access,存储成本直接降了45%。用Spark跑批处理任务,更新Hive Metastore指向新路径,对下游完全透明。阿里云MaxCompute更简单:直接ALTER TABLE ods_order SET LIFECYCLE 90;就能设90天自动删除。 |
|---|
删之前的安全检查
① 先查下游依赖:用数据血缘确认没有下游还在用。② 删前通知:至少2周缓冲期。③ 灰度执行:先选几张不重要的表试跑。④ 保留回收站:删除的数据先保留7天,万一误删还能恢复。
| 面试加分提示 「我们按层级设置了不同的TTL:ODS保留90天,DWD保留1年,DWS保留2年。用Airflow定时清理过期分区。另外做了冷热分层,6个月前的明细数据降到低频存储,存储成本降了40%。清理之前会查数据血缘确认没有下游依赖,还有7天的回收站机制防误删。」 关键词:分层TTL + 自动化 + 冷热分层 + 安全机制。 |
|---|