当前位置: 首页 > news >正文

(笔记)如何评价一个数仓的好坏

如何评价一个数仓的好坏

  • 1数据质量
    • 产生原因
    • 评估方法
    • 流程
  • 2模型建设
    • 产生问题原因
    • 评估方法
    • 流程
  • 3数据安全
    • 产生问题原因
    • 评估方法
    • 流程
  • 4成本/性能
    • 产生问题原因
    • 评估方法
    • 流程
  • 5 用户用数体验
    • 产生问题原因
    • 评估方法
    • 流程
  • 6数据资产覆盖
    • 产生问题原因
    • 评估方法
    • 流程

数仓评价好坏是对数仓全流程机制是否健全的评价,
从技术方面,数据仓库应该具有成本、质量、效率要求,安全方向方面的能力,
从业务方面,数据仓库应该支撑业务建设,覆盖尽可能多的业务场景,需要数据时能够及时取到,能满足业务数据化需求

1数据质量

产生原因

技术
缺少流程制定
数据模型设计存在问题
数据源本身存在问题
数据清洗加工疏忽

业务
业务理解不到位
业务流程变更
数据输入不规范
业务系统烟囱林立

管理
人才缺乏
流程管理不完善
奖惩机制不明确

评估方法

准确性:描述数据和客观实体特征是否一致-DQC
1是否基础DQC覆盖全链路:表不为空,主键(联合主键)唯一,字段不为空,表行数波动。
2核心表业务DQC是否配置:业务DQC: 文本类(字段不为空或空串,json中key不为空,字段是否脱敏),数值(数值在区间范围,字段不能为O),枚举值(枚举值类型是否正常,枚举值波动,枚举值占比),日期(字段不为空,日期小于当天)
3DQC历史趋势:历史触发情况,强弱DQC触发次数。

及时性:描述从业务数据能够被使用的及时程度
是否有基线/sla(核心与较核心业务)配置,
基线/sla破线次数,
未按时交付数据次数(被业务方发现投诉),
基线sla覆盖度,
是否具备快恢能力(当数据未产出时候,迅速定位还原)。

一致性:描述同一个信息主体在不同数据集中的数据是否相同
数据收口:核心指标沉淀到核心聚合模型,统一收口
指标中心建设:保障指标统一:指标录入、指标复用、指标展示、指标口径查询有处可循

流程完整性:
1数据质量长期跟踪监测体系:
收集问题(问题/缺陷上报平台,文档记录)
解决/防止复发问题(解决问题,对问题进行规则化制定,对问题长期监控,直到问题彻底解决)
2数据质量问题报告:数据问题趋势,数据问题分类,本期解决数,本期新增数,重点问题解决数,数据问题贡献榜
3流程制定:任务上线流程,指标变更/下线流程

流程

事前,预防
制定质量管理机制,开发/变更/上线流程
工具/代码监控
dqc全链路基础配置
核心数据稳定产出
培训值班内容/明确数据问题如何定位

事后,复盘完善
归因->解决方案->方法论、流程
完善dqc规则
问题上报监测
保障数据统一收口,指标统一口径维护标准
完善数据问题定位步骤

2模型建设

产生问题原因

技术:无数据标准制定,缺乏模型建设复用/扩展想法
业务:对业务流程,环节理解不够
管理:团队模型建设指导不足,无模型评审机制

评估方法

规范度:
是否制定命名规范
是否具有建设规范(模型5要素,模型分层具体操作内容)
是否有模型评审流程
主题域归属

完善度-元数据补充:
(owner清晰,表中文名+使用说明,每个模型的颗粒度,每个模型的主键(联合主键),字段解释)

**复用度:**模型被下游引用程度,是否是无效模型

**稳定性:**运行时长,是香数据倾斜,对产出的影响

**扩展性:**模型内容划分合理性(基础字段,指标),冗余低

**合理性:**新增模型与老模型是否出现冲突,分层情况(保障模型引用合理),跨层引用率,ods穿透率

流程

事前,预防:
制定模型开发规范((开发思路,模型合规),
制定数据标准(命名、内容、代码等),
培训指导模型建设开设模型评审会,
梳理业务流程

事后,复盘完善:完善数据标准,加强模型建设意识,模型评价打分

3数据安全

产生问题原因

技术:数据安全意识薄弱,未设立安全管控

业务:各部门/业务对数据安全权限把控度不同

管理:未做风险管理,离职回收,有共担记录

评估方法

角色权限是否划分
权限管控制定:(下载权限,数据使用权限申请,数据使用申请时卡点负责人/组,闲置的权限是否定期回收)
数据表是否分级
对外数据是否脱敏
可视化展示是否分级展示内容

流程

事前,预防:角色权限分级,数据表权限管控(表/字段),核心/对外数据脱敏,可视化展示内容把控,全数据表分级
事后,复盘完善:补充隐藏数据风险,制定跨bu/业务数据把控范围,定期对安全权限扫描

4成本/性能

产生问题原因

技术:运行时间过长运行报错,重复建设,数据倾斜,数据价值与资源消耗不匹配
管理:资源成本急剧上升,维护成本越来越大,数据之间的关系变得复杂,数据模型的复用性低,烟囱建设

评估方法

无用/无效表是否及时下线:无下游任务的表,无上游任务的表,x天未被访问的表
表生命周期是否合理
数据倾斜任务数
运行超过xxxxh任务数
是否存在空跑任务
小文件过多数据表
是否有数据成本的量化管理

流程

事前,预防:代码审核,检查代码是否需要优化,试用完对临时表,无用表及时下线,任务试验跑检查运行时间,前置小文件合并操作
事后,复盘完善:定期扫描无效表,定期下线空跑任务,数据治理前任务/表量化,定期扫描模型生命周期,每日/周推送top榜(消耗、资源存储top榜)

5 用户用数体验

产生问题原因

业务:找数难,用数难,查询难,自助分析难,无法统一内容

评估方法

数据服务:
是否具备资产门户方便下游找寻业务表,
是否整合one id/one service完成数据输出统一收口,
是否具备策略/指标平台,方便下游了解,保障口径统一,
是否具备标签/画像/指标分析工具,使得下游自助查询,解放数仓资源

流程

事前,了解: 了解下游对数据使用习惯,了解各业务方缺少那些应用缺陷
事后,完善数据服务内容: 补充数据平台建设

6数据资产覆盖

产生问题原因

业务:数据资产无法满足下游应用场景,指标分散

评估方法

数据资产支持:是否完善用户画像/用户360资产,各场景数据资产是否能全面支持,零散指标/标签是否有专题整合

流程

事前,了解: 前置完成用户画像等常用场景数据资产沉淀
事后,完善数据服务内容: 完善全业务场景数据资产补充,补充专项应用数据标签/指标模型

相关文章:

(笔记)如何评价一个数仓的好坏

如何评价一个数仓的好坏 1数据质量产生原因评估方法流程 2模型建设产生问题原因评估方法流程 3数据安全产生问题原因评估方法流程 4成本/性能产生问题原因评估方法流程 5 用户用数体验产生问题原因评估方法流程 6数据资产覆盖产生问题原因评估方法流程 数仓评价好坏是对数仓全流…...

友善RK3399v2平台利用rkmpp实现硬件编解码加速

测试VPU 编译mpp sudo apt update sudo apt install gcc g cmake make cd ~ git clone https://github.com/rockchip-linux/mpp.git cd mpp/build/linux/aarch64/ sed -i s/aarch64-linux-gnu-gcc/gcc/g ./arm.linux.cross.cmake sed -i s/aarch64-linux-gnu-g/g/g ./arm.lin…...

Mysql 8.0 主从复制及读写分离搭建记录

前言 搭建参考:搭建Mysql主从复制 为什么要做主从复制? 做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。架构的扩展。业务量越来越大,I/O访问频…...

PyTorch、显卡、CUDA 和 cuDNN 之间的关系

概述 PyTorch、显卡、CUDA 和 cuDNN 之间的关系及其工作原理可以这样理解: 显卡 (GPU) 显卡,特别是 NVIDIA 的 GPU,具有大量的并行处理单元,这些单元可以同时执行大量相似的操作,非常适合进行大规模矩阵运算&#x…...

Lambda 表达式练习

目录 sorted() 四种排序 List 转 Map map 映射 对象中 String 类型属性为空的字段赋值为 null BiConsumer,> T reduce(T identity, BinaryOperator accumulator) allMatch(Predicate p) groupingBy(Function f) flatMap(Function f) Optional.ofNullable(T t) 和 …...

JavaScript第七讲:数组,及练习题

目录 今天话不多说直接进入正题! 1. 创建数组对象 2. 数组长度 3. 遍历一个数组 4. 连接数组 5. 通过指定分隔符,返回一个数组的字符串表达 6. 分别在最后的位置插入数据和获取数据(获取后删除) 7. 分别在最开始的位置插入数据和获取数据(获取后删…...

从docker镜像反推Dockerfile

在项目运维的过程中,偶尔会遇到某个docker image打包时候的Dockerfile版本管理不善无法与image对应的问题,抑或需要分析某个三方docker image的构建过程,这时,就希望能够通过image反推构建时的instruction. 想实现这个过程可以使…...

车载软件架构 - AUTOSAR 的信息安全框架

车载软件架构 - AUTOSAR 的信息安全架构 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗…...

欧洲版“OpenAI”——Mistral 举办的 AI 大模型马拉松

近期,法国的 Mistral AI 举办了一场别开生面的 AI 大模型马拉松。要知道,Mistral 可是法国对 OpenAI 的有力回应,而且其技术还是完全开源的呢!这场在巴黎举行的黑客马拉松,规模空前盛大,竟然有超过 1000 名…...

Java | Leetcode Java题解之第128题最长连续序列

题目&#xff1a; 题解&#xff1a; class Solution {public int longestConsecutive(int[] nums) {Set<Integer> num_set new HashSet<Integer>();for (int num : nums) {num_set.add(num);}int longestStreak 0;for (int num : num_set) {if (!num_set.contai…...

C++的List

List的使用 构造 与vector的区别 与vector的区别在于不支持 [ ] 由于链表的物理结构不连续,所以只能用迭代器访问 vector可以排序,list不能排序(因为快排的底层需要随机迭代器,而链表是双向迭代器) (算法库里的排序不支持)(需要单独的排序) list存在vector不支持的功能 链…...

网易有道QAnything使用CPU模式和openAI接口安装部署

网易有道QAnything可以使用本地部署大模型&#xff08;官网例子为qwen&#xff09;也可以使用大模型接口(OPENAI或者其他大模型AI接口 )的方式&#xff0c;使用在线大模型API接口好处就是不需要太高的硬件配置。 本机环境windows11 首先安装WSL环境, 安装方法参考https://zhuan…...

量子加速超级计算简介

本文转载自&#xff1a;量子加速超级计算简介(2024年 3月 13日) By Mark Wolf https://developer.nvidia.cn/zh-cn/blog/an-introduction-to-quantum-accelerated-supercomputing/ 文章目录 一、概述二、量子计算机的构建块&#xff1a;QPU 和量子位三、量子计算硬件和算法四、…...

Unity3D 基于YooAssets的资源管理详解

前言 Unity3D 是一款非常流行的游戏开发引擎&#xff0c;它提供了丰富的功能和工具来帮助开发者快速创建高质量的游戏和应用程序。其中&#xff0c;资源管理是游戏开发中非常重要的一部分&#xff0c;它涉及到如何有效地加载、管理和释放游戏中的各种资源&#xff0c;如模型、…...

Linux 自动化升级Jar程序,指定Jar程序版本进行部署脚本

文章目录 一、环境准备二、脚本1. 自动化升级Jar程序2. 指定Jar程序版本进行部署总结一、环境准备 本文在 CentOS 7.9 环境演示,以springboot为例,打包后生成文件名加上版本号,如下打包之后为strategy-api-0.3.2.jar: pom.xml<?xml version="1.0" encoding=&…...

python练习五

Title1&#xff1a;请实现一个装饰器&#xff0c;每次调用函数时&#xff0c;将函数名字以及调用此函数的时间点写入文件中 代码&#xff1a; import time time time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # 获取当前的时间戳 # 定义一个有参装饰器来实…...

YOLOv1深入解析与实战:目标检测算法原理

参考&#xff1a; https://zhuanlan.zhihu.com/p/667046384 https://blog.csdn.net/weixin_41424926/article/details/105383064 https://arxiv.org/pdf/1506.02640 1. 算法介绍 学习目标检测算法&#xff0c;yolov1是必看内容&#xff0c;不同于生成模型&#xff0c;没有特别…...

Apache Calcite - 自定义标量函数

前言 上一篇文章中我们介绍了calcite中内置函数的使用。实际需求中会遇到一些场景标准内置函数无法满足需求&#xff0c;这时候就需要用到自定义函数。在 Apache Calcite 中添加自定义函数&#xff0c;以便在 SQL 查询中使用自定义的逻辑。这对于执行特定的数据处理或分析任务…...

STM32作业实现(四)光敏传感器

目录 STM32作业设计 STM32作业实现(一)串口通信 STM32作业实现(二)串口控制led STM32作业实现(三)串口控制有源蜂鸣器 STM32作业实现(四)光敏传感器 STM32作业实现(五)温湿度传感器dht11 STM32作业实现(六)闪存保存数据 STM32作业实现(七)OLED显示数据 STM32作业实现(八)触摸按…...

HTML+CSS 文本动画卡片

效果演示 实现了一个图片叠加文本动画效果的卡片&#xff08;Card&#xff09;布局。当鼠标悬停在卡片上时&#xff0c;卡片上的图片会变为半透明&#xff0c;同时显示隐藏在图片上的文本内容&#xff0c;并且文本内容有一个从左到右的渐显动画效果&#xff0c;伴随着一个白色渐…...

MongoDB CRUD操作: 在本地实例进行文本搜索查询

MongoDB CRUD操作&#xff1a; 在本地实例进行文本搜索查询 文章目录 MongoDB CRUD操作&#xff1a; 在本地实例进行文本搜索查询举例创建集合创建文本索引精准搜索排除短语结果排序 在本地实例运行文本搜索查询前&#xff0c;必须先在集合上建立文本索引。MongoDB提供文本索引…...

文档智能开源软件

文档智能介绍&#xff1a; 文档智能通常指的是利用人工智能技术来处理和分析文档内容&#xff0c;以实现自动化、智能化的文档管理。文档智能的应用领域非常广泛&#xff0c;包括但不限于&#xff1a; 1. **文档识别**&#xff1a;使用OCR&#xff08;光学字符识别&#xff0…...

[C][可变参数列表]详细讲解

目录 1.宏含义及使用2.宏原理分析1.原理2.宏理解 1.宏含义及使用 依赖库stdarg.hva_list 其实就是char*类型&#xff0c;方便后续按照字节进行指针移动 va_start(arg, num) 使arg指向可变参数部分(num后面) va_arg(arg, int) 先让arg指向下个元素&#xff0c;然后使用相对位置…...

54. 螺旋矩阵【rust题解】

题目 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 示例 1 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5] 示例 2 输入&#xff1a;matrix [[1,2,3,4],[5,6,…...

学习笔记——网络参考模型——TCP/IP模型(传输层)

四、TCP/IP模型-传输层 一、TCP 1、TCP定义 TCP(Transmission Control Protocol&#xff0c;传输控制协议)∶为应用程序提供可靠的面向连接的通信服务。目前&#xff0c;许多流行的应用程序都使用TCP。 连接&#xff1a;正式发送数据之前&#xff0c;提前建立好一种虚拟的&…...

Java中的Instant

在Java中&#xff0c;Instant 是 java.time 包中的一个类&#xff0c;用于表示时间轴上的一个瞬时点&#xff0c;通常以纳秒精度表示。它通常用于表示机器可读的时间戳&#xff0c;而不是人类可读的时间表示&#xff08;如日期和时间&#xff09;。 Instant 主要用于时间计算和…...

PostgreSQL的锁介绍

PostgreSQL的锁介绍 PostgreSQL 中的锁机制是一种用于控制数据并发访问的手段&#xff0c;确保数据库的完整性和一致性。在实际应用中&#xff0c;合理使用锁可以避免数据不一致和减少死锁的发生。 锁类型 PostgreSQL 提供了多种锁类型&#xff0c;以下是一些常见的锁&#…...

4分之1外螺纹怎么编程:挑战与策略解析

4分之1外螺纹怎么编程&#xff1a;挑战与策略解析 在机械制造领域&#xff0c;螺纹编程是一项至关重要的技术任务。当面对如4分之1外螺纹这样的具体需求时&#xff0c;编程人员需要综合运用专业知识与编程技巧&#xff0c;以确保螺纹的精确度和生产效率。本文将围绕四个方面、…...

运用selenium爬取京东商品数据储存到MySQL数据库中

使用Selenium爬取京东商品数据并存储到MySQL数据库中的过程可以分为几个步骤&#xff1a; 1. 准备工作 安装所需库 确保你已经安装了Python环境以及以下库&#xff1a; selenium&#xff1a;用于自动化浏览器操作。pymysql 或 mysql-connector-python&#xff1a;用于连接M…...

K8S SWCK SkyWalking全链路跟踪工具安装

官方参考&#xff1a;如何使用java探针注入器? 配置两个demo&#xff0c;建立调用关系&#xff0c; 首先创建一个基础镜像dockerfile from centos 先安装java 参考: linux rpm方式安装java JAVA_HOME/usr/java/jdk1.8.0-x64 CLASSPATH.:$JAVA_HOME/lib/tools.jar PATH…...