当前位置: 首页 > 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;伴随着一个白色渐…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...