质量与安全
校验、加密、脱敏、权限。
30 分钟
质量与安全
管道跑通不等于数据可信。数据质量与安全合规是生产数仓的守门员:坏数据进 mart,Dashboard 比没有更危险。
学习目标
- 建立 schema、完整性、时效性等质量维度
- 了解加密、脱敏、权限在数据层的实践
- 能在 dbt/SQL 中写基础断言测试
数据质量维度
| 维度 | 检查示例 |
|---|---|
| 完整性 | 主键非空、外键存在 |
| 唯一性 | slug 无重复 |
| 时效性 | max(updated_at) 距现在 < 24h |
| 一致性 | mart 行数 = staging 去重后行数 |
| 准确性 | 抽样与源库 COUNT 对比 |
dbt tests 示例:
# schema.yml
models:
- name: dim_track
columns:
- name: track_id
tests: [not_null, unique]
- name: slug
tests: [not_null]
失败应 阻断下游 或告警,而非静默写错表。
监控与告警
- Airflow task 失败 → Slack / 邮件
- 质量断言失败 → 同路由
- 数据延迟 SLA:
mart_learning_daily每日 08:00 前就绪
与 sb-actuator 应用监控互补:后者管 API,前者管 表级新鲜度。
安全:加密
| 层级 | 做法 |
|---|---|
| 传输 | TLS(JDBC、S3 HTTPS) |
| 静态 | 云 KMS、磁盘加密 |
| 应用 | 字段级加密(PII token) |
对象存储桶 禁止 public read;生产库凭证放 Airflow Connections / Vault,不进 Git。
脱敏与权限
- 脱敏:日志、分析库中手机号
138****5678 - 最小权限:ETL 服务账号只写 staging,分析师只读 mart
- 行列级:BigQuery/Snowflake 的 row access policy(概念)
用户邮箱、进度等 PII 在 CodeRoadMap 中应 mart 层聚合,避免导出明细到 BI。
与路线图的关系
- /roadmaps/data-engineer — Quality & Security 节点
- de-orchestration — 失败重试与告警
- /tracks/sql-essentials — 约束与事务基础