数仓模型(模型优化与指标验证)

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 数仓模型(模型优化与指标验证)

640.jpg数仓模型是建设的目标,有以下评价规则:

1规范度衡量

采用表归类率。计算公式为“表归类率 = 有分层信息与主题域信息的表的数量占比”。
数仓分层规范:公共逻辑下沉。出现相同逻辑的时候可以在dwd或者做个中间层收口,万一口径发生变化,只需要在最底层修改逻辑,上层只需要回溯验证数据即可,而不是说到处修改用到的地方
任务命名规范:见名知义,遵循命名库表命名规范。

2完善度衡量

可以采用公共层的表引用率(ODS层的表直接被DWD层引用的表占所有ODS层活跃表的比例)、汇总层的查询比例(DWD / ADS层的查询占所有查询的比例)来衡量。
跨层依赖的占比;同层Level>2的占比;
ods层被app层直接使用的占比等量化指标

3复用度衡量

主要采用公共层的模型调用热度(DWD层的数据模型被DWS / ADS层调用并加工产出新模型的平均数量)来进行衡量。
只有复用能力上来了,响应速度才能提上来,体现在下游依赖、调用次数、核心字段覆盖率等指标上;

(4) 健壮性

除了电商等已经耕耘多年的领域外,绝大多数业务模型,都会快速的变化,
如何适应这种变化,就非常考验架构功底。

(5) 准确性/一致性

输出的指标数据质量能够保证;
数据可回滚,进行验证。确保一些经常变化的维度可以回滚,比如:当下游每天产出指标的时候,突然今天的指标值和昨天的差异性很大,这个时候我们就要去回滚昨天的数据,看今天数据是否异常还是逻辑错误等等
定义一致性指标、统一命名规范、统一业务含义、统一计算口径,专业的建模团队

(6)可扩展性

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

(7)稳定性

能否保证日常的sla(数据到岗时间);
如何尽量减少任务运行失败

(8)时效性

响应速度:数据架构的主要场景包括:业务开发、数据产品、运营分析三大类,不论是那种场景,数据架构均应该在尽可能短的时间内响应需求;
监控数仓任务的运行时长进行优化

(9)成本指标

避免烟囱式的重复建设,节约计算、存储、人力成本。
不做无意义的分层
复杂逻辑前置,降低业务方的使用门槛。通过冗余维度和事实表,进行公共计算逻辑下沉,明细与汇总共存等为业务提供灵活性

数仓指标一致性如何保证

(1)数据质量保证(可参考前文)

(2)统一数仓规范

词根梳理评审
指标评审及指标定义
指标命名规范
指标管理规范

(3)开发规范

清洗规范
单位统一,比如金额单位统一为元
字段类型统一
注释补全
空值用默认值或者中位数填充
时间字段格式统一,如2020-10-16,2020/10/16,20201016统一格式为2020-10-16
json数据解析
枚举值统一
过滤没有意义的数据
逻辑规范
表之间的关联关系,依赖与调用,sql检验

(4)建立/需求/模型评审机制

建立统一的需求评审机制,从需求承接时间、制定需求模板(业务背景、所需的数据指标等)等制定一套规范,严格把控需求质量,如果需求承接本身变得很混乱,例如需求不明确、需求没有统一管理,那么很可能会导致重复性的建设工作;模型评审主要评审模型设计的是否合理,表/字段命名是否规范、应该是全量表还是增量表、分层是否按照要求、公共指标应该放在dws层还是adm层等,保证模型的质量来避免以后出现的二义性。

(5)建立一致性维度

建立一致性维度,保证参与计算的数据来源一致,统一数据的计算口径。
另外可以提前对数据进行交叉验证,即明细层与不同维度层数据进行交叉验证,确保数据的一致性。

(6)离线、实时交叉验证

目前大多数情况下使用的数仓架构还是经典的Lambda架构,因此实时、离线指标不一致仿佛成为了数据开发人员的一个共识,导致出现一致性问题通常有以下几点原因:

  • 计算逻辑无法对齐,其原因有二:一、实时、离线是两个不同的数据团队成员开发,其对业务的理解不同;二、离线逻辑本身相对比较复杂,可以做很多补偿逻辑,实时处理却相对比较简单;
  • 数据源不一致,通常接入的数据源有日志与binlog,binlog基本都能保证一致,但是对于日志在一些场景不能做到完全一致,例如风控场景提供的点击日志提供下游使用,实时、离线反作弊模型差异导致风控过后的数据存在差异;
  • 离线、实时技术栈对一致性的支持程度不同,离线通常都是批处理的调度模式,当出现异常情况,只需要重新调度直接进行分区覆盖即可,而实时处理本身对消息处理的顺序性有比较高的要求,另外加上端到端一致性实现复杂等等,在某些场景并不能保证与离线同等的一致性。

针对以上问题,提供两种思路:第一种是预先实时、离线指标对比,找到其中产生数据gap的原因并且解决, 尽量降低实时与离线之间的差异,同时也可以提前说明实时指标准确率;第二种流批一体的架构,流批一体可以从计算统一,也可以是存储统一,这里主要介绍流批一体的OLAP架构,只需要将数据实时或者离线写入OLAP存储引擎中,直接在OLAP进行分析,这种方式弱化了离线、实时的概念,例如Hologres 、Doris等


数仓指标一致性

如何保证

数仓指标一致性如何保证






相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
6月前
|
SQL 分布式计算 关系型数据库
实时数仓 Hologres产品使用合集之湖仓加速版查询maxcompute外部表,有什么优化途径吗
实时数仓Hologres的基本概念和特点:1.一站式实时数仓引擎:Hologres集成了数据仓库、在线分析处理(OLAP)和在线服务(Serving)能力于一体,适合实时数据分析和决策支持场景。2.兼容PostgreSQL协议:Hologres支持标准SQL(兼容PostgreSQL协议和语法),使得迁移和集成变得简单。3.海量数据处理能力:能够处理PB级数据的多维分析和即席查询,支持高并发低延迟查询。4.实时性:支持数据的实时写入、实时更新和实时分析,满足对数据新鲜度要求高的业务场景。5.与大数据生态集成:与MaxCompute、Flink、DataWorks等阿里云产品深度融合,提供离在线
|
7月前
|
存储 SQL 分布式计算
闲侃数仓优化-大数据治理和优化
闲侃数仓优化-大数据治理和优化
79 0
|
5月前
|
人工智能 关系型数据库 OLAP
通义大模型百炼融合AnalyticDB, 阿里云专家手把手带你10分钟创建网站AI助手
本次陪跑班将从一个企业开发者的角度出发,手把手带你用AnalyticDB for PostgreSQL的高效向量引擎与阿里云自主研发的通义大模型服务平台百炼,只需10分钟即可为您的网站添加一个AI助手。加入钉群观看直播课程,更有精彩好礼等你拿!
|
4月前
|
Dragonfly Docker 容器
实时数仓Hologres容器镜像问题之优化私有化部署如何解决
容器镜像常遇问题包括:将过多组件打包至单一容器、使用systemd导致状态不一致、私有部署中传输未优化的镜像包及基础镜像频繁下发致网络拥堵。应采用轻量化基础镜像,明确镜像版本,并利用镜像层复用来优化。[了解更多](https://developer.aliyun.com/ask/666077)。 避免容器臃肿的方法是选用精简基础镜像,固定镜像版本,并通过镜像层复用来减少重复内容,实现高效部署。[查看详情](https://developer.aliyun.com/ask/666078)。
56 0
|
4月前
|
分布式计算 数据库 Spark
实时数仓 Hologres产品使用合集之如何优化增加索引和主键
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
4月前
|
存储 关系型数据库 分布式数据库
实时数仓 Hologres产品使用合集之对于大量数据的写入,该如何优化
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
6月前
|
分布式计算 算法 关系型数据库
实时数仓 Hologres产品使用合集之如何优化查询性能
实时数仓Hologres的基本概念和特点:1.一站式实时数仓引擎:Hologres集成了数据仓库、在线分析处理(OLAP)和在线服务(Serving)能力于一体,适合实时数据分析和决策支持场景。2.兼容PostgreSQL协议:Hologres支持标准SQL(兼容PostgreSQL协议和语法),使得迁移和集成变得简单。3.海量数据处理能力:能够处理PB级数据的多维分析和即席查询,支持高并发低延迟查询。4.实时性:支持数据的实时写入、实时更新和实时分析,满足对数据新鲜度要求高的业务场景。5.与大数据生态集成:与MaxCompute、Flink、DataWorks等阿里云产品深度融合,提供离在线
|
7月前
|
存储 监控 数据挖掘
如何评估并优化OLAP系统的性能和可扩展性?
【5月更文挑战第14天】如何评估并优化OLAP系统的性能和可扩展性?
80 0
|
7月前
|
C++
数仓模型建设
数仓模型建设
163 1
|
7月前
|
数据挖掘 数据库
离线数仓6.0--- 数据仓库 ER模型-范式理论,维度模型、维度建模理论之事实表、维度建模理论之维度表
离线数仓6.0--- 数据仓库 ER模型-范式理论,维度模型、维度建模理论之事实表、维度建模理论之维度表
316 0

热门文章

最新文章