1. 静态脱敏(SDM,ETL 生成脱敏副本)与动态脱敏(DDM,查询时按角色实时遮盖)分别如何实现?二者在性能开销、存储成本与适用场景上有何差异?
静态脱敏(SDM)与动态脱敏(DDM)分别如何实现?它们在性能开销、存储成本与适用场景上有何差异?
- 静态脱敏与动态脱敏的实现原理
- 性能开销与存储成本的对比
- 适用场景的差异
静态脱敏(SDM)在 ETL 阶段把源数据脱敏后生成一份脱敏副本,写入非生产环境(测试、开发、分析),数据在落库时已脱敏,查询时性能与正常数据一致,但因为副本是全量复制,存储成本高、且副本与源数据存在一致性维护问题。动态脱敏(DDM)在查询时按用户角色实时遮盖敏感字段,源数据保持原样,通过代理/视图/数据库脱敏机制在返回前改写结果,存储成本低、数据始终一致,但每次查询都要做脱敏判断与改写,带来一定性能开销,且依赖脱敏引擎的稳定。适用场景:SDM 适合测试/开发/外包等非生产环境需要"真实结构但无真实数据"的场景;DDM 适合生产环境多角色访问、需按需脱敏的场景(如客服看部分、管理层看全部)。
两者的本质区别是"脱敏时机":SDM 在存储前脱敏(副本隔离),DDM 在查询时脱敏(原地遮盖);SDM 牺牲存储与一致性换性能,DDM 牺牲性能与引擎依赖换存储与一致性。