数据建模规范

4 篇文章 0 订阅
2 篇文章 0 订阅

一、建模设计参考规范

1、建模原则

  • 高内聚和低耦合

  • 核心模型与扩展模型分离

  • 公共处理逻辑下沉及单一

  • 成本与性能平衡

  • 数据可回滚

  • 一致性

  • 命名清晰、可理解表命名需清晰、一致,表名需易于使用方理解

2、建模评价指标

  • 完善度

    • 汇总数据能直接满足多少查询需求

    • 跨层引用比列(业务方直接从dwd、dws、ads层直接拿到想要的数据)

    • 快速相应业务方的需求

  • 复用度

    • 模型被读取并产出下游模型的平均数量(模型引用系数)

      • DWD平均模型引用系数一般低于2比较差,3以上相对比较好

  • 规范度

    • 主题域归属

    • 分层信息

    • 脚本及任务命名规范

    • 表命名符合规范(清晰、一致、见名知意)

    • 字段命名是依赖于词根

  • 稳定性

    • 能否保证日常的sla

    • 通过任务历史执行情况,自动判断任务预期可能性,进行破线预警

    • 失败和逾期报警

    • 评价指标

  • 扩展性

    • 新增加的模型是否和老的模型出现冲突

  • 准确性与一致性

    • 输出的指标数据质量能够保证

  • 健壮性

    • 业务快速更新迭代不太影响底层模型

  • 低成本

    • 衡量数仓成本的指标

      • 任务数

      • 存储成本

      • 模型依赖度

      • 计算时间成本

      • 计算资源成本

  • 易用

    • 数仓提供的数据对于业务应用是易用的

    • 衡量数仓的易用性

      • 下游数据系统数

      • 数据产品PV、UV、使用时长

      • 数据用户占比

  • 质量

    • 数据本身质量

    • 数据建设质量

      • 超时任务数

      • 失败任务数

      • ADS模型热度

      • ODS模型热度

      • DQC成功率

  • 安全

    • 密集覆盖度

    • 高密表热度

二、数仓分层设计规范

1、数仓分层的作用

 - 清晰数据结构
 - 减少重复开发
 - 把复杂的问题简单化

2、数仓分层及分层定义

  • 原始数据层:也成接口层,用于解决系统的数据快速介入的问题

  • 操作数据层:基于原始数据,剔除重复冗余的数据,生成供下游可用的操作数据

  • 明细数据层:建立相对完整、原子粒度的公共数据,加强数据共享、模型稳定与重用,面向未来需求具备良好的可适配性。

    • 以Kimball维度模型为理论基础建模

  • 明细数据层 面向主题,提供最细粒度的、完整业务属性的、历史可追溯的公共原子数据

    • 围绕业务过程的原子指标进行建模

    • 提供公共一致性维度

  • 汇总数据层:基于明细层数据进行适度的数据汇总,或进行跨主题、整合的拉通数据,为应用提供预加工数据,降低数据消费难度

    • 对公用、常用以及稳定的衍生/复合指标数据,沉淀在该层建设

    • 提供跨模块或跨主题的整合拉通数据及标签数据

    • 该层的模型设计应更多考虑消费的便利性以及查询性能

  • 应用集市层:面向业务应用需求的个性化设计,通常使用宽表的形式或者服用明细层和汇总层的星型模型

    • 安全面向应用需求建设,个性化、频繁变动的衍生/复合指标数据

    • 进行基于应用的数据组装,如宽表集市、横表转纵表、趋势指标等,满足前端报表查询、分析图标、仪表盘等

    • 更多考虑满足应用功能使用,尽量减少数据访问时计算,提升查询性能,同时将事实拉宽,冗余常用属性字段

3、ADS层数据输出下游系统数据应用及建议方案

数仓ADS层加工完毕的数据,经传输工具推送给下游数据应用数据库,应避免数据出现读取断层。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值