数据仓库系列总结
一、数据仓库架构
1、数据仓库的概念
数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。
数据仓库通常包含多个来源的数据,这些数据按照主题进行组织和存储,以便于分析和报告。数据仓库中的数据一般不再进行更新或删除操作,而是存储历史数据,以便进行历史趋势分析或进行数据挖掘。数据仓库的设计和实施需要考虑数据的安全性、完整性和准确性,以及如何有效地检索和呈现数据。数据仓库是BI(商业智能)系统的核心,它不仅存储数据,还提供数据管理、分析和报告的功能。
2、关系性数据库和数据仓库
OLTP:OLTP系统通常面向的主要数据操作是随机读写,主要采用满足3NF的实体关系模型存储数据,从而在事务处理中解决数据冗余和一致性问题;主要适用于传统关系型数据库;
OLAP:OLAP系统面向的主要的操作是数据的批量读写,事务处理过程中的一致性不是OLAP关注的,其主要关注数据的整合,以及在一次性的复杂大数据查询中和处理中的性能,因此会采用一些不同的建模方法。
注:3NF 三范式
第一范式:原子性,确保数据库表的每一列都是不可分割的原子数据项,即列中的数据要么是一个整体,要么是单独的元素
第二范式:唯一性,在满足第一范式的基础上,消除非主键列对主键的部分依赖。即非主键列必须直接依赖于主键,不能间接依赖于主键。
第三范式:传递性,在满足第二范式的基础上,消除非主键列之间的传递依赖。即如果非主键列依赖于其他非主键列,则必须将这些非主键列移至新的表中。
3、数据仓库架构
3.1数仓基本架构
3.2数据仓库分层的好处
1. 清晰数据结构:每一个数据分层都有它的作用域,在使用表的时候能更方便地定位和理解。
2. 统一数据口径:通过数据分层,提供统一的数据出口,统一对外输出的数据口径。
3. 减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。
4. 把复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,而且便于维护数据的准确性。且以空间换时间;
4、数据仓库规范
可参考MaxCompute数据仓库的公共规范_云原生大数据计算服务 MaxCompute(MaxCompute)-阿里云帮助中心
二、数据采集
1、同步方式
1.1 批量同步
1.2 实时同步
2、数据同步解决方案
2.1分库分表的处理
2.2 高效同步和批量同步
2.3 增量同步和全量同步的合并
2.4 同步性能的处理
2.5 数据漂移的处理
数据漂移通常是指ODS表在同一个业务日期数据中包含前一天或后一天凌晨附近的数据或者丢失当天变更的数据,也称作零点漂移。
2.5.1数据漂移的原因
由于ODS需要承接面向历史的细节数据查询需求,这就需要物理落地到数据仓库ods层的表按照时间段来切分分区进行存储,通常做法事按照某些时间戳字段进行切分,而实际上由于时间戳字段的准确性问题导致了数据发生漂移。一般来说数据库会有以下时间戳字段:
数据创建时间 create_time
数据更新时间 modified_time
数据日志时间 log_time
业务时间 process_time
数据抽取时间 extract_time
理论上这几个时间是同一天是一致的,但是实际生产中,这几个时间往往存在差异,主要原因可能是:
①由于数据抽取是需要时间的,extract_time往往会晚于其他时间;
②前台业务系统手工订正数据时未更新modified_time;
③由于网络或者系统压力问题,log_time或者modified_time晚于process_time
2.5.2数据漂移的场景
①
2.5.3数据漂移的处理方法
①
3、数据同步工具的使用
三、离线开发
thread.sleep(9)
四、实时开发
thread.sleep(8)
五、数据建模
thread.sleep(7)
六、维度建模
thread.sleep(6)
七、事实表设计
thread.sleep(5)
八、数据管理
thread.sleep(4)
九、数据治理
thread.sleep(3)
十、数据服务
thread.sleep(2)
相关文章:
数据仓库系列总结
一、数据仓库架构 1、数据仓库的概念 数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。 数据仓库通常包含多个来源的数据,这些数据按照主题进行组织和存储&#x…...
gitlab runner没有内网的访问权限应该怎么解决
如果你的GitLab Runner没有内网访问权限,但你需要访问内部资源(如私有仓库或其他服务),你可以考虑以下几种方法: VPN 或 SSH 隧道: 在允许的情况下,通过VPN或SSH隧道连接到内部网络。这将允许Gi…...
el-tree 设置默认展开指定层级
el-tree默认关闭所有选项,但是有添加或者编辑删除的情况下,需要刷新接口,此时会又要关闭所有选项; 需求:在编辑时、添加、删除 需要将该内容默认展开 <el-tree :default-expanded-keys"expandedkeys":da…...
python便民超市管理系统flask-django-nodejs-php
随着人们生活节奏的加快,以前传统的购物方式发生了巨大的改变,以前一个超市要想经营好自己的门店,每天都要忙着记账出账,尤其是出库入库统计,如果忙中出乱,可能导致今天所有的营业流水,要重新换…...
HarmonyOS — BusinessError 不能被 JSON.stringify转换
在鸿蒙中BusinessError 继承于Error,而在JavaScript(以及TypeScript,因为它是JavaScript的超集)中,Error 对象包含一些不能被 JSON.stringify 直接序列化的属性。JSON.stringify 方法会将一个JavaScript对象或者值转换…...
JupyterNotebook 如何切换使用的虚拟环境kernel
在Jupyter Notebook中,如果需要修改使用的虚拟环境Kernel: 首先,需要确保虚拟环境已经安装conda上【conda基本操作】 打开Jupyter Notebook。 在Jupyter Notebook的顶部菜单中,选择 “New” 在弹出的窗口中,列出了…...
预防GPT-3和其他复杂语言模型中的“幻觉”
标题:预防GPT-3和其他复杂语言模型中的“幻觉” 正文: “假新闻”的一个显著特征是它经常在事实正确信息的环境中呈现虚假信息,通过一种文学渗透的方式,使不真实的数据获得感知权威,这是半真半假力量令人担忧的展示。…...
从源码解析AQS
前置概念 要彻底了解AQS的底层实现就必须要了解一下线程相关的知识。 包括voliatevoliate 我们使用翻译软件翻译一下volatile,会发现它有以下几个意思:易变的;无定性的;无常性的;可能急剧波动的;不稳定的;易恶化的;易挥发的;易发散的。这也正式使用vola…...
基于Spring Boot的云上水果超市的设计与实现
摘 要 伴随着我国社会的发展,人民生活质量日益提高。于是对云上水果超市进行规范而严格是十分有必要的,所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套云上水果超市,帮助商家进行…...
游戏引擎中的动画基础
一、动画技术简介 视觉残留理论 - 影像在我们的视网膜上残留1/24s。 游戏中动画面临的挑战: 交互:游戏中的玩家动画需要和场景中的物体进行交互。实时:最慢需要在1/30秒内算完所有的场景渲染和动画数据。(可以用动画压缩解决&am…...
springboot3快速入门案例2024最新版
前边 springboot3 系统要求 技术&工具版本(or later)maven3.6.3 or later 3.6.3 或更高版本Tomcat10.0Servlet9.0JDK17 SpringBoot的主要目标是: 为所有 Spring 开发提供更快速、可广泛访问的入门体验。开箱即用,设置合理的…...
软考 系统架构设计师系列知识点之系统性能(1)
所属章节: 第2章. 计算机系统基础知识 第9节. 系统性能 系统性能是一个系统提供给用户的所有性能指标的集合。它既包括硬件性能(如处理器主频、存储器容量、通信带宽等)和软件性能(如上下文切换、延迟、执行时间等)&a…...
Trent-FPGA硬件设计课程
本课程涵盖FPGA硬件设计的基础概念和实践应用。学生将学习Verilog语言编程、数字电路设计原理、FPGA架构和开发工具的使用。通过项目实践,掌握FPGA设计流程和调试技巧,为硬件加速和嵌入式系统开发打下坚实基础。 课程大小:4.3G 课程下载&am…...
【大模型学习记录】db-gpt源码安装问题汇总
1、首次源码安装时安装的其实dbgpt到conda环境中,会将路径一起安装。 如果有其他的路径使用同样的conda环境会报错,一直读取的就是原先的路径的内容。需要自己新创建一个conda env 2、界面中配置知识库问答时,报错 # 1、报的错如下&#x…...
QB PHP 多语言配置
1: 下载QBfast .exe 的文件 2: 安装的时候 ,一定点击 仅为我 安装 而不是 所有人 3: 如果提示 更新就 更新 , 安装如2 4: 如果遇到 新增 或者编辑已经 配置的项目时 不起作用 : 右…...
Kubernetes实战(三十一)-使用开源CEPH作为后端StorageClass
1 引言 K8S在1.13版本开始支持使用Ceph作为StorageClass。其中云原生存储Rook和开源Ceph应用都非常广泛。本文主要介绍K8S如何对接开源Ceph使用RBD卷。 K8S对接Ceph的技术栈如下图所示。K8S主要通过容器存储接口CSI和Ceph进行交互。 Ceph官方文档:Block Devices a…...
【Python爬虫】详解BeautifulSoup()及其方法
文章目录 🍔准备工作🌹BeautifulSoup()⭐代码实现✨打印标签里面的内容✨快速拿到一个标签里的属性✨打印整个文档🎆获取特定标签的特定内容 🌹查找标签🎈在文档查找标签 find_all🎈正则表达式搜索 &#x…...
C语言经典算法-8
文章目录 其他经典例题跳转链接41.基数排序法42.循序搜寻法(使用卫兵)43.二分搜寻法(搜寻原则的代表)44.插补搜寻法45.费氏搜寻法 其他经典例题跳转链接 C语言经典算法-1 1.汉若塔 2. 费式数列 3. 巴斯卡三角形 4. 三色棋 5. 老鼠…...
Panasonic松下PLC如何数据采集?如何实现快速接入IIOT云平台?
在工业自动化领域,数据采集与远程控制是提升生产效率、优化资源配置的关键环节。对于使用Panasonic松下PLC的用户来说,如何实现高效、稳定的数据采集,并快速接入IIOT云平台,是摆在他们面前的重要课题。HiWoo Box工业物联网关以其强…...
高性能 MySQL 第四版(GPT 重译)(四)
第十一章:扩展 MySQL 在个人项目中运行 MySQL,甚至在年轻公司中运行 MySQL,与在市��已经建立并且“呈现指数增长”业务中运行 MySQL 大不相同。在高速业务环境中,流量可能每年增长数倍,环境变得…...
整型数组按个位值排序 - 华为OD统一考试(C卷)
OD统一考试(C卷) 分值: 100分 题解: Java / Python / C 题目描述 给定一个非空数组(列表),其元素数据类型为整型,请按照数组元素十进制最低位从小到大进行排序,十进制最低位相同的元素…...
【React】Diff算法
1. React15 Diff算法(递归进行) 一句话概括:新虚拟DOM和旧虚拟DOM对比,找出差异,根据差异更新真实DOM Diff过程描述: 1. 树比较(DOM) 同层节点之间相互比较,不会跨层级比较。(当发现…...
【物联网】Modbus 协议及应用
Modbus 协议简介 QingHub设计器在设计物联网数据采集时不可避免的需要针对Modbus协议的设备做相关数据采集,这里就我们的实际项目经验分享Modbus协议 简介 Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太…...
Docker容器引擎
1、Docker是什么。 Docker是在Linux容器里运行应用的开源工具,是一种轻量级的"虚拟机"。Docker的logo设计为蓝色鲸鱼,拖着许多集装箱。鲸鱼可以看作宿主机,而集装箱可以理解为相互隔离的容器,每个集装箱中都包含自己的应…...
2.28线程
注意被抢占时是返回原队列,优先级不变。越往下优先级越小。往下没有优先级时,在最低的优先级队列里循环 到达了不一定会被服务,会进入就绪态进行等待 。核心等式就是周转时间运行时间等待时间,带权就是周转/运行, 随着…...
TCP/IP ⽹络模型
TCP/IP ⽹络模型 对于同⼀台设备上的进程间通信,有很多种⽅式,⽐如有管道、消息队列、共享内存、信号等⽅式,⽽对于不同设备上的进程间通信,就需要⽹络通信,⽽设备是多样性的,所以要兼容多种多样的设备&am…...
云原生:重塑未来应用的基石
随着数字化时代的不断深入,云原生已经成为了IT领域的热门话题。它代表着一种全新的软件开发和部署范式,旨在充分利用云计算的优势,并为企业带来更大的灵活性、可靠性和效率。今天我们就来聊一聊这个热门的话题:云原生~ Ǵ…...
蓝桥杯day4刷题日记
P8605 [蓝桥杯 2013 国 AC] 网络寻路 思路来源于https://www.luogu.com.cn/article/iat8irsf #include <iostream> using namespace std; int n,m; int q[10010]; int v[100010],u[100010]; long long res;int main() {cin>>n>>m;for(int i0;i<m;i){cin…...
[Qt学习笔记]Qt下使用Halcon实现采图时自动对焦的功能(Brenner梯度法)
目录 1、介绍2、实现方法2.1 算法实现过程2.2 模拟采集流程 3、总结4、代码展示 1、介绍 在机器视觉的开发中,现在有很多通过电机去做相机的聚焦调节,对比手工调节,自动调节效果更好,而且其也能满足设备自动的需求,尤…...
常州IGM机器人RTE497的日常维修保养方法
一、IGM机器人RTE497日常检查 每日工作前,进行以下检查: 外观检查:确认IGM机器人RTE497本体无明显损伤,各部件连接稳固。 电缆检查:检查所有电缆、气管等是否完好,无磨损、无挤压。 润滑检查:确…...
重庆做网站的公司有哪些/sem竞价培训
2019独角兽企业重金招聘Python工程师标准>>> 情况一: 客户端---------(调用)----------> 服务端 (服务端处理超时,但服务端整个事务处理正常且数据修改正常)。此情况,无影响…...
上饶便宜的做网站公司/国家大事新闻近三天
本节书摘来自异步社区《思科数据中心I/O整合》一书中的第2章,第2.6节,作者【美】Silvano Gai , Claudio DeSanti,更多章节内容可以访问云栖社区“异步社区”公众号查看 2.6 无损耗是否更佳? 思科数据中心I/O整合这是一个复杂的话题…...
宝塔面板做网站绑定域名/体验营销案例分析
https://blog.csdn.net/u014380165/article/details/72890275 https://blog.csdn.net/WZZ18191171661/article/details/79494534...
python适合大型网站开发吗/app推广30元一单平台
1. 我们认为的Win7内存机制是这样的 当物理内存不够用,使用虚拟内存。当物理内存够用,就不会往硬盘上写东西。 2. 事实上,Win7的内存机制是这样的 物理内存大概有40%的部分叫做备用内存,官方的说法,这块备用内存是可…...
网站设计风格/网络营销课程有哪些
# 题目描述给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。示例:如下是示例输入的柱状图,其中每个柱子的宽度为 1,给定…...
wordpress博客优化/网络营销师报名官网
deb软件包管理流行的两种软件包管理机制软件包的类型软件包的命名软件包管理工具分类dpkg相关命令dpkg和apt软件包管理器有什么区别?APT工作原理APT软件源配置文件软件源刷新软件源软件管理相关命令修复软件包依赖关系安装软件包卸载软件包软件包信息的查询流行的两…...