2023.11.22 -数据仓库

news2024/9/21 16:32:02

目录

https://blog.csdn.net/m0_49956154/article/details/134320307?spm=1001.2014.3001.5501

1经典传统数仓架构

2离线大数据数仓架构

3数据仓库三层

数据运营层,源数据层(ODS)(Operational Data Store)

数据仓库层(DW)(Data Warehouse)

数据应用层ADS(Application Data Service) 

事实表(Fact Table)

维表层(Dimension)

4数据仓库和数据库的区别(t数据库,a仓库)

 5.关系模型(ER模型+三范式)

E-R模型(Entity-relationship model)

5.1.三范式

概述:

一、3NF知识点

5.2反范式化

 概述


补充之前的 :2023.11-9 hive数据仓库,概念,架构,元数据管理模式

https://blog.csdn.net/m0_49956154/article/details/134320307?spm=1001.2014.3001.5501

1经典传统数仓架构

阶段一: 1991年 比尔-恩门(bill inmon)出版第一版数据仓库的书, 标志数据仓库概念的确立, 称为恩门模型
    主张自上而下的建设企业级数据仓库, 建设过程中需要满足三范式要求
    从分散异构的数据源 -> 数据仓库 -> 数据集市
    
    存在问题: 
        由于三范式的建模,导致在数据分析中数据易访问性和系统的性能均收到影响

阶段二: 拉尔夫·金博尔(ralph kimball)提出自下而上的建立数据仓库,整个过程中信息存储采用维度建模而非三范式
    从数据集市-> 数据仓库 -> 分散异构的数据源
    
    优点: 
        提出了维度建模新思路, 完全以数据分析便利性为前提建设, 推出了事实-维度模型
        以最终任务为导向, 需要什么, 我们就建立什么
    
    弊端:
        随着业务的发展, 导致数据集市越来越多, 出现多个数据集的数据混乱和不一致的情况

阶段三: 1998年比尔-恩门(bill inmon)推出全新的CIF架构, 核心将数仓架构划分为不同的层次以满足不同场景的需求
    如: ODS  DW  DA层等
    
    从而明确各个层次的任务分工, 避免原有数据混乱和不一致的问题
    
    而这种思想已经成为截止到今天的建设数据仓库的指南

2离线大数据数仓架构

    大数据中的数据仓库构建就是基于经典数仓架构而来,使用大数据中的工具来替代经典数仓中的传统工具,架构建设上没有根本区别

 项目架构图

 集群管理工具: Cloudera Manager
数据源: 业务系统的Mysql与SQLServer数据库; 
数据抽取: 使用DataX实现关系型数据库和大数据集群的双向同步; 
数据存储: HDFS 
计算引擎: Hive
交互查询引擎: Presto
OLAP: PG
数据可视化: Fine Report
调度系统: DolphinScheduler(海豚调度)

3数据仓库三层

数据运营层,源数据层(ODS)(Operational Data Store)

数据运营层ODS(Operation Data Store) -也就是最接近数据源的一层,直接对接的数据源(如:业务库、埋点日志、消息队列等)。ODS数数仓的最底层。

该层是存储数量最大的、未经过太多处理的、最原数据始的一层。该层还起到一个数据备份的作用,比如特殊的行业,一般ODS层需要存储一年甚至多年,不过普通公司一般存储三个月到六个月。

一般情况下,在数据进入ODS层的时候,都会对数据做一些最基本的处理。例如:

  • 数据来源分区
  • 数据按照时间分区存储,一般按照天分区,也有一些公司按照年、月、日三级分区存储
  • 进行最基本的数据处理,如格式错误的丢弃、过滤掉关键信息丢失的数据。

注意:一般公司也会把以上的基本处理放到DWM层来进行。

数据仓库层(DW)(Data Warehouse)

  • DWD(Data WareHouse Detail) -数据细节层。该层与ODS层保持相同的数据颗粒度,区别在于,改成主要是对ODS层进行数据的清洗和规范化操作,比如说去除空数据、脏数据等。该层由于对数据处理的粒度比较细,一般情况下都是编写代码实现的。很多时候存储的是事实表、维度表和实体表。
  • DWM(Data WareHouse Middle) -数据中间层。该层主要是对DWD层做一些轻微的聚合操作,生成一些指标列的聚合结果表。
  • DWS(Data WareHouse Service) -数据服务层。该层是在DWM层基础之上,整合汇总成一个主题域的数据服务层,一般是宽表(具有多个列的表),该层为后续的业务查询、OLAP分析和数据分发提供支撑。

数据应用层ADS(Application Data Service) 

数据应用层ADS(Application Data Service) -该层主要为数据产品和数据分析提供数据支撑。一般会存放在ES、MySQL、Redis等数据库系统中,为应用系统提供数据,也可以存放在hive或者Druid中,供数据分析与数据挖掘使用,比如数据报表就是存在该层中。

事实表(Fact Table)

事实表是指存储有事实记录的表,比如系统日志、销售记录等。事实表的记录在不断地增长,比如电商的商品订单表,就是类似的情况,所以事实表的体积通常是远大于其他表。

维表层(Dimension)

维度表(Dimension Table)或维表,有时也称查找表(Lookup Table),是与事实表相对应的一种表;它保存了维度的属性值,可以跟事实表做关联,相当于将事实表上经常重复出现的属性抽取、规范出来用一张表进行管理。

4数据仓库和数据库的区别(t数据库,a仓库)

数据库与数据仓库的区别:实际讲的是OLTP与OLAP的区别
OLTP(On-Line Transaction Processin):叫联机事务处理,也可以称面向用户交易的处理系统,  主要面向用户进行增删改查

OLAP(On-Line Analytical Processing):叫联机分析处理,一般针对某些主题的历史数据进行分析 主要面向分析,支持管理决策。

数据仓库主要特征:面向主题的(Subject-Oriented )、集成的(Integrated)、非易失的(Non-Volatile)和时变的(Time-Variant)

数据仓库的出现,并不是要取代数据库,主要区别如下:

  1.     数据库是面向事务的设计,数据仓库是面向主题设计的。
  2.     数据库是为捕获数据而设计,数据仓库是为分析数据而设计
  3.     数据库一般存储业务数据,数据仓库存储的一般是历史数据。
  4.     数据库设计是尽量避免冗余,一般针对某一业务应用进行设计,比如一张简单的User表,记录用户名、密码等简单数据即可,符合业务应用,但是不符合分析。
  5.     数据仓库在设计是有意引入冗余,依照分析需求,分析维度、分析指标进行设计。

 5.关系模型(ER模型+三范式)

E-R模型(Entity-relationship model)

表示:
实体: 用矩形框表示。
属性: 实体的属性用椭圆框表示。
联系:实体间的联系用菱形框表示,并在连线上标明联系的类型,即1—1、1—n或m—n。

两个实体之间的联系
一对一(1:1):
在这里插入图片描述

一对多(1:n)
在这里插入图片描述

多对多(m:n)
在这里插入图片描述

5.1.三范式

概述:

在关系型数据库中,关于数据表设计的基本原则,规则就称为范式。可以理解为,一张数据表的设计结构需要满足的某种设计标准的级别。想要设计一个结构合理的关系型数据库,必须满足一定的范式(规则)。

范式的英文名称是Normal Form,简称NF。它是英国人E.F.codd(埃德加·弗兰克·科德)在上个世纪70年代提出关系数据库模型后总结出来的。范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则指导方法

1981年,科德因在关系型数据库方面的贡献获得了图灵奖。他也被誉为:“关系数据库之父”

3NF知识点

设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。

根据数据库冗余的大小,目前关系型数据库有六种范式,各种范式呈递次规范,越高的范式数据库冗余越小。注意: 范式就是设计数据库的通用规范,一般遵循前三种范式即可

第一范式(1NF)

第二范式(2NF)

第三范式(3NF)

巴斯-科德范式(BCNF)

第四范式 ( 4NF)

第五范式(5NF,又称完美范式)

第一范式(1NF): 强调的是列的原子性,即列不能够再分成其他几列,不可再分解;。

第二范式(2NF): 满足 1NF的基础上,另外包含两部分内容,要求记录有惟一标识,即实体的惟一性

一是表必须有一个主键;

二是非主键字段必须间接或直接的依赖于主键

第三范式(3NF): 满足 2NF的基础上,3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。另外包含

非主键列必须直接依赖于主键,不能存在传递依赖。

即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。

5.2反范式化

 概述

有的时候不能简单按照规范要求设计数据表,因为有的数据看似冗余,其实对业务来说十分重要。这个时候,我们就要遵循业务优先的原则,首先满足业务需求,再尽量减少冗余

如果数据库中的数据量比较大,系统的UV和PV访问频次比较高,则完全按照MySQL的三大范式设计数据表,读数据时产生大量的关联查询,在一定程度上会影响数据库的读性能。如果我们想对查询效率进行优化,反范式优化也是一种优化思路。此时,可以通过在数据表中增加冗余字段提高数据库的读性能

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

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

相关文章

想打造私域流量帝国?先解决这4个难题!

一、谁是你的目标用户 1. 清晰界定目标用户:确定你的产品或服务主要面向的用户群体,如年龄段、性别、职业等特征。 2. 确定最有购买力的用户群体:分析哪个用户群体在购买你的产品或服务时更容易乐于支付,并将其作为重点关注对象。…

程序的执行原理(下)

文章目录 系统的硬件组成总线I/0设备主存处理器程序计数器(PC)加载:存储:操作:跳转: 运行 hello 程序读入寄存器,再把它存放到内存从磁盘加载程序到主存处理器执行程序并显示 参考 系统的硬件组成 总线 贯穿整个系统的是一组电子管道&#…

Java爬虫框架下代理使用中的TCP连接池问题及解决方案

引言 当使用Java爬虫框架进行代理爬取时,可能会遇到TCP连接池问题,导致"java.net.BindException: Cannot assign requested address"等错误。本文将介绍如何以爬取小红书为案例,解决Java爬虫框架中代理使用中的TCP连接池问题&…

连线鑫云:企业级存储设备制造商!

我们在今年的双11专场直播中,有幸邀请到了鑫云存储的嘉宾与我们连线,为大家作了一场精彩的分享。 这里,首先感谢鑫云存储对水经注的大力支持! 现在,我们将嘉宾分享的内容进行简单整理,并以图文的方式与大家…

如何隐藏自己的代码(很酷)

1.引入 幻想当我们成为一名优秀的程序员,有着各大公司想要买我们的代码,但我们并不想要让他们知道我们代码的实现,毕竟一复制便可以解决,这里我们希望有一种方法可以把我们的核心代码给隐藏掉,那我们又应该怎么去实现呢…

计算3个点的6种分布在平面上的占比

假设平面的尺寸是6*6,用11的方式构造2,在用21的方式构造3 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 3 3 3 x 3 3 2 2 2 1 2 2 2 2 2 1 2 2 在平面上有一个点x,11的操作吧平面分成了3部分2a1,2a…

【鸿蒙应用ArkTS开发系列】- 云开发入门实战二 实现城市多级联动Demo(上)

目录 概述 云数据库开发 一、创建云数据库的对象类型。 二、预置数据(为对象类型添加数据条目)。 三、部署云数据库 云函数实现业务逻辑 一、创建云函数 二、云函数目录讲解 三、创建resources目录 四、获取云端凭据 五、导出之前创建的元数据…

笔记58:Encoder-Decoder 架构

本地笔记地址:D:\work_file\(4)DeepLearning_Learning\03_个人笔记\3.循环神经网络\第9章:动手学深度学习~现代循环神经网络 a a a a a a a a a

我在Vscode学OpenCV 几何变换(缩放、翻转、仿射变换、透视、重映射)

几何变换指的是将一幅图像映射到另一幅图像内的操作。 cv2.warpAffine:使用仿射变换矩阵对图像进行变换,可以实现平移、缩放和旋转等操作。cv2.warpPerspective:使用透视变换矩阵对图像进行透视变换,可以实现镜头校正、图像纠偏等…

单链表相关面试题--3.链表的中间节点

3.链表的中间节点 876. 链表的中间结点 - 力扣(LeetCode) /* 解题思路: 通过快慢指针找到中间节点,快指针每次走两步,慢指针每次走一步,当快指针走到结尾的时候,慢指针正好走到中间位置 */ typ…

【点云上采样】最近邻插值上采样算法

文章目录 声明简介代码 声明 本帖更新中 简介 点云最近邻插值上采样算法是一种常见的点云处理方法,用于将稀疏的点云数据进行上采样,增加点云的密度和细节。该算法基于最近邻的原理,在已有的点云数据中找到最近邻的点,并根据其…

psutil - Python中用于进程和系统监控的跨平台库

1、简介 psutil(进程和系统实用程序)是一个跨平台库,用于检索 Python 中运行的进程和系统利用率(CPU、内存、磁盘、网络、传感器)的信息。 它主要用于系统监控、分析和限制进程资源以及管理正在运行的进程。 它实现…

Positive证书:最便宜的SSL证书

在当今数字化的时代,网上交易和信息传输已经成为我们生活中不可或缺的一部分。然而,随着网络犯罪的增加,确保在线信息的安全性变得尤为重要。Positive证书作为一种经济实惠的数字证书,在提供有效安全性的同时,为用户提…

数字IC基础:有符号数和无符号数加、减法的Verilog设计

相关阅读 数字IC基础https://blog.csdn.net/weixin_45791458/category_12365795.html?spm1001.2014.3001.5482 本文是对数字IC基础:有符号数和无符号数的加减运算一文中的谈到的有符号数加减法的算法进行Verilog实现,有关算法细节请阅读原文&#xff0…

设计一个实用好看的餐边柜或者酒柜需要知道这5点。福州中宅装饰,福州装修

餐厅旁边的餐边柜和酒柜是提升餐厅功能性和美观度的重要元素。它们不仅可以提供额外的储物空间,还可以展示精美的餐具和收纳酒品。下面为大家分享一些布置餐边柜和酒柜的灵感,让你的餐厅更加时尚和实用。 1. 餐边柜与酒柜的组合 将餐边柜和酒柜组合在一…

三十分钟学会Linux的基本操作

GNU/Linux GNU项目是由Richard Stallman发起的自由软件运动,旨在创建一个完全自由的操作系统。虽然GNU项目已经开发了大量的系统组件和工具,但它一直缺少一个完整的操作系统内核。在这时Linus Torvalds开发了Linux内核,并将其发布为自由软件…

skywalking中gateway的拓扑图没有出现

背景: 刚开始的时候gateway没有出现,后来百度说添加插件的jar包, apm-spring-cloud-gateway-2.1.x-plugin-8.15.0.jar apm-spring-webflux-5.x-plugin-8.15.0.jar 然后解决了gateway节点出来了, 但是:拓扑图却是User指…

2023年DevOps国际峰会暨BizDevOps企业峰会(DOIS北京站)-核心PPT资料下载

一、峰会简介 在数字化转型的大背景下,企业选择实践 DevOps 来提升 IT 效能成为常态,BizDevOps 作为企业自身数字化变革的重要主题之一,需要全行业共同努力促进繁荣和发展。从 DevOps 到 BizDevOps,业务与技术如何融合&#xff1…

CRMEB Pro版 v3.0详情预告(附件crmebPro功能思维导图)

首先,先来看看本次CRMEB Pro版 v3.0 的整体升级框架 翩若惊鸿 CRMEB Pro版 从设计之初,就十分重视用户体验,在保证强大功能的同时,本次也为大家带来了领先于业界的UI 3.0,一目惊鸿。 一、风格升级 1、圆角风格 商城…

【论文阅读笔记】CNN-Transformer for Microseismic Signal Classification

【论文阅读笔记】CNN-Transformer for Microseismic Signal Classification 摘要 这篇论文提出了一种名为CCViT的轻量级网络模型,用于快速准确地识别地下传感器采集的煤矿和岩石裂缝的微震信号中由煤矿爆破产生的大量爆破振动信号。这些微震信号与爆破振动信号的波…