《Building the Data Warehouse》(数据仓库 第四版)拆书稿-关系模型(3NF范式建模)重要知识点

本文主要是介绍《Building the Data Warehouse》(数据仓库 第四版)拆书稿-关系模型(3NF范式建模)重要知识点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

拆书稿:《Building the Data Warehouse》(数据仓库 第四版)

在这里插入图片描述
最近复盘数据仓库的相关技术,在网上搜了好多关于数仓的帖子,看完之后就是感觉有肉无血,串不起来。因为好多都是介绍数仓的两种建模基本理论,但是付诸于实践的时候感觉还是无从下手。所以才决心整理一下自己这几年的数仓经验。分享给大家,刚开始写帖子,有需要改进的地方大家可以留言给我,或者有什么需要反馈的问题都可以给我留言或者评论。

阅读建议:全文可能比较长,建议先收藏在细读

前言

数据仓库可能大家非常熟悉的两位建模理论的创始人:William H.Inmon 和 Ralph Kimball,对应的 Inmon 主要的模型是:实体-关系模型, Kimball主导的模型是:维度模型
在这里插入图片描述

本片文章的目录:

0.数据库三范式回顾
1.《Building the Data Warehouse》的目录
2.全书摘要(个人见解)
3. 重要章节技术点详细讲解
    第二章 数据仓库环境
           粒度
           分区
    第三章 设计数据仓库
           数据仓库与数据模型
           规范化与反向规范化
           元数据
           数据周期
           转换和集成
           星形连接
           四类ODS
    第四章: 数据仓库中的粒度
    第六章: 分布式数据仓库
    第十三章 关系模型和多维模型数据库设计基础
4. 全书重点章节的脑图(由于图片比较长所以放在最后显示)

0.数据库三范式回顾

  • 第一范式: 保证数据表的原子性,就是列不可再分,保证不会出现重复的列。是关系模式规范化的最低要求
  • 第二范式: 表的非主属性完全依赖于主关键字,就是属性依赖于主键。保证不会出现重复的行
  • 第三范式: 所有的非主属性依赖于主键,只能存在这一种依赖关系。(例如: 表字段:学号,姓名,班级,系名称,系主任;其中系名称和系主任存在新的函数依赖,并且不依赖与主键学号,所以不满足第三范式)

1.《Building the Data Warehouse》的目录

在这里插入图片描述

2.全书摘要

建造数据仓库,开始于粒度分区的设计,基于数据模型ETL的流程控制才能完成。如果开发者想着大多数需求都明了之后才开始工作,那么这个仓库是永远建不起来的。所以,数据仓库环境中反馈循环非常重要,在各方用户和DSS分析员的反馈信息推动下循环调整才能使这个仓库越来越健壮。

3.重要章节技术点详细讲解

第二章 数据仓库环境

数据仓库定义: 一个面向主题的,集成的,非易失的,随时间变化的用来支持管理人员决策的数据集合。

数据仓库是体系化环境的核心,是决策支持系统处理的基础

数据仓库面向在高层企业数据模型中已经定义好的企业主题域。典型的主题域有:

  • 顾客
  • 产品
  • 交易或活动
  • 政策
  • 索赔
  • 账目

粒度: 指的是数据仓库中数据单元的细节程度或者综合程度的级别,细节程度越高,粒度级别就越低,细节程度越低,粒度级别就约高。
(个人思考:基于大数据时代背景,存储成本越来越低,分布式技术越来越成熟。在选取粒度时可以直接选取最低的粒度级别。便于后续的数据分析和数据建模)
双重粒度: 可以提高存储和访问数据的效率。
(个人理解: 双重粒度就是指数据粒度分层;例如:数据可以分为明细层和汇总层。根据查询需求从不同的数据粒度层级检索数据。可以做到快速响应和灵活提取)

分区:是指把数据分散到可独立处理的分离物理单元中去。在数据仓库中不应该考虑是不是该分区的问题,而是如何实现分区的问题
为何分区? 因为在运维人员和设计者在管理小的物理单元是要比管理大的物理单元时享有的更大的灵活性,并且在大的物理单元中进行重构,索引,全局扫描,监控的问题时无法轻松的进行。
一般的分区标准:

  • 时间(是常用且必然的组成部分)
  • 业务范围
  • 地理位置
  • 组织单位
若粒度和分区都处理的很好的话,数据仓库的设计与实现的其他问题几乎都很容易解决

数据清理: 数据在数据仓库中有自己的生命周期,所以数据清理也是数据仓库设计过程中比较重要的一部分。一般的数据清理分为两类: 1.改变存储介质,将数据压缩备份或者从高性能介质转移到大容量介质;2.真正的清除数据
数据仓库中的错误数据处理
在这里插入图片描述
(个人经验:对于上述的异常数据,一般会采取方法一来解决,但是要比方法一更复杂一些。因为5000元的这笔账目就是脏数据,那么是不应该存在于数据仓库环境中的,在进入7月2日的数据集完成修改后,为了保证数据一致性,通常会将所有牵连的数据集进行重新计算,并且计算周期应该从7月2日到8月15日)

第三章 设计数据仓库
任何情况下,数据仓库都应当以迭代的方式进行建造
a. 数据仓库与数据模型

数据建模分为三个层次: 高层建模(实体关系图,或者ERD),中间层建模(数据项集成或DIS),底层建模(称为物理模型)
在这里插入图片描述

b. 规范化与反向规范化

数据模型处理的输出是一系列表,每个表都有主键和属性。有以下设计技术可以提高模型可用性:
1 合并表,节省I/O,将表归类进行物理合并 ,使I/O代价最小化
2 创建数据数组,在表数据稳定,规范,并是按顺序访问时可以创建数据数组
3 有意引入冗余数据,减少表间关联的访问开销
在这里插入图片描述
4 根据访问频率可以将表进行拆分
在这里插入图片描述
5 建立创造性索引(创造性概要文件)
根据用户感兴趣的统计需求,或者数据维度筛选有特征的数据集形成概要文件
在这里插入图片描述
6 参照完整性管理:在操作型环境中,参照完整性表现为数据表之间的动态链接。
在这里插入图片描述

c.元数据

定义:关于数据的数据
一般,元数据存储对一下各项进行了记录:

  1. 程序员所知的数据结构
  2. DSS分析员所知的数据结构
  3. 数据进入数据仓库时进行的转换
  4. 数据模型
  5. 数据模型和数据仓库的关系
  6. 抽取数据的历史记录
d.数据周期:

是指从操作型环境中的数据发生变化起,到这个变化反映到数据仓库中所用的时间,以24小时的时间间隔以现有技术来说比较容易实现(T+1)

e.转换和集成(从操作型环境到数据仓库)
  • 1 数据格式进行转化(比如:时间统一转成 YYYYMMDD格式 进行一致性处理,具有相同含义的数据项进行译码,编译统一的,一直的全局度量标准。(例如:性别,可能在不同的数据来源中表现方式有0/1或者m/f或者x/y,进入数据仓库后进行一致编码:0/1))
  • 2 数据清理: 取值范围检查、交叉记录验证、简单的格式检验
  • 3 是否存在数据依赖
  • 4 记录数据的转化,重命名,筛选等操作变化的文档
  • 5 数据编码的转换
f.星形连接

用来管理载入数据集市中某个实体的大量数据的设计结构称为星形连接。类似于事实表关联多个维度表,事实表代表发生的事件,维度表是事实表外键的所属实体的详细描述。星形连接普遍是存在于数据集市层,并且一般设计过程中事实表会存储大部分编码,维度表中会存储编码对应的中文。
在这里插入图片描述

g.数据仓库和数据集市的关系

数据仓库中的数据是粒度化的,数据集市中的数据是紧凑和综合的,数据必须周期性的从数据仓库流向数据集市。
数据集市是否可以替代数据仓库? 答案是
数据集市虽然开发周期短,在短时间内可以看到效果,但是从长远角度看,数据集市永远不可能替代数据仓库。

  • 数据集市是按照需求定制化建立的,代表的数据价值只局限于需求的边界范围内
  • 针对性较强,可能在市场,营销,账务等业务线的数据集市都是不同的。不可重用,没有灵活性。并且容易产生数据孤岛,数据价值表现的很局限
  • 数据集市的种类统计粒度可能不同,不利于数据分析
h.四类ODS:(根据更新的时间间隔)
  • 第一类:从操作型到ODS数据更新是同步进行
  • 第二类:从操作型到ODS数据更新是有2-3小时的间隔
  • 第三类:从操作型到ODS数据更新的同步是在夜间完成
  • 第四类:从数据仓库到ODS的更新是不预先规划的
    在这里插入图片描述
第四章: 数据仓库中的粒度
a.粗略估算存储大小:

在这里插入图片描述

b. 确定粒度级别,全靠经验或者一般都是最细粒度

在这里插入图片描述

c. 反馈循环

类比于PDCA循环,在第一版数据仓库建造完成后,收集用户反馈意见,并根据意见进行调整

第六章: 分布式数据仓库

类型:

  • 1 局部数据仓库和全局数据仓库: 业务是在不同地域或者不同生产线上进行的
  • 2 技术上分布的数据仓库, 逻辑上是一个整体数据仓库,物理上有多个处理器进行并行计算(hive)
  • 3 独立演进的分布式数据仓库
第十三章 关系模型和多维模型数据库设计基础
关系模型: 通过使用关键字和外键在不同行的数据间建立关联,数据是非冗余的

最大优势: 灵活性, 其次: 多功能性,支持多种视图,具有适度变化的能力。
在这里插入图片描述

多维模型: 也叫星形连接,以事实表为中心,维度表外围,建立的星形连接

最大优势: 访问的高效性,适合用户直接访问
在这里插入图片描述
二者对比总结:
在这里插入图片描述

数据的生命周期

一般会通过访问频率判断,如果数据长时间不被访问或者已经经过2-3时间,除非业务需要,一般情况会将数据“归档”
归档: 表数据一般会直接进行数据库侧的日志文件备份,然后清理表的历史数据

3.重要章节脑图显示

在这里插入图片描述

这篇关于《Building the Data Warehouse》(数据仓库 第四版)拆书稿-关系模型(3NF范式建模)重要知识点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1732

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基本知识点

1、c++的输入加上ios::sync_with_stdio(false);  等价于 c的输入,读取速度会加快(但是在字符串的题里面和容易出现问题) 2、lower_bound()和upper_bound() iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 iterator upper_bou

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者