数据大体系(一)——数据纵向分层

数仓建模,宽表是什么?如何设计? 数仓建模,宽表是什么?如何设计?宽表的设计为什么要建设宽表宽表的好处和不足如何设计宽表总结 宽表的设计 其实宽表是数仓里面非常重要的一块,宽表主要出现在dwd 层和报表层,当然有的人说dws 层也有宽表,从字面意义上讲就是字段比较多的数据库表, 通常情况下是将很多相关的数据包括维度表、实时、已有的指标或者是dws/dwd 表关联在一起形成的一张数据表。 由于把不同的内容都放在同一张表存储,宽表已经不符合范式设计的模型设计规范而且数仓里面也不强调范式设计,随之带来的就是数据的大量冗余,与之相对应的好处就是查询 阅读详情

引

这几日,疫情又变得更加严重了,我往返的两座城市都纷纷带上了*,于是我成了王者两星人员。

今天受好友启发,可以写一个数据大体系的基础的连载。过去我以为我所知道的知识是一种 common sense, 所以大家应该都知道。然而我以为并非我以为的以为,大家并不一定都知道。所以开始写下了下面的内容。

在本节内容里,你可以学习到:

  1. 传统数仓建设体系里,如何进行分层

分层概论

数据仓库的建设,和传统的系统建设有一些不同。我们过去讲究的系统建设,更多是面向事务的 OLTP 系统,讲究的是系统高响应,低延时等特点。而对于数仓型的应用,则更多强调的是 OLAP,面向分析型的体系搭建。

既然目的不同,那么其建设方法论也就一定不同。对于数据仓库/数据分析而言,如果每次我们的分析都是从海量的关系型数据库表里取出的话,那么会有以下几个弊端:

  1. 性能损失:事务型的关系型数据库的目标是处理线上系统业务,如果分析都从里取,会对已有系统造成性能损耗

  2. 时间冗长:由于数据分布在不同系统、不同业务体系,因此每次都需要从各个系统里抓取数据,对数据开发人员的时间以及运算机器的时间都是一种沉重的负担。

为了解决这个问题,我们往往会去:

  1. 搭建一个其他的专门用于分析的数据库,解决性能损失问题

  2. 将散落在各个应用系统的数据,在该专门用于分析的数据库里再存储一份

ODS 贴源层

上面提到,我们会将散落在各个应用系统的数据再额外保存一份,这额外保存的一份,我们一般就称之为 ODS 贴源层数据,这里的分层也就是贴源层。

贴源层最主要的目的,便是每日将业务系统的数据进行一份镜像备份,以提供更高层的数据库表进行使用。

DWD 明细层

贴源层之上,我们一般称之为 DWD 明细层。这一层的任务是什么?

我们都知道,一般的业务系统的数据库设计,都习惯于遵循三范式。这里我们来复习一下什么是三范式:

  1. 范式一:确保每一列都保持原子性

  2. 范式二:范式一的基础上,确保表中的每一列都与主键有关

  3. 范式三:范式二的基础上,确保每一列都与主键直接相关,而不是间接相关

在三范式基础上,业务系统会构建自己的 ER 图体系,以满足我们的日常业务需求。

然而,数据仓库天生是为了分析服务的,所以我们更加系统,能有一张表,能将一个主体具备的属性都放在一起,这样每次在进行统计形成指标时,属性都有成为一个维度的潜力。如此一来,便能加速报表、分析的数据开发。从这个角度上看,DWD 我们又常常喊它为‘大宽表’。但我们并不能说‘大宽表’就是 DWD,因为更高层的数据库表设计也会有‘大宽表’的存在。DWD 的设计,往往是基于某个特殊的实体来进行设计,如会员 DWD、供应商 DWD 等等。而 DWD 中的每一条数据都是关于这个实体的一条明细数据。

DWS 轻聚合层

DWD 明细层列好后,DWS 轻聚合层,主要做的事情,是将 DWD 或者 ODS 层的数据,按照报表、分析等需求进行聚合。一般而言,我们在搭建 DWS 这一层时,可以看看 DWD 这一层主体都有哪些属性,按照对应属性进行聚合,就能够形成一些对应的聚合性的指标。什么是指标?这是个好问题,改天另起一篇来写写。

总而言之,DWS 层,主要处理的是一些小型的、轻的聚合性指标,以供其他的上层进行数据调用。

DM/ADS 层

DM/ADS 这一层开始,主要面向的便是应用想要看到的数据了。有些企业会将 DM 单独拎出来作为数据集市存在,这样的话其他应用想要调用任何的数据指标都能够直接从 DM 这一层里的某个主题域进行读取。而 ADS 则更加地贴近数据应用,如搜索推荐、精排、大屏展现等,往往都是从 ADS 层来出具数据。

Why?

为什么要搞那么多花里胡哨的?每次我都从 ods 层取数然后写 SQL 不就行了么?我还搞那么多层做啥?你还真别说,真有很多企业就是这样玩的。一个大 SQL 几千行,SQL 就是生产力,SQL 就是一切!

而我们分层的答案是什么?:复用。

我通过分层产生出中间层数据,可以供更多上层数据表业务进行复用,而不必每次都需要所有开发人员都需要了解完所有的数据地图才能够进行开发。如此一来,组织便可开始进行分工,从而提升我们的整体数据研发效率。

结

此篇非常简洁地对传统的数据仓库建设中,用到的分层概念做了一些科普/普及。而在现实的实际操作中,还会有更多规范性的内容存在,如:

  1. 底层不能调用上层数据库表的内容

  2. 每个层的命名内容规范等

三角洲行动交易行自动化脚本 DFMarketBot - 三角洲行动自动交易助手 DFMarketBot是一款专为三角洲行动游戏设计的交易行自动化工具,通过OCR识别和鼠标模拟实现自动补卡、补子弹功能。项目采用Python开发,支持Windows平台,主要功能包括: 自动检测并购买指定物品(房卡/子弹) 价格监控与智能购买(低于设定价格自动下单) 自定义购买数量与次数限制 支持窗口/无窗口两种游戏模式 使用前需安装Tesseract OCR引擎并配置游戏为1920*1080分辨率。通过JSON文件可灵活配置监控物品清单、理想价格和购买策 阅读详情

相关推荐

时间序列分析:ARCH、GARCH、TGARCH与DCC-GARCH波动率模型(含代码)

关注TGARCH模型和DCC-GARCH的应用,通过在沪深300和中证500指数上应用TGARCH和DCC-GARCH模型,揭示这两个指数之间的条件异方差及动态相关性的变化规律。

celiaweiwei的博客 1万+

[架构之路-236]:目标系统 - 纵向分层 - 数据库 - 数据库系统基础与概述:三阶段模型(概念模型、逻辑模型、物理模型)、三级模式结构(外模式、模式、内模式)

视图级外模式是数据库系统中的一个概念,用于描述用户或应用程序对数据库中特定数据视图的访问方式和权限控制。视图级外模式是在外模式的基础上进一步细化,它定义了用户或应用程序对数据库中某个特定数据视图的逻辑结构和操作方式。通过视图级外模式,用户或应用程序可以只关注所需的数据视图,而不需要了解整个数据库的结构和复杂性。

文火冰糖(王文兵)的博客 1万+

Unity3D实战:5分钟搞定RTSP监控视频流播放(附完整代码)

本文详细介绍了如何在Unity3D中快速实现低延迟RTSP监控视频流播放,提供完整代码和优化方案。通过Video Player组件和FFmpeg集成,开发者可以轻松应对智能家居和安防监控领域的实时视频流挑战,显著降低延迟并提升性能。

weixin_29015051的博客 587

数据仓库分层

数据仓库分层 在做像pv、cv类型的分析,往往借助于一张大宽表和几张维度表,所有的统计分析都基于这张大宽表与维度表。在这种简单的应用场景,这种设计没有问题且简单明了,但是如果业务场景复杂,数据种类多,维度多,那么数据仓库的设计就尤为重要,结构清晰明了的数据仓库设计将方便对问题数据进行排查,数据仓库可分为:ODS(原始数据)、DWD(明细视图,拉链表)、DW(维度表)、DM(宽表)、APP(应用层)...

ThreeAspects的博客 3170

如何实现电路级别的CDM ESD防护

采用先进制程的CMOS工艺,可能具有比以前更薄的栅极氧化物和更大的芯片尺寸,大的衬底可能积累大量的电荷,导致CDM事件期间的高ESD放电峰值电流。传统CDM保护器件使用栅极接地NMOS被添加到输入级的栅极。然而,这种方法通常会在信号路径上引入显著的寄生电容,这不适合RF应用。

weixin_42693135的博客 2502

运算放大器多谐振荡器设计实战:从施密特触发器到波形生成

本文详细介绍了运算放大器在多谐振荡器设计中的实战应用,涵盖施密特触发器的迟滞比较原理、非稳态振荡器的自激机制以及单稳态和双稳态电路的设计技巧。通过具体案例和参数计算,帮助工程师掌握波形生成与信号处理的核心技术,提升电路设计效率与稳定性。

pz89012345的博客 217

数据仓库为什么要分层 ? 怎么分层?

1 序 说到数据仓库 , 大家应该都有一定的了解 , 越来越多的企业在做数字化转型 , 业务数据化 , 数据业务化 , 数据仓库是其中必不可少的一环 . 在数仓中有一个很基础、重要 , 但又很容易被忽略的内容 , 那就是数据仓库中的数据分层. 数据要分几层 ? 每一层放什么 ? 为什么要这样分 ? 下面我们就一起探讨一下 . 2 为什么要分层 在探讨数据仓库应该如何分层前 , 需要先思考另一个问题 : 数据仓库为什么要分层 ? 数据分层的根本原因 , 用互联网黑话说 , 其底层逻辑 , 就两..

staticpoint的博客 7143

软考高级-系统架构设计师 知识点整理 (一篇就够了 建议收藏)

软考高级-系统架构设计师知识点整理---十万字总结,助你通过高级

片言可决讼,半纸能缚龙 7343

为什么要在业务系统中引入大宽表?_大宽表集市

你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)**[外链图片转存中…(img-lL8TmW4j-1712550731820)]

2401_84181524的博客 1757

Google Earth Engine 实现图像随机森林分类_遥感分类全流程详解

本文将通过一段完整的GEE代码,逐步讲解如何利用Sentinel-2影像和随机森林算法,实现地表覆盖分类。代码包含等关键步骤,适合遥感入门学习!

国科大硕士在读,分享Python/GEE/Matlab/R专业代码实践,涵盖数据分析、算法开发与应用技巧等,以代码会友。 916

Android软键盘系统深度解析:架构、原理与实现

Android软键盘系统深度解析:架构与实现原理 本文系统剖析了Android软键盘的核心工作机制。作为系统级输入服务,软键盘具有双重属性:既是可安装的独立应用,又深度集成于系统框架中。文章详细解读了软键盘的系统架构,包括其与InputMethodManagerService(IMMS)和WindowManagerService(WMS)的交互机制,以及通过InputConnection实现的跨进程通信流程。同时分析了输入法窗口的特殊管理策略、布局调整模式,并深入探讨了输入预测引擎的实现原理,包括词典加载、

保持专注,保持热爱 114

数据中台 第7章 数据体系建设:数仓分层设计、数据建模

数据中台数据体系是在全域原始数据的基础上,进行标准定义及分层建 模,数据体系建设最终呈现的结果是一套完整、规范、准确的数据体 系,可以方便支撑数据应用。 中台数据体系应具备以下特征:·覆盖全域数据:数据集中建设,覆盖所有业务过程数据,业务在中台 数据体系中总能找到需要的数据。·结构层次清晰:纵向的数据分层,横向主题域、业务过程划分,让整 个层次结构清晰易理解。 ·数据准确一致:定义一致性指标,统一命名、统一业务含义、统一计 算口径,并有专业团队负责建模,保证数据的准确一致。 ·性能提升:统一的规划设计,选用

. 1万+

OpenClaw实战系列07:定时任务与自动化工作流实战——让AI从“被动响应”到“主动执行”

通过本文的学习,你已经将 OpenClaw 从“被动应答”升级为“主动执行”的自动化引擎。定时简报:每天8点自动生成行业简报推送飞书/钉钉GitHub事件触发:PR合并自动触发Code ReviewAgent间协作:数据采集→分析→报告全自动流水线系统监控:定时检查服务器状态,异常自动告警核心收获掌握 OpenClaw 内置 Cron 系统的三种调度模式学会 Webhook 配置和事件触发机制理解 Agent 间通信的两种方式(sessions_spawn / sessions_send)

PeterPan的博客 691

数据中台(六)数据体系建设

数据中台(六)数据体系建设 1、数据体系规划 中台数据体系具备特征: 覆盖全域数据 结构层次清晰:纵向数据分层,横向主题域与业务划分 数据准确性一致:定义一致性指标、统一命名、统一计算口径 性能提升 降低成本 方便易用 数据中台体系架构数据分层 贴源数据层ODS:操作数据层,对各个业务数据进行采集、汇聚、整合、增加数据标识、非结构转化为结构数据等,不做深度清洗加工——数据汇聚接入,例如:东方国信爬虫、新大陆数据汇聚接入 统一数仓层DW:细分为DWD(明细数据层)与DWS(汇总数.

形而上者谓之道 形而下者谓之器 1627

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

数据指标体系搭建实践

为什么要构建数据指标体系? 因为我们希望时间能花在解决问题而不是寻找问题上。 前言 我们所需要的并不是数据,而是数据背后映射的洞察。 在业务发展过程中,会产生大量的数据,单看数据是没有价值的,只有和业务相结合转化为信息,再经过处理才能体现其价值。 对于业务数据而言,通常分为两项:其一是维度,其二是度量,或者说是指标,这两项构成了我们数据分析的基础。 对于结构化数据,我们可以理解为一个多维立方体(cube),里面存在着维度和度量。 当然,不仅仅是三维,可以有多个维度。 这里拿三维立方体

周红伟讲AI 780

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

数字政府政务数据治理服务平台方案:“321”框架(三网两目标一基座)为核心,构建纵向到底、横向到边的“数据管网”

【摘要】该方案提出"321"数字政府建设框架(三网两目标一基座),通过构建纵向贯通国家-省-市-县、横向覆盖跨部门的"数据管网"体系,破解政务数据共享难、质量差等痛点。方案采用分层架构设计,依托一体化数据平台提供目录管理、智能分析、算法服务等全栈能力,推动从数据归集向服务供给转型。典型案例显示,该模式可实现多级政务协同,支撑"一网通办"等200+应用场景,通过业务驱动的长效运营机制保障数据活力,最终赋能数字治理与数字经济发展。(149字)

weixin_44094929的博客 175

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

[智能体-558]:主流 AI 智能体(Agent)纵向分层技术栈(自底向上 8 层完整体系)

每层附带主流技术、开源 / 商业产品、定位说明。

文火冰糖(王文兵)的博客 152

数据指标体系

数据的核心作用之一就是,监控业务的发展变化,从数据中发现潜在的业务问题。在实现通过数据监控业务变化这项功能时,数据指标体系会发挥强大作用。

qq_52421831的博客 3169

React Hooks的体系设计之一 - 分层

前言React Hooks是React框架内的逻辑复用形式,因其轻量、易编写的形态,必然会逐渐成为一种主流。但在实际的开发中,我依然觉得大部分的开发者对hook的使用过于粗暴,缺乏设计感...

lentoo的博客 946

软件体系结构:二维分层、模块化和开放平台

先引出几个问题。首先,对于分层,如何来分层?仅仅纵向分层是否够用了?什么是“二维分层”呢?一提到模块化,很多人会说“我们的系统就是基于模块化来构建”,稍微一多问,要么和分层差不多,要么就说我们是基于一个又一个的dll文件来实现模块化的,那应该怎样才算模块化呢?“开放平台”怎么回事?关于“二维分层”软件体系结构的提法比较少见。不过,对于分层软件体系结构,估计是个傻子都知道。“模块化”也是傻子都知道的一

Sychel的专栏 1108

一纵一横,搭建完整数据分析体系!

大家好,我是小z,也可以叫我阿粥~今天给大家一个最全面的数据分析体系,涵盖了公司级全部场景。大家可以对着参照,看自己的发力点在哪里。整个体系可以概括为:一纵一横。话不多说,上干货!一纵:从效果角度看工作问一个简单而关键的问题:数据分析,到底有啥用?答:站在业务的角度,数据分析有6大用处1、目标制定:确定量化目标,分解下发目标2、趋势预测:预测正常走势,提供决策参考3、过程...

SeizeeveryDay的博客 281

我的笔记:数据体系规则

统一数仓层DW(Data Warehouse):分为明细数据层(dwd)和汇总数据层(dws),业务系统是按照业务流程方便操作的方式来组织数据,而统一数仓从业务易理解的视角来重新组织,定义一定的指标、维度,各业务板块、业务域按照统一规范独立建设,从而形成统一规范的标准业务数据体系;应用数据层ADS(Application Data Stroe):按照业务需求从统一数仓层、标签数据层抽取数据,并面向业务的特殊需要加工业务特定数据,以满足业务及性能需求,向特定应用组装应用数据;贴源层数据只能被统一仓库层使用;

EmilyHoward的博客 1315

数据指标体系的构建思路

前言 指标一般分为:结果性指标和过程性指标 1)结果性指标,比如电商场景下的 GMV 或订单量,它通常是业务漏斗的底部,是一个不可更改的、后验性的指标。 2)过程性指标,可以简单理解为我到达这个结果之前经过的路径,以及通过这个路径去衡量转化好坏的过程,它是可干预的,而且通常是“用户行为”。 在实际的业务运营过程中,不仅要关注结果性指标,更要关注过程性指标,通过优化过程性指标便能够更加有效的达成结果性指标。 在了解了指标的类型之后我们就可以着手开始搭建我们的指标体系了,首先需要找到什么是我们关注的核心指标?

sheep8521的博客 2252

数据仓库模型分层ODS、DWD、DWM实战

数据仓库模型分层ODS、DWD、DWM实战

ytp552200ytp的博客 2608
上一篇: 大数据Hadoop之——新一代流式数据湖平台 Apache Hudi
下一篇: 数据大体系(二)——数仓的一般命名规范
wrr-cat
博客等级 码龄9年 128粉丝 302原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值