尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

数据仓库开发规范之数据仓库模型表命名规范

数据仓库开发规范之数据仓库模型表命名规范 目录一 ODS模型表命名规范二 DIM模型表命名规范三 DWD模型表命名规范四 DWS模型表命名规范五 ADS应用表命名规范六 非关键组织命名规范1 集成层模型表命名规范2 视图层视图命名规范3 临时区临时表命名规范本规范依赖《数据仓库架构》定义需要提前理解基于Kimball维度模型指导标准三层架构方案另外通过表命名涵盖必要业务含义模块化抽象进行命名规范设计。目标达成泛业务化的数据仓库通用命名规范定义基于此可以指导数据中台或数据开发平台的建设给出模块化的理论参考。本文会引用符号说明{}使用{}内容表示必选项[]使用[]内容表示可选项一 ODS模型表命名规范命名目标【必填】层次标识通过可选的标识该表属于ODS分层比如ods前缀。【扩展】ODS内部分层通常分为贴源层和持久层两部分如果存在类似场景需要考虑命名区分。一般建议贴源层src标识持久层ods标识【必填】明确标识数据源信息包括源表所属的服务组(如果存在)、源表所属的源数据库信息这个能力也可以通过数据源标识来标识等。【必填】清晰标识源表信息特别是分库分表时的具体数据范围一般要保证表名称与业务源一致。【必填】增全量标识更详细信息可参考《增全量标识》定义。周期范围 \加载方式全量加载 (f)分区增量加载 (i)分区快照加载 (s)实时加载 (rt)其他(--)小时 (h)hfhihs----日 (d)dfdids----周 (w)wfwiws----月 (m)mfmims----实时(rt)------rt--其他(--)----------注意事项如果采纳数据源标识而非源服务源库直接标识规范需要维护源服务源库到数据源标识映射例如ID源服务标识源数据库标识数据源标识1service_namedb_namesrc_tag在生成表命名规范时用src_tag替代service_name服务下的db_name数据库分层标识于数据源服务标识(如果存在)用__作为分隔标识数据源服务标识与数据库名用_作为分隔符标识数据库名与数据表用__作为分隔标识如果采用数据源标识方式数据源标识与数据表用__作为分隔标识命名标准贴源层src__{[数据服务标识_]数据库标识|数据源标识}\{源表名称}\{增全量标识}持久层ods__{[数据服务标识_]数据库标识|数据源标识}\{源表名称}\{增全量标识}示例同步交易库订单表贴源层拉取全量表src__servecename_dbname__order_info__df持久层合并增量表ods__servecename_dbname__order_info__di贴源层拉取全量表(数据源标识版本)src__srctag__order_info__df持久层合并增量表(数据源标识版本)ods__srctag__order_info__di二 DIM模型表命名规范命名目标【必填】分层标识通常维度表用前缀dim标识字典表用前缀dict标识【必填】业务域对于公共维度设置到公共域(pub)下;【必填】维度标识业务实体等区分维度信息的关键词组合【必填】维表类型用来区分全量维表、快照维表还是SCD2类型维度同时考虑维表加载周期具体参考下面矩阵描述加载周期\维表类型全量维表 (f)快照维表 (s)拉链维表 (zip)小时(h)hfhszip日 (d)dfdszip周 (w)wfwszip月 (m)mfmszip实时 (rt)rtrtzip其他(--)------命名标准维度表dim_{业务域}_{维度标识}_{维度类型}字典表dict_{字典标识}_{维度类型}示例日期维表dim_pub_date商品日分区快照维度dim_prd_product_info_ds三 DWD模型表命名规范命名目标【必填】分层标识用来表示模型表全局所属分层通常用dwd或fact标识【必填】业务域事实表所属业务主题域【必填】业务过程/时间周期事实表必填选项用来限定事实表描述哪一个具体业务过程或时间周期。事实表设计简单介绍事务型事实表一定属于某个业务过程事务型事实表特点需要和业务过程具备对应关系周期快照事实表周期快照事实表可以属于某个业务过程这种场景通常与事务型事实表结合一起描述某个业务过程共同支持前台分析能力在这种情况下周期快照事实表需要匹配对应的业务过程但存在特殊周期快照事实表其并没有业务流中合适的业务过程进行匹配但描述某个周期的状态(比如期末库存其通常是通过事务表计算产生)信息这种周期快照需要覆盖对应的时间周期描述信息累积快照事实表累积快照事实表通常适用于一系列相关业务过程集合这种表典型场景可以认为是针对业务流程而非单存业务过程其与业务过程通常是一对多关系无事实事实表该类事实表通常用来描述某一事件其没有明显事实属性但通常可以构造常量为1的可累加事实这种事实表通常也可以定位到业务过程其他类型事实表除了上述4种Kimball提到的事实表以外实际生产中我们可能会遇到业务过程/时间周期定义不清晰的业务场景比较常见的如业务埋点准确分析埋点其实是存在业务过程属性但由于其涵盖动作或业务过程过于多且稳定性较差这种类型表我们可以考虑为其虚拟出业务过程进行建模除此之前其他场景也可以参考虚拟业务过程的方式进行数据建模【可选】粒度描述用来概述事实表最细粒度信息【可选】核心上下文描述可以理解为是针对粒度的细化描述不做强制要求【可选】自定义标签【必填】加载周期/表类型具体可以参考下面矩阵描述进行模型表命名管理根据你提供的加载周期和事实表类型矩阵描述可以像这样加载周期\事实表类型事务型事实表累积快照事实表周期快照事实表无事实事实表其他事实表小时 (h)hdhdhshdhd日 (d)dddddsdddd周 (w)wdwdwswdwd月 (m)mdmdmsmdmd实时 (rt)rt----rtrt说明尾字符含义d: detail表示明细数据s: snapshot表示周期快照--: 表示不建议支持操作命名标准dwd_{业务域}_{业务过程/时间周期}[粒度描述][上下文_][自定义标签_]{加载周期/表类型}示例订单支付事实表dwd_ord_order_payment_dd库存周期快照事实表dwd_stock_stock_month_full_ds订单支付与发货dwd_ord_order_process_dd四 DWS模型表命名规范命名目标【必填】分层标识通常用dws或fact开头标识【必填】业务域事实表所属业务主题域DWS层不允许跨主题建表【必填】粒度描述用来概述事实表聚合粒度信息【选填】统计周期描述事实表数据统计周期信息【选填】自定义标签【必填】加载周期/聚合标识加载周期/聚合标识聚合(s)小时(h)hs日(d)ds周(w)ws月(m)ms实时(rt)rts其他(--)--聚合缩写s表示summary缩写命名标准dws_{业务域}_{粒度描述}[统计周期][自定义标签_]{加载周期/聚合标识}示例门店GMV日期统计指标dws_ord_gmv_day_ds五 ADS应用表命名规范命名目标【必填】分层标识通常用ads标识【必填】产品/业务标识产品名称或业务缩写ADS层表必须落实到可理解的产品/业务/需求上方便后续价值追溯【选填】应用路径设计具体产品可以考虑按照应用目录树设计命名【选填】粒度/周期/上下文【选填】自定义标签【选填】增全量标识周期范围 \加载方式全量加载 (f)分区增量加载 (i)分区快照加载 (s)实时加载 (rt)小时 (h)hfhihs--日 (d)dfdids--周 (w)wfwiws--月 (m)mfmims--实时(rt)------rt命名标准:ads_{产品/业务标识}[应用路径][粒度/周期/上下文_][自定义标签_]{增全量标识}示例: 交易风险报告应用表ads_risk_trade_risk_report_ds六 非关键组织命名规范根据《数据仓库分层架构》给出的数据仓库架构图还有三块虚线结构也存在于数据仓库分层规范中他们分别是集成层视图层和临时区下面针对这三块内容进行命名规范定义。1 集成层模型表命名规范命名目标【必填】分层标识通常建议用intg开头标识【必填】业务域集成表所属数据域【必填】自定义标签区分表关键字符串【必填】增全量标识参考ODS层增全量标识定义命名标准:intg_{业务域}_{自定义标签}_{增全量标识}示例订单支付集成层表intg_ord_order_payment_di2 视图层视图命名规范命名目标【必填】分层标识通常以dwd_view为起始标识符【必填】剔除ODS分层信息的ODS层表完整名称比如ods层表ods__sale_db__tbl_order__df对应完整创建视图部分sale_db__tbl_order__df;命名标准:dwd_view__{ODS表名称主体}示例dwd_view__sale_db__tbl_order__df3 临时区临时表命名规范命名目标【必填】临时区标识符通常以tmp开头【选填】所属人标识【选填】所属任务针对那些需要保留中间状态的数仓模型表加工中间状态一般以临时表方式体现这种场景下的临时表命名的主体部分需要包含支撑模型的名称关键组织【选填】自定义标签用以区分不同的临时表【选填】增全量标识参考ODS层增全量标识定义【选填】随机尾串针对动态变化的临时表需要设计附加随机串避免相同任务不同的ETL调度之间冲突命名标准:tmp_[所属任务_][自定义标签_][增全量标识_][随机尾串]示例tmp_gawyn_ord_gmv_day_summary_df_31415926
返回列表