一文搞懂数据仓库分层模型

这篇具有很好参考价值的文章主要介绍了一文搞懂数据仓库分层模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、分层逻辑

数据仓库、数据湖的业务目的就在于集中数据、标准化、形成数据产品、面向业务场景开放数据。通俗地讲就是把各个分散的、不易读的、杂乱的、封闭的业务系统数据,归集收编、分门别类、整齐划一、规范管理,让业务便捷获取、使用,最大可能大挖掘和发挥数据价值。和餐厅点菜上菜类似,生活中类似场景也非常多。其中就涉及比较多的、相互关联的细分步骤。

二、分层目的

本质上是封装与解耦。封装下层,让上层感知不到变化和影响;解耦,降低上层对下层的依赖,有个中间商来做润滑剂。

  • 复杂问题简化:将一个复杂的任务拆解为多个步骤,每个步骤只解决特定的问题
  • 减少重复开发:规范数据分层,提炼抽象公共环节,增加数据复用性
  • 构建数据资产:统一标准的数据结构,根据业务属性划分业务领域、子领域,无差别呈现给业务

三、分层适用

数据仓库的概念虽然历史久远,但它的作用或者理念与数据湖形成映射,甚至二者结合形成湖仓一体,都还在发挥着重要作用。数据湖在数据的来源范围、数据类型、数据数量、实时性、技术手段、数据质量、数据标准、使用人群、数据用途等方面有所扩展和增强,但在数据的全生命周期的各个阶段中,个人理解没有什么本质区别。非要说个先后、强弱或者渐进的关系,数据湖以及湖仓一体,是在大数据、物联网、人工智能时代对数据仓库的进一步迭代,外加数据治理领域的配套措施。

我不纠结它是单纯的数据仓库、数据湖还是湖仓一体还是什么,市面上的解决方案、服务、产品等要么肢解各个解耦层形成独立的产品,要么综合尽量多的功能,形成在业务看来大而全的一套方案。从实际操作上、产品呈现上,不同层面的功能时而独立销售/使用、时而集成汇聚。关键是看业务需要什么,通过怎么样的产品和产品组合来达成业务目的、方便管理和演进,细分下去就是功能区域的划分和协作,这就回到了核心的数据仓库分层模型上。

四、分层划分

这个分层目前没有找到国家标准、行业标准之类的权威参考,数据管理领域权威DMBOK、国家标准DCMM也没有把这些术语拿来讲解。这两者更多讲的是理论/业务完整性,而下面要讲的分层更多的在于具体技术实现。当前的分层,中英文初看比较杂论,不同厂家也有不同的叫法。

序号 英文简写 英文全称 中文(本文倾向) 其他词汇 分层功能
1 Buffer Buffer 缓冲层 接口层、Stage 常规理解的数据缓冲
2 ODS
SDI
Operational Data Store
Source Data Integration
贴源数据层 操作数据层、原始数据层、数据运营层、
数据引入层、数据基础层
ETL之后业务原始数据存储,
尽量原汁原味
3 DWD
DWI
Data WareHouse Detail
Data Warehouse Integration
明细数据层 数据细节层、数据整合层、明细事实表 ODS数据的简单清洗、
维度退化、数据脱敏、格式统一
4 DWB
DWM
MID
Data Warehouse Base
Data Warehouse Middle
Middle
轻度汇总层 基础数据层、数据中间层 对核心维度进行指标统计,
减少重复计算
5 DWS
DWR
DWT
Data Warehouse Service
Data Warehouse Report
Data Warehouse Topic
主题数据层 服务数据层、数据服务层、数据报告层、
宽表层、汇总数据层
按主题汇聚多字段为宽表,
简化查询
6 ADS
DM
App
Application Data Service
Data Mart
数据集市层 数据应用层、数据产品层、专题数据层 统计汇总数据,
供业务应用直接使用
7 DIM Dimension 维表 码表、维度表 DWD及之上数据层共用,
比如国家编码、机场编码、商品类型
8 DW
CDW
Data Warehouse
Common Dimenions Model
数据仓库层 数据公共层 包含DWD、DWM、DWS、DIM

从上表看出,大体分层固定,不同厂家或者方案都有不同的叫法,但是表达的分层意思几乎一样,具体分层所承载的数据功能也大同小异。命名格式上,有xx数据层,也有数据xx层,还有xx层。只要保持分层清晰,逻辑表达连贯完整,我想就无所谓用哪个名字。

五、分层组合

DM数据仓库层,包含DWD、DWB和DWS。至于DIM严格来说不算是一个层次,而是DWD及其之上层次的一个共享部分。而上述的分层不一定非要全部构建,而是根据组织、业务的实际需求及其变化频率、大小,实现难度、投入产出比来综合选定。个人的实践总结是适量前瞻性设计、能有多简单就多简单,并且设计的分层还会根据业务和环节变化不停迭代。另外,从DWD开始往上的每一层都可以直接提供给上层业务使用,而从业务系统中ETL之后的数据一定是先存放在ODS之中,尽量杜绝其他分层重复地直接从业务系统抽取数据,减少数据同步对业务系统的影响,达到一次抽取,多次利用。
一文搞懂数据仓库分层模型文章来源地址https://www.toymoban.com/news/detail-459859.html

六、参考资料

  • 数仓分层
  • 基本概念_数据湖治理中心 DGC_产品介绍_华为云
  • 数仓到底要分多少层? - 未来数据官
  • 大数据环境下该如何优雅地设计数据分层
  • 详解数仓中的数据分层:ODS、DWD、DWM、DWS、ADS - 掘金
  • 《大数据分析:数据仓库项目实战》

到了这里,关于一文搞懂数据仓库分层模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据仓库——分层原理

    目录 一、什么是数据仓库 二、数仓建模的意义,为什么要对数据仓库分层? 三、ETL 四、技术架构 五、数仓分层架构 数仓逻辑分层 1、数据引入层(ODS,Operational Data Store,又称数据基础层):           1.1 、数据主要来源 1.2 、数据存储策略(增量、全量) 2、数仓层

    2024年02月04日
    浏览(25)
  • 一文搞懂OSI参考模型与TCP/IP

    OSI模型(Open System Interconnection Reference Model),即开放式通信系统互联参考模型,是国际标准化组织(ISO,International Organization for Standards)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架。 应用层(Application Layer):发什么 表示层(Presentation Layer):以什么

    2024年02月04日
    浏览(28)
  • 一文彻底搞懂OSI七层模型和TCP/IP四层模型

    OSI(Open System Interconnect)七层模型是一种将计算机网络通信协议划分为七个不同层次的标准化框架。每一层都负责不同的功能,从物理连接到应用程序的处理。这种模型有助于不同的系统之间进行通信时,更好地理解和管理网络通信的过程。 OSI定义了网络互连的七层框架(物

    2024年04月28日
    浏览(20)
  • SpringBoot查找多级商品方案【一次sql查询所有数据,循环处理分层逻辑】

    一、查找所有商品 1、service CategoryServiceImpl.java this::category2CategoryVo 等价于 e - category2CategoryVo(e) 2、循环查找子目录 CategoryServiceImpl.java 3、直接拷贝数据 CategoryServiceImpl.java 二、根据categoryId查找多级商品 1、ProductServiceImpl.java 2、CategoryServiceImpl.java

    2024年02月12日
    浏览(23)
  • 一文带你搞懂PyTorch中所有模型查看的函数model.modules()系列

    model一般继承nn.Model 他的实例一般具有几个有序 字典 , _modules,_parameters,_buffers,表示当前model的子模块,自己注册的parameters和buffers 注意,_modules字典keys对应子模块名字,value对应子模块的实例,所以可以迭代的调用子模块的子模块,比如下面两个函数 因为是字典,所以可

    2024年02月06日
    浏览(23)
  • 【pytorch】目标检测:一文搞懂如何利用kaggle训练yolov5模型

    笔者的运行环境:python3.8+pytorch2.0.1+pycharm+kaggle。 yolov5对python和pytorch版本是有要求的,python=3.8,pytorch=1.6。yolov5共有5种类型nslmx,参数量依次递增,对训练设备的要求也是递增。本文以yolov5_6s为切入点,探究yolov5如何在实战种运用。 roboflow是一个公开数据集网站,里面有很

    2024年02月12日
    浏览(26)
  • OpenAI开发系列(一):一文搞懂大模型、GPT、ChatGPT等AI概念

    全文共5000余字,预计阅读时间约10~20分钟 | 满满干货,建议收藏! 本文目标:详细解释大型语言模型(LLM)和OpenAI的GPT系列的基本概念。 大型语言模型,也称大语言模型、大模型(Large Language Model,LLM;Large Language Models,LLMs) 。 大语言模型是一种深度学习模型,特别是属于

    2024年02月13日
    浏览(22)
  • 一文彻底搞懂JSON数据

    什么是JSON,为什么需要JSON,JSON的3种形式,JSON常用的方法等 TIP JSON指的是全称是:javascript对象表示法 JSON是Ajax发送和接收数据的一种格式 JSON是一种轻量级的数据交互格式, 其为字符串类型 (面试题会考到) JSON是一种语法,用来序列化对象、数组、数值、字符串、布尔值和

    2024年02月06日
    浏览(28)
  • 一篇文章搞懂数据仓库:常用ETL工具、方法(1)

    ETL ,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,是数据仓库的生命线。 **抽取( Extract )**主要是针对各个业务系统及不同服务器的分散数据,充分理解数据定义后,规划需要的数据源及数据

    2024年04月17日
    浏览(20)
  • mysql处理json格式的字段,一文搞懂mysql解析json数据

    略。自行百度。 JSON 数据类型是 MySQL 5.7.8 开始支持的。在此之前,只能通过字符类型(CHAR,VARCHAR 或 TEXT )来保存 JSON 文档。 MySQL 8.0版本中增加了对JSON类型的索引支持。可以使用CREATE INDEX语句创建JSON类型的索引,提高JSON类型数据的查询效率。 存储JSON文档所需的空间与存储

    2024年02月07日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包