SQL模型字典表设计方案_SQL统一配置来源结构

22次阅读

sql模型字典表核心是将分散SQL沉淀为可管理、可追溯、可复用的元数据,通过model_dict、model_param、model_dependency和model_version四张表,实现身份标识、动态参数、依赖追踪与版本快照一体化管理。

SQL模型字典表设计方案_SQL统一配置来源结构

SQL模型字典表的核心目标是把分散在代码、配置文件etl脚本中的SQL逻辑,统一沉淀为可管理、可追溯、可复用的元数据。关键不是字段,而是让“谁在什么时候用了哪段SQL干了什么事”一目了然。

核心表结构:model_dict(模型字典主表)

记录每个逻辑模型的基本身份和生命周期信息。

  • model_code:唯一业务编码(如 red”>dwd_user_login_di),不依赖数据库名/表名,用于跨系统关联
  • model_name:中文名称(如“用户日登录事实表”),面向业务理解
  • model_type:枚举值(view / table / materialized_view / cte),明确产出形态
  • source_sql:原始SQL文本(支持含${xxx}占位符的模板化写法)
  • status:draft / published / deprecated,控制上线节奏
  • created_by + updated_by:绑定账号体系,留痕责任人
  • created_at + updated_at:自动更新时间戳

参数与变量表:model_param(支撑SQL动态化)

解决硬编码问题,让同一段SQL适配不同环境、周期或租户。

  • model_code:外键关联 model_dict
  • param_key:变量名(如 start_dateenvtenant_id
  • param_value:默认值(如 ‘{{ ds }}’‘prod’
  • is_required:是否运行时必须传入(避免漏配)
  • desc:说明用途(如“分区起始日期,格式 yyYY-MM-DD”)

依赖关系表:model_dependency(厘清血缘与影响范围)

自动识别“这张表被哪些模型引用”,支撑影响分析和下线评估。

SQL模型字典表设计方案_SQL统一配置来源结构

Blogcast™

BlogcastTM是一个文本转语音的工具,允许用户创建播客、视频、电子学习课程的音频和音频书籍,而无需录制。

SQL模型字典表设计方案_SQL统一配置来源结构 63

查看详情 SQL模型字典表设计方案_SQL统一配置来源结构

  • upstream_model:上游模型 code(被依赖方)
  • downstream_model:下游模型 code(依赖方)
  • dependency_type:full_select / join_on / where_in / cte_ref,区分依赖强度
  • parsed_at:最近一次SQL解析时间(配合定时任务更新)

版本与发布表:model_version(保留历史快照)

每次发布新SQL都生成快照,支持回滚、比对、审计。

  • model_code + version:联合主键(如 dwd_user_login_di v1.2.0)
  • sql_content:该版本完整SQL(不含占位符,已做变量替换或留空标记)
  • publish_notes:简要说明变更点(如“修复user_id空值导致join丢失”)
  • is_current:标识当前生效版本(仅一条为 true)

基本上就这些。不需要大而全,先跑通 model_code → source_sql → param → version 这条主线,再按需扩展依赖分析或权限字段。重点是让SQL从“散落的字符串”变成“带身份、有版本、知来路”的资产。

text=ZqhQzanResources