数仓分类及基本概念

news2024/11/17 11:46:07

【数仓建设系列之二】数仓分类及基本概念

随着移动互联网的快速发展,数据的生产也成几何式的增长,传统意义上的数据库已经无法满足日益增长的需求,建设一个好的数仓,不仅可以为企业的决策和发展带来具有价值的指导意义,同时也能够将企业产生的所有数据充分利用起来,真正挖掘出数据的价值,让数据成为企业的关键财产之一。

一、OLTP和OLAP

​ OLTP(Online Transaction Processing)和OLAP(Online Analytical Processing)是我们常见的两种数仓解决方案。从功能定位来看,OLTP数据库是一种严格意义上的事务性和关系型数据库(MySQL就是典型的OLTP之一),它更多的是支持业务侧的更新操作(CRUD),要求能够提供实时在线处理事务的能力,更加注重操作的上的ACID(一致性,原子性,隔离性和持久性)。OLAP数据仓库则更加注重复杂场景下数据整合能力和查询分析能力,它是解决数据孤岛和提供多维分析的主要保障之一。在OLAP数据仓库中,人们往往更加注重数据的变化趋势,更多的是希望通过一些分析和查询等手段形成某些维度的报表或视图,为企业的决策和发展提供支撑作用。本篇文章接下来将主要介绍OLAP数据仓库中的一些基本概念和整体结构。

二、数仓建模概念介绍

我们一直在说OLAP数据仓库是一个面向主题的多维分析数据仓库,在数仓中,包含了诸如主题,维度,度量,指标等等的名词,许多人对这些名词有些疑惑了,到底什么是主题,维度,指标呢?首先我们来看以下这个例子:

比如: 2022年西安市购买汽车的总人数为100w。

在这段描述中,我们可以提炼出以下几个关键信息:

  • 将"购买"作为一个主题;

  • 将"2022年","西安市"和"汽车"可以分别作为时间维度,地点维度和商品维度;

  • 将"100w"作为一个度量,同时也可以看作是一个原子指标;

  • 可以将"西安市购买汽车的总人数为100w",可以看作是一个派生指标;

根据以上这个例子,我们可以总结出来:

主题:主题是一个抽象概念,每一个主题都是一个宏观层面的分析领域,可以简单理解为是某一分析对象数据的集合,在数仓中是指数据的分类。

维度:维度是对数据描述,通常包含时间维度,空间维度,人员维度等。维度能够帮助我们更好的理解和分析数据;

事实:指存储在数仓中数据的具体值,包含度量和指标,它可以用来衡量和描述数据特征变化趋势,在数仓中通常是指销售额,订单数量,客户数量,pv,uv等;

指标:是"事实"的一部分,也可以理解为就是度量,如果一个指标不加任何修饰词,那它就是一个原子指标;

派生指标:在原子指标的基础上,加上一些修饰词(维度)或者是通过一些简单计算(加减乘除)得到就是一个派生指标;

复合指标:上述例子中,没有体现出来复合指标的概念,我们可以理解为将原子指标或派生指标与维度成员,统计属性,管理属性等相结合产生的指标,比如在企业中常见的同比,环比,计划值,累计值等等;

以上就是数仓中的一些基本概念介绍。

三、数仓分层概念介绍

相信对于大多数小伙伴来讲,只要稍微对数仓有一点的了解,那么肯定就会知道数仓的经典分层结构:ODS(源数据层),DWD(明细数据层),DWS(明细汇总层),ADS(数据集市,也叫应用层),DIM(公共维表层)。那为什么还要在这重复来说呢?两方面原因:1.一篇系统性的文章,需要对涉及到的知识点进行一个较为全面的覆盖,缺了数仓分层介绍,在数仓建设这块是不完整的;2.数仓经典分层是一个基础架构,就像我们学习java时首先要学习一些java基础方面的知识是一样的,只有把这块的核心思想和规范吃透以后,我们才能举一反三,设计出更好的产品来,因为在实际生产环境中,数仓建设远比理论上复杂的多。好了,废话不多了说,有需要的可以一起看看下面这张图:
在这里插入图片描述
ODS层:

源数据层。顾名思义,就是把来自不同数据源下的结构化和非结构化(通过特定手段)数据通过全量或增量的方式统一存储在这一层,包括业务数据库数据,埋点日志数据等。ODS层的数据理论上来说是要保持原始数据模样的,基本不做任何转换或者清洗。但其实在实际业务场景中,如果数仓中ODS层的表是采用日期或时间字段分区,此时如果数据中出现了非法的日期或时间格式,我们肯定还是要将数据做ETl清洗的,避免数据在入仓时出现异常错误,更严重可能导致正常数据丢失。

DW层:

明细层。DW层是在数仓建设中要核心设计与研讨的一层,也是数仓建模的起始层,根据其特点可以细分为DWD和DWS层。

  • DWD层

明细数据层。主要是对ODS层的数据进行规范化处理,包括统一日期格式,过滤非法数据,编码格式转换等操作。该层数据一般不做横向整合,保持和ODS层一样的粒度。

  • DWS层

明细汇总层。结合DWD层的数据和一些维表数据,将数据按照一定主题汇总成一个粒度比DWD层稍粗的通用宽表数据。

DIM层:

公共维表层。该层主要是存放一些公用业务维表数据,包括一些业务数据中的基础配置数据,或字典数据。

ADS层:

应用层(数据集市)。该层主要是为报表或者数据视图提供统一的应用数据,包括一些趋势指标,环比,同比等数据信息,同时,也可以面对一些特殊的业务场景,做定时数据开发需求。

以上就是数仓的经典分层架构设计和基本功能概述。

四、总结

本篇文章主要介绍了数仓建设和数仓建模的一些基本概念知识。不同的人对这些内容可能有不同的理解,但在一个企业数仓建设团队中,所有人的理解必须要保持一致的,毕竟一个企业级的数仓建设是相当复杂的,不仅要设计好数仓整体设计,还要设计好数仓建模的方法,如果概念不清或理解不一致,大概率会导致往错误方向发展。

,毕竟一个企业级的数仓建设是相当复杂的,不仅要设计好数仓整体设计,还要设计好数仓建模的方法,如果概念不清或理解不一致,大概率会导致往错误方向发展。

最后,数仓建模大部分采用的都是维度建模,维度建模过程中,又有星型,雪花型和星座型几种维度建模手法,那每种建模手法的优劣势如何以及该怎么评估一个数仓建设好坏,请各位朋友点个关注,我们下篇文章接着讲。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/906306.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python自动化测试代理程序可用性

在网络爬虫和数据采集过程中,代理服务器扮演着重要的角色。然而,代理服务器的可用性经常会受到影响,给爬虫工作带来一定的挑战。本文将介绍如何使用Python自动化测试代理程序的可用性,为您提供具备实际操作价值的解决方案。让我们…

同为科技(TOWE)65W快充插排插线板,快人一步,乐享生活

在现代生活中,手机、平板、笔记本电脑等电子设备已成为人们生活中不可或缺的工具。然而,诸多电子产品在充电方面也出现了许多问题,比如充电过程慢、插口不够用、充电时温度过高等。随着随着技术的更新迭代,满足高功率、多接口且多…

机器学习与模式识别2:KNN(k近邻)

一、简介 首先,随机选择K个对象,而且所选择的每个对象都代表一个组的初始均值或初始的组中心值,对剩余的每个对象,根据其与各个组初始均值的距离,将他们分配各最近的(最相似)小组,然…

Redis原理剖析

一、Redis简介 Redis是一个开源的,基于网络的,高性能的key-value数据库,弥补了memcached这类key-value存储的不足,在部分场合可以对关系数据库起到很好的补充作用,满足实时的高并发需求。 Redis跟memcached类似&#…

会声会影和Pr哪个好?

会声会影是加拿大Corel公司制作的一款功能强大的视频编辑软件,正版英文名:Corel VideoStudio,具有图像抓取和编修功能,可以抓取,转换MV、DV、V8、TV和实时记录抓取画面文件,并提供有超过100 多种的编制功能…

小研究 - Android 字节码动态分析分布式框架(四)

安卓平台是个多进程同时运行的系统,它还缺少合适的动态分析接口。因此,在安卓平台上进行全面的动态分析具有高难度和挑战性。已有的研究大多是针对一些安全问题的分析方法或者框架,无法为实现更加灵活、通用的动态分析工具的开发提供支持。此…

水电站防雷工程综合解决方案

水电站防雷工程是指为了保护水电站的建筑物、设备和人员免受雷电危害而采取的一系列技术措施。水电站防雷工程的主要内容包括接地装置、引下线、接闪器、等电位连接、屏蔽、综合布线和电涌保护器等分项工程。水电站防雷工程的施工和质量验收应遵循国家标准《建筑物防雷工程施工…

算法leetcode|72. 编辑距离(rust重拳出击)

文章目录 72. 编辑距离:样例 1:样例 2:提示: 分析:题解:rust:二维数组(易懂)滚动数组(更加优化的内存空间) go:c:python&a…

vue引入 import { decode } from ‘js-base64‘

vue引入 import { decode } from ‘js-base64’ package.json 里面加上 需要用的地方 加上 import { decode } from ‘js-base64’ let params decode(loook)最后 npm install

【数据分享】2006-2021年我国城市级别的节约用水相关指标(免费获取\20多项指标)

《中国城市建设统计年鉴》中细致地统计了我国城市市政公用设施建设与发展情况,在之前的文章中,我们分享过基于2006-2021年《中国城市建设统计年鉴》整理的2006—2021年我国城市级别的市政设施水平相关指标、2006-2021年我国城市级别的各类建设用地面积数…

@Accessors和@Builder区别

目录 Accessors和Builder Accessors(chaintrue)BuilderAccessors和Builder的区别Accessors和Builder使用的坑详细看看Accessors注解 Accessors的源码Accessors属性说明 fluent属性chain属性makeFinal属性prefix属性 Accessors和Builder Accessors(chaintrue) 就是new一个对象…

c语言每日一练(10)

前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…

计算机农业类重点SCIE征稿中

SciencePub学术 刊源推荐: 计算机农业类重点SCIE征稿中!信息如下,录满为止: 一、期刊概况: 计算机农业类重点SCIE 【期刊简介】IF:3.0-3.5,JCR2区,中科院4区; 【版面类型】正刊&a…

传统车间VS数字化车间,以MES为核心打造智能工厂!

传统车间的生产制造场景往往存在着信息沟通不顺畅,传达不到位的情况,导致生产效率受影响。 其次车间数据的“缓存期”偏短,无法进行长时间的复盘总结,从而难以发现企业管理问题,无法持续改善。 随着大数据、工业互联…

Gate相关记录

1 如何在virtual box里面创建共享文件夹 如果没有设置密码,密码就是默认的virtual 需要现在设置-共享文件夹-设置windows的共享路径,然后再执行下面的命令,Gateshare是我自己建的在windows里面的共享文件夹名字 sudo mount -t vboxsf GateS…

中期国际:外汇新手必读:常见的外汇交易误区与避免方法

对于外汇交易的新手来说,了解和避免常见的交易误区是非常重要的。在本文中,我们将带您一起探讨一些常见的误区,并提供一些实用的避免方法,帮助您在外汇市场上取得更好的交易结果。 误区一:盲目跟单 很多新手会犯一个错…

推特营销6大策略助您制霸国际市场

策略一:专业推文中的链接数量 推特群推王研究发现,无链接的推文策略更能激发粉丝互动。因此,并非每条推文都必须附带链接,要保证链接内容与推文实质相关。通过限制带链接推文的数量,能提升粉丝参与度。 策略二&#…

手机直播源码开发,协议讨论篇(三):RTMP实时消息传输协议

实时消息传输协议RTMP简介 RTMP又称实时消息传输协议,是一种实时通信协议。在当今数字化时代,手机直播源码平台为全球用户进行服务,如何才能增加用户,提升用户黏性?就需要让一对一直播平台能够为用户提供优质的体验。…

IntelliJ IDEA下基于Scala实现的Git检查工具

本文使用Scala实现自定义的Git检查工具,读者可以基于本文的示例进行扩展与实现,也可以进行其他应用方向的尝试。 01、Git检查工具 在实现Git检查工具之前需要知道程序究竟要做什么。我们知道,在管理Git分支时可以进行代码合并操作,这样可以将其他开发者提交的内容同步到当前分支…

cloud 问题

eureka 自我保护机制 eureka 是定时去拿 统计最近15分钟的eureka实例正常的心跳占比,如果低于85%,那么就会触发自我保护机制。 触发了自我保护机制,eureka 暂时会把失效的服务保护起来,不让其过期,但是这些服务也不是…