Skip to content

表生命周期怎么管(保留 / 归档 / 下线 / 恢复演练) ​

难度与前置

难度:进阶
前置:知道分区与分层;能列出一张表的下游依赖(调度任务 / ADS / BI)。
读完能做什么:按「保留策略 → 冷热归档 → 下线清单 → 误删恢复演练」填完仓侧可勾选流程,并留下带数字的验收记录(不是对象存储产品课)。

适用场景 ​

  • 热存储费用爬升,大量历史分区无人认领、无人敢删
  • 产品下线 / 表合并 / 重复主题表,需要正式停写停读并留痕
  • 合规或合同要求「明细只保留 N 天」,到期要可审计地转冷或销毁
  • 事故演练要求「误删分区后能在约定 RTO 内恢复」

不适用:

  • OSS / S3 / HDFS 等存储产品课与控制台点击教程(原则可映射,本文不堆厂商 API)
  • 云账号账单分账与计算配额总框架(见 成本治理)
  • 改口径 / 改主键前的影响评估专文(见 改表前影响评估)
  • ADS 切流与发布门禁本身(见 ADS 出数验收)

真实场景(一条) ​

短剧投放组有一张 dwd_ad_spend_detail(投放消耗明细,按 dt 分区)挂了两年热存储:业务只看近 90 天;财务偶查近 13 个月;更早分区几乎零查询。无人写 TTL;有人随手 DROP PARTITION 清空间,下游 ADS 补数窗口内缺 7 天,投放日报空白。

按本清单重来:表定级「业务明细 + 财务留存」→ 热 90 天 / 温 13 个月可查归档 / 更早只留合规销毁记录 → 下线旧重复表走血缘签字 → 在 test 做「删分区 → 从归档恢复」演练(禁止无备份真删生产)。三月热存体量 −40%,零「误删不可恢复」工单。

怎么做(步骤清单) ​

1. 保留策略:分级 + TTL(先写纸再动刀) ​

每张表(或每类表模板)必须有书面保留策略,禁止「先删再说」。

text
表保留策略单(最小)
对象:库.表 ________
负责人 / 备份联系人:________
数据分级(可与访问脱敏 L0–L3 对齐):□公开聚合 □业务明细 □敏感明细 □合规冻结
业务查询窗口(热):____ 天(谁还在查:________)
审计 / 财务 / 合规窗口:____ 天或 ____ 月
到期动作:□转温/冷可查 □只备份不可交互查 □销毁(须双人)
分区键 / 时间口径:________(与分区专篇一致)
例外:诉讼冻结 / 监管抽查 → □暂停 TTL

分级示意(按团队改名,数字可改但必须有数):

层级 / 用途热(交互可查)温/冷(可恢复查询)销毁
L0 公开聚合如 180 天更早可压缩归档按产品定
L1 业务明细如 90 天13 个月常见财务窗窗外按策略
L2 敏感明细尽量短;权限收紧归档同样走 访问与脱敏销毁留审计
L3 合规冻结默认不开放按法规,不随意转热仅合规流程

口诀:TTL 写在表注释 / 元数据 / 策略单三处一致;改 TTL = 变更,不是运维随手改脚本。

分区落地与删分区前提见 分区策略;敏感表转冷不代表可以放开权限。

2. 冷热归档:谁可查、成本怎么算 ​

归档不是「扔进某个桶就不管」,要回答三件事:谁还能查、怎么查、贵在哪。

态典型条件(示例)谁可查成本关注
热未超业务查询窗原角色矩阵存储单价高;扫全表最贵
温/冷可查超热窗、未超审计窗owner / 审批后只读;分析师默认不扫存储低;取回/扫描可能另计
备份不可交互仅恢复用途恢复演练账号;禁止当日常数仓读备份费用 + 恢复演练成本
已销毁超合规窗且无冻结无人保留销毁审计,不保留数据

落地约定:

  1. 按分区推进,不整表「某一天突然全冷」吓下游;公告窗口(如提前 14 天)
  2. 冷数据查询走审批或专用队列,避免「归档了仍被全表扫」把节省吃光(对接 成本治理)
  3. 归档产物若含 PII,权限与脱敏不降级;导出仍走脱敏门禁
  4. 元数据标状态:hot | warm | archived | pending_drop | dropped;调度对 pending_drop 停写

与环境:生产归档策略在 prod 执行;恢复演练优先在 环境隔离 的 test/staging 用脱敏或合成分区验证流程。

3. 下线清单:血缘签字(停写 ≠ 已下线) ​

下线表 / 合并重复表 / 停主题,走清单,禁止只关调度。

text
表下线清单(最小,可与影响评估单合并)
对象:库.表 ________  变更类型:□下线 □合并到 ____ □改名保留跳转期
上游:________  下游任务数:____  ADS/BI/导出:____
影响评估单号:________(见 lineage-impact)
停写日:________  只读窗口至:________  删数/删表日:________
签字:
  □ 数据 owner
  □ 主要下游负责人(可多人)
  □ 调度/平台(停任务、拆依赖)
  □ 合规(若 L2/L3 或销毁)
回滚点:只读窗口内可恢复调度;删数前备份位置:________

执行顺序(可勾选):

  1. 改表前影响评估 填完,破坏性勾「下线」
  2. 公告 + 只读:停新写入,保留查询一个约定窗口
  3. 下游改切到新表 / 新 ADS;旧依赖清零(含幽灵「只读不调度」)
  4. 备份或归档达标后,再删分区 / 删表;审计日志保留
  5. 字典与地图式索引更新:状态 deprecated → dropped

若下线的是 ADS 出口,发布与观察窗口仍走 ADS 出数验收;回刷相关见 幂等 / 幂等回刷。

4. 误删恢复演练:演练 ≠ 真删生产无备份 ​

目标:证明「约定 RTO/RPO 内能恢复」,不是在生产赌一把。

text
恢复演练单(最小)
场景:□误删分区 □误删表 □错误 TTL 批量掉冷后需回热
演练环境:□test/staging(默认) □prod(须变更单 + 双人;禁止无备份)
备份来源:________  备份时间点:________  RPO 目标:____  RTO 目标:____
步骤摘要:隔离 → 从备份/归档恢复到演练库 → 行数/金额抽检 → 权限矩阵复核
禁止项:□无备份对 prod 真删  □演练账号用个人高权限长期挂起
结果:恢复耗时 ____;diff ____;问题单号 ____
签字:owner + 值班  日期:________

演练节奏建议:

  • 核心事实表 / 财务相关表:每半年至少 1 次分区级恢复演练
  • TTL 批量任务上线前:在 test 对「即将删除的分区集合」做一次 dry-run 列表 + 恢复抽样
  • 演练记录进验收表;失败则先修备份链路,再放开更激进的 TTL

口诀:先有可恢复证明,再缩短热窗;没有演练记录的「节省存储」不算验收通过。

常见坑(至少这些) ​

  1. 只有「删分区脚本」,没有书面 TTL 与负责人
    人一走,谁也不敢动或乱删。

  2. 归档后仍被当热表全表扫
    存储省了,取回与计算更贵。

  3. 下线只停调度,不挡下游读、不拆依赖
    幽灵依赖,半年后补数才爆。

  4. 敏感明细冷归档后权限放开
    生命周期变成绕过脱敏的暗道。

  5. 在生产无备份演练「误删」
    演练直接变成事故。

  6. TTL 与分区时间口径不一致
    按入库日删、业务按入账日查,删错窗。

  7. 销毁无双人、无审计,合规抽查交白卷

  8. 把本篇写成 OSS/S3 生命周期规则对照表,勾了厂商项却无仓侧签字单

如何验收(带数字的前后对比) ​

项改前(示例)改后(目标)
有书面保留策略的核心表占比如 < 30%100%(核心清单内)
超审计窗仍占热存储的分区量如 ≥ 40% 表体积≤ 约定(如 < 10%)
无血缘签字的下线/删表次数≥ 10
误删后不可恢复事故有或未知观察期 0;有演练记录
恢复演练 RTO(抽样分区)未测≤ 约定(如 4h)且有记录
冷数据违规明文导出未知抽检 0;权限矩阵有效
text
表生命周期验收记录(可复制)
对象:库.表 / 表模板
策略:热 ____ 天;温/冷 ____;销毁 ____;冻结例外:有/无
归档:状态标签 ____;可查角色 ____;成本备注 ____
下线:影响单号 ____;停写日 ____;只读至 ____;删数日 ____;签字齐:是/否
演练:环境 ____;RPO/RTO ____ / ____;耗时 ____;diff ____
热存体量前后:____ → ____(或分区数前后)
签字(数据 owner):________  日期:________

Checklist:

  • [ ] 保留策略单含分级、TTL、到期动作、负责人
  • [ ] 冷热态有「谁可查」与成本注意;敏感权限不降级
  • [ ] 下线走血缘签字与只读窗口;停写≠已下线
  • [ ] 恢复演练在隔离环境或有备份的变更单下完成,有 RTO/RPO 数字
  • [ ] 链到分区 / 成本 / 脱敏 / 影响评估 / 环境隔离 / ADS / 幂等,不重写专篇
  • [ ] 无未公开公司项目名与真实内部表名风格泄露
  • [ ] 未写成存储厂商生命周期产品手册

相关专篇(互链,不重写) ​

你要做的事看哪篇
分区键、删分区前注意点分区策略
存储分层与闲置回收总框架云上成本治理
敏感表归档后谁能看访问与脱敏
下线前下游与签字改表前影响评估
演练落在哪套环境环境隔离
下线的是对外出口时ADS 出数验收
回刷 / 重跑覆盖离线幂等、幂等回刷
本篇只定仓侧保留→归档→下线→恢复演练清单,不替代上述专篇

相关面试题 ​

题库小程序链接待定;先用站内锚点占位。

  • [ ] 题:核心表书面保留策略最少要写清哪些字段才算达标?(考察点:分级/TTL/到期动作/负责人;核心清单 100%)→ 占位:#todo-interview-table-lifecycle-retention
  • [ ] 题:热转冷后「谁可查」与脱敏权限为何不能降级?(考察点:冷热态权限矩阵;抽检明文导出=0)→ 占位:#todo-interview-table-lifecycle-cold-acl
  • [ ] 题:下线为何不能「停写即删」?签字与只读窗口如何验收?(考察点:血缘签字齐;停写≠已下线)→ 占位:#todo-interview-table-lifecycle-decommission
  • [ ] 题:误删恢复演练怎样才算过?(考察点:隔离环境;RTO/RPO 有数字;观察期不可恢复事故=0)→ 占位:#todo-interview-table-lifecycle-restore-drill

改写说明:清单体例对齐访问脱敏 / 测试样例集;保留 → 归档 → 下线 → 恢复演练四步;刻意不写 OSS/S3/HDFS 产品课。虚构通用短剧投放明细例,无未公开公司数据。