当前位置: 首页 > news >正文

【数仓基础(一)】基础概念:数据仓库【用于决策的数据集合】的概念、建立数据仓库的原因与好处

文章目录

  • 一. 数据仓库的概念
    • 1. 面向主题
    • 2. 集成
    • 3. 随时间变化
    • 4. 非易失
      • 粒度
  • 二. 建立数据仓库的原因
  • 三. 使用数据仓库的好处

一. 数据仓库的概念

数据仓库的主要作用:

数据仓库概念主要是解决多重数据复制带来的高成本问题。

在没有数据仓库的时代,需要大量的冗余数据来支撑多个决策支持环境。尽管每个环境服务于不同的用户,但这些环境经常需要大量相同的数据。

数据仓库的概念:

数据仓库描述为一个面向主题的、集成的、随时间变化的、非易失的数据集合,用于支持管理者的决策过程。

 

1. 面向主题

传统数据库围绕产品功能进行组织建设,而数据仓库是面向主题的。主题是一个抽象概念,每一个主题基本对应一个宏观的分析领域。

例如,一个公司要分析销售数据,就可以建立一个专注于销售的数据仓库,使用这个数据仓库,就可以回答类似于“去年谁是我们这款产品的最佳用户”这样的问题。

主题域的概念:主题域是主题的边界,如客户、销售、产品都是主题域的例子。

 

2. 集成

集成的概念与面向主题是密切相关的。

还是销售的例子,公司有各个销售的产品线,每个产品线都有自己的数据库,此时要整体分析销售数据,那需要将这些分散的数据进行统一,比如数据仓库必须要解决的问题是产品命名冲突、计量单位不一致等。

当完成了全公司各销售产线的数据整合工作后,该数据仓库就可称为是集成的。

 

3. 随时间变化

联机事务强调的是处理数据的时效性:

联机事务处理反应的是当前时间点的数据情况,要求高性能、高并发和极短的响应时间,出于这样的需求考虑,联机事务处理系统中一般都将数据依照活跃程度分级,把历史数据迁移到归档数据库中。

 

olap强调的是数据随时间是怎么变化的:

数据仓库关注的是数据随时间变化的情况,并且能反映在过去某个时间点的数据是怎样的。换句话说,数据仓库中的数据是反映了某一历史时间点的数据快照,这也就是术语“随时间变化”的含义。

当然数据在数据仓库中也有自己的生命周期。到了一定时候,数据会从数据仓库中移除。移除的方式可能是将细节数据汇总后删除、将老的数据转储到大容量介质后删除和直接物理删除等。

 

4. 非易失

数据入仓后就不能改变,这样保证了随时间变化(保留了数据变化的历史轨迹)

非易失指的是,一旦进入到数据仓库中,数据就不应该再有改变。
操作型环境中的数据一般都会频繁更新,而在数据仓库环境中一般并不进行数据更新。
当改变的操作型数据进入数据仓库时会产生新的记录,这样就保留了数据变化的历史轨迹。

粒度

粒度是指数据的细节或汇总程度,细节程度越高,粒度级别越低。

例如,单个事务是低粒度级别,而全部一个月事务的汇总就是高粒度级别。

数据的粒度影响了数据仓库的数据量,和可以进行查询的类型

在早期的操作型系统中,当细节数据被更新时,几乎总是将其存放在最低粒度级别上;而在数据仓库环境中,通常都不这样做。例如,如果数据被装载进数据仓库的频率是每天一次,那么一天之内的数据更新将被忽略。
或者这样说:
会在一天的某一刻加载完这天的数据,之后这天数据再发生改变,也不会进行更新(ing)。

 
 

二. 建立数据仓库的原因

数据仓库里的数据从哪里来,怎么使用在仓库里的数据 ?

数据源:
通常数据仓库的数据来自各个业务应用系统。业务系统中的数据形式多种多样,可能是Oracle、MySQL、SQL Server等关系数据库里的结构化数据,可能是文本、CSV等平面文件或Word、Excel文档中的非结构化数据,还可能是HTML、XML等自描述的半结构化数据。
 
入库:
这些业务数据经过一系列的数据抽取、转换、清洗,最终以一种统一的格式装载进数据仓库。
 
分析:
数据仓库里的数据作为分析用的数据源,提供给后面的即席查询、分析系统、数据集市、报表系统、数据挖掘系统等。

 

直接访问业务系统无法工作的原因:

● 某些业务数据由于安全或其他因素不能直接访问。
● 业务系统的版本变更很频繁,每次变更都需要重写分析系统并重新测试。
● 很难建立和维护汇总数据来源于多个业务系统版本的报表。
● 业务系统的列名通常是硬编码,有时仅仅是无意义的字符串,这让编写分析系统更加困难。
● 业务系统的数据格式,如日期、数字的格式不统一。
● 业务系统的表结构为事务处理性能而优化,有时并不适合查询与分析。
● 没有适当的方式将有价值的数据合并进特定应用的数据库。
● 没有适当的位置存储元数据。
● 用户需要看到的显示数据字段,有时在数据库中并不存在。
● 通常事务处理的优先级比分析系统高,所以如果分析系统和事务处理运行在同一硬件之上,分析系统往往性能很差。
● 有误用业务数据的风险。
● 极有可能影响业务系统的性能。

尽管需要增加软硬件的投入,但建立独立数据仓库与直接访问业务数据相比,无论是成本还是带来的好处,这样做都是值得的。

 
是否值得投入创建数据仓库

我们从时间、成本、功能等几个角度分析

当你的组织很小,人数很少,业务单一,数据量也不大,可能你真的不需要建立数据仓库。毕竟要想成功建立一个数据仓库并使其发挥应有的作用还是很有难度的,需要大量的人、财、物力,并且即便花费很大的代价完成了数据仓库的建设,在较短一段时间内也不易显现出价值。

当你所在的组织有超过1000名雇员,有几十个部门的时候,它所面临的挑战将是完全不同的。要做出最恰当的决策,仅依据对孤立维度的分析是不可能实现的。这时必须要考虑所有相关数据的可用性,而这个数据最好的来源就是一个设计良好的数据仓库。

例子:

假设一个超市连锁企业,在没有实现数据仓库的情况下,最终该企业会发现,要分析商品销售情况是非常困难的,比如哪些商品被售出,哪些没有被售出,什么时间销量上升,哪个年龄组的客户倾向于购买哪些特定商品等这些问题都无从回答。

 
在辅助战略决策层面,数据仓库的重要性更加凸显

下面是一些常见问题的例子:
● 如何把公司的市场份额提升5%?
● 哪些产品的市场表现不令人满意?
● 哪些代理商需要销售政策的帮助?
● 提供给客户的服务质量如何?哪些需要改进?

回答这些战略性问题的关键一环就是数据仓库。

比如第一个问题:在过去半年中,收到过多少用户反馈?可以在数据仓库上发出对应的查询,并对查询结果进行分析。
第二个问题:在这些用户反馈当中,给出“非常满意”“一般”“不满意”的人数分别有多少?
第三个问题:客户所强调的需要改进的地方和广受批评的地方是哪些?这在数据仓库的用户反馈信息中也有一列来表示,它也能从一个侧面反映出客户关心的问题是哪些。

以上这三个问题的答案联合在一起,就可以得出客户服务满意度的结论,并且准确定位哪些地方急需改进。

 
 

三. 使用数据仓库的好处

● 将多个数据源集成到单一数据存储,因此可以使用单一数据查询引擎展示数据。
● 缓解在事务处理数据库上因执行大查询而产生的资源竞争问题
● 通过对多个源系统的数据整合,使得在整个企业的角度存在统一的中心视图。
● 通过提供一致的编码和描述,减少或修正坏数据问题,提高数据质量
一致性地表示组织信息。
● 提供所有数据的单一通用数据模型,而不用关心数据源。
● 重构数据,使数据对业务用户更有意义。
● 向复杂分析查询交付优秀的查询性能,同时不影响操作型系统。
开发决策型查询更简单。

参考:
《Hadoop构建数据仓库实战》

相关文章:

【数仓基础(一)】基础概念:数据仓库【用于决策的数据集合】的概念、建立数据仓库的原因与好处

文章目录 一. 数据仓库的概念1. 面向主题2. 集成3. 随时间变化4. 非易失粒度 二. 建立数据仓库的原因三. 使用数据仓库的好处 一. 数据仓库的概念 数据仓库的主要作用: 数据仓库概念主要是解决多重数据复制带来的高成本问题。 在没有数据仓库的时代,需…...

电商类面试问题--01Elasticsearch与Mysql数据同步问题

在实现基于关键字的搜索时,首先需要确保MySQL数据库和ES库中的数据是同步的。为了解决这个问题,可以考虑两层方案。 全量同步:全量同步是在服务初始化阶段将MySQL中的数据与ES库中的数据进行全量同步。可以在服务启动时,对ES库进…...

天线材质介绍--FPC天线

...

vue3 的 ref、 toRef 、 toRefs

1、ref: 对原始数据进行拷贝。当修改 ref 响应式数据的时候&#xff0c;模版中引用 ref 响应式数据的视图处会发生改变&#xff0c;但原始数据不会发生改变 <template><div>{{refA}}</div> </template><script lang"ts" setup> impor…...

WebRTC中 setup:actpass、active、passive

1、先看一下整个DTLS的流程 setup:actpass、active、passive就发生在Offer sdp和Anser SDP中 Offer的SDP是setup:actpass,这个是服务方&#xff1a; v0\r o- 1478416022679383738 2 IN IP4 127.0.0.1\r s-\r t0 0\r agroup:BUNDLE 0 1\r aextmap-allow-mixed\r amsid-semanti…...

ModuleNotFoundError: No module named ‘lavis‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

双指针的问题解法以及常见的leetcode例题。

目录 介绍&#xff1a; 问题1&#xff1a;双指针 剑指offer57 和为S的两个数字。 问题2&#xff1a;剑指Offer 21. 调整数组顺序使奇数位于偶数前面 问题3&#xff1a;连续奇数子串&#xff08;笔试遇到的真题&#xff09; 问题4&#xff1a;滑动窗口的最大值 介绍&#…...

python容器模块Collections

Python附带一个模块&#xff0c;它包含许多容器数据类型&#xff0c;名字叫作collections defaultdict defaultdict与dict类型不同&#xff0c;你不需要检查key是否存在&#xff0c;所以我们能这样做&#xff1a; from collections import defaultdict colours ((Yasoob, Y…...

排序算法学习记录-快速排序

快速排序 快速排序关键在于确定一个中间值&#xff0c;使得小于这个中间值的数在左边&#xff0c;大于这个中间值的数在右边。那么中间值该如何确定呢&#xff1f;有以下几种做法 首元素&#xff0c;也就是arr[l]尾元素&#xff0c;也就是arr[r]中间元素&#xff0c;也就是ar…...

安装windows版本的ros2 humble的时候,最后报错

"[rti_connext_dds_cmake_module][warning] RTI Connext DDS environment script not found (\resource\scripts\rtisetenv_x64Win64VS2017.bat). RTI Connext DDS will not be available at runtime, unless you already configured PATH manually." 意思是没找到。…...

Nginx 学习(十)高可用中间件的配置与实现

一 Keepalived热备 1 概述 调度器出现单点故障&#xff0c;如何解决?Keepalived实现了高可用集群Keepalived最初是为LVS设计的&#xff0c;专门监控各服务器节点的状态Keepalived后来加入了VRRP功能&#xff0c;防止单点故障 2 运行原理 Keepalived检测每个服务器节点状…...

[刷题记录]牛客面试笔刷TOP101

牛客笔试算法必刷TOP101系列,每日更新中~ 1.合并有序链表2023.9.3 合并两个排序的链表_牛客题霸_牛客网 (nowcoder.com) 题意大致为: 将两个链表中的元素按照从小到大的顺序合并成为一个链表. 所给予的条件: 给出的所要合并的链表都是从小到大顺序排列的. 思路: 创建一…...

降水预报之双重惩罚

在降水预报中&#xff0c;通常会出现 "双重惩罚问题 "的指标或度量包括那些常用于预报验证的指标或度量。当假阴性&#xff08;漏报降水事件&#xff09;和假阳性&#xff08;误报&#xff09;受到同等惩罚或加权时&#xff0c;就会出现双重惩罚问题&#xff0c;这在…...

一条SQL语句的执行过程(附一次两段式提交)

一条SQL语句的完整执行过程是怎样的呢&#xff1f;我们用select和update语句来举例。 注意在mysql8后&#xff0c;进入服务层后&#xff0c;取消了去查询缓存(属于Server服务层)这个步骤&#xff0c;缓存中key是SQL语句&#xff0c;value是值&#xff0c;这样其实并不会提升性…...

Python基础知识详解:数据类型、对象结构、运算符完整分析

文章目录 python基础知识数据类型类型检查对象&#xff08;object&#xff09;对象的结构变量和对象类型转换运算符(操作符)1. 算术运算符2. 赋值运算符3. 比较运算符&#xff08;关系运算符&#xff09;4. 逻辑运算符5. 条件运算符&#xff08;三元运算符&#xff09; 总结 py…...

基于Streamlit的应用如何通过streamlit-authenticator组件实现用户验证与隔离

Streamlit框架中默认是没有提供用户验证组件的&#xff0c;大家在基于streamlit快速实现web应用服务过程中&#xff0c;不可避免的需要配置该应用的访问范围和权限&#xff0c;即用户群体&#xff0c;一般的做法有两种&#xff0c;一种是通过用户密码验证机制&#xff0c;要求只…...

[虚幻引擎插件介绍] DTGlobalEvent 蓝图全局事件, Actor, UMG 相互回调,自由回调通知事件函数,支持自定义参数。

本插件可以在虚幻的蓝图 Actor&#xff0c; Obiect&#xff0c;UMG 里面指定绑定和执行消息&#xff0c;可带自定义参数。 参数支持 Bool&#xff0c;Byte&#xff0c;Int&#xff0c;Int64&#xff0c;Float&#xff0c;Name&#xff0c;String&#xff0c;Text&#xff0c;Ve…...

2023数学建模国赛选题建议及BC题思路

大家好呀&#xff0c;全国大学生数学建模竞赛今天下午开赛啦&#xff0c;在这里先带来初步的选题建议及思路。 目前团队正在写B题和C题完整论文&#xff0c;后续还会持续更新哈&#xff0c;以下只是比较简略的图文版讲解&#xff0c;团队目前正在写B、C题完整论文&#xff0c;…...

vue3:4、组合式API-setup选项

setup每次都要return&#xff0c;好麻烦。怎么解决&#xff1f; 使用 <script setup> 语法糖&#xff08;底层帮你return了&#xff09; 写法如下...

【C刷题训练营】第三讲(c语言入门训练)

前言: 大家好&#xff0c;我决定日后逐渐更新c刷题训练营的内容&#xff0c;或许能帮到入门c语言的初学者&#xff0c;如果文章有错误&#xff0c;非常欢迎你的指正&#xff01; &#x1f4a5;&#x1f388;个人主页:​​​​​​Dream_Chaser&#xff5e; &#x1f388;&…...

简述视频智能分析EasyCVR视频汇聚平台如何通过“AI+视频融合”技术规避八大特殊作业风险

视频智能分析EasyCVR视频汇聚平台可以根据不同的场景需求&#xff0c;让平台在内网、专网、VPN、广域网、互联网等各种环境下进行音视频的采集、接入与多端分发。在视频能力上&#xff0c;视频云存储平台EasyCVR可实现视频实时直播、云端录像、视频云存储、视频存储磁盘阵列、录…...

2023年9月NPDP产品经理国际认证报名,找弘博创新

产品经理国际资格认证NPDP是新产品开发方面的认证&#xff0c;集理论、方法与实践为一体的全方位的知识体系&#xff0c;为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会&#xff08;PDMA&#xff09;成立于1979年&#xff0c;是…...

【MySQL】MySQL的安装,登录,配置和相关命令

文章目录 前言一. 卸载不需要的环境二. 获取MySQL的yum源三. 安装MySQL和启动四. 尝试登录MySQL方法1&#xff1a;获取临时root密码方法2&#xff1a;没有密码方法3&#xff1a;配置文件 五. 简单配置结束语 前言 本篇文章是基于云服务器&#xff1b;Linux&#xff1a;Centos7…...

攻防世界-WEB-php_rce

打开靶机链接 搜村ThinkPhP V5存在远程命令执行的漏洞 构建payload /index.php?sindex/think\app/invokefunction&functioncall_user_func_array&vars[0]system&vars[1][]ls 查询当前目录文件&#xff0c;没有发现flag。调整payload 得到flag文件&#xff0c;修…...

WRFDA资料同化实践技术

数值预报已经成为提升预报质量的重要手段&#xff0c;而模式初值质量是决定数值预报质量的重要环节。资料同化作为提高模式初值质量的有效方法&#xff0c;成为当前气象、海洋和大气环境和水文等诸多领域科研、业务预报中的关键科学方法。资料同化新方法的快速发展&#xff0c;…...

C++11新特性② | 左值、左值引用、右值与右值引用

目录 1、引言 2、值类别及相关概念 3、左值、右值 4、左值引用、右值引用 5、移动语义 5.1、为什么需要移动语义 5.2、移动语义定义 5.3、转移构造函数 5.4、转移赋值函数 6、标准库函数 std::move 7、完美转发 std::forward VC常用功能开发汇总&#xff08;专栏文章…...

Python Opencv实践 - Harris角点检测

参考资料&#xff1a;https://blog.csdn.net/wsp_1138886114/article/details/90415190 import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/chinease_tower.jpg", cv.IMREAD_COLOR) plt.imshow(img[:,:,::-1])#…...

el-upload上传图片到七牛云或阿里云

&#xff08;1&#xff09;绑定上传地址&#xff0c;上传数据对象 <el-upload class"upload-demo" :action"uploadUrl" :data"uploadData":on-success"handleSuccess" :file-list"[]" :show-file-list"false"…...

Web jQuery—选择器、样式和效果

jQuery 选择器、样式和效果 代码下载 jQuery 介绍 JavaScript库&#xff1a;即 library&#xff0c;是一个封装好的特定的集合&#xff08;方法和函数&#xff09;。从封装一大堆函数的角度理解库&#xff0c;就是在这个库中&#xff0c;封装了很多预先定义好的函数在里面&a…...

Java和Kotlin的Field在继承中的不同表现

Kotlin是一个宣称与Java兼容性较好的语言&#xff0c;但在接触后发现一些技术还是有“概念上”的冲突&#xff0c;本文就记录下两者对象的Field&#xff08;中文的说法有字段、域、属性、成员变量&#xff0c;下文若出现这些表达&#xff0c;指的都是这个东西&#xff09;在继承…...

wordpress now 1.5/网站快速排名优化价格

转载于:https://www.cnblogs.com/gw2010/p/7892372.html...

深圳网站建设联雅网络/郑州seo外包平台

【项目背景】 近年来&#xff0c;信息技术的飞速发展使人们获取、交流和处理信息的手段发生了巨大的变化&#xff0c;随着信息时代的到来&#xff0c;信息化发展也为公安工作带来了新的挑战和机遇。 随着全国电子政务进程的推进&#xff0c;国家提出了以“公安信息化工作”为核…...

自己做的网站怎样才有网址浏览/橘子seo查询

llvm如何使用vc编译器本系列的其他文章 在“ 使用LLVM框架创建可用的编译器”系列中查看更多文章。 本系列的第一篇文章探讨了LLVM中间表示&#xff08;IR&#xff09;。 您是手工制作的“ Hello World”测试程序&#xff1b; 学习了LLVM的一些细微差别&#xff0c;例如类型转…...

做农家乐网站/小程序自助搭建平台

命令模式(Command Pattern)&#xff1a;将一个请求封装为一个对象&#xff0c;从而使我们可用不同的请求对客户进行参数化&#xff1b;对请求排队或者记录请求日志&#xff0c;以及支持可撤销的操作。 命令模式包含如下角色&#xff1a; Command(抽象命令类):一般是一个接口&am…...

北京单页营销型网站/品牌运营推广方案

我正在用PHP编写一个基本的莫尔斯代码转换器,它可以接受一个字符串并将其转换为莫尔斯代码.它使用了一个关联数组,一个foreach循环和一个for循环.它有效,除了某些原因它在每个转换后的字符后输出等效于’0’的莫尔斯码.我无法弄清楚0的来源.如果我从关联数组中删除0,没有问题,但…...

免费的wordpress主题/怎么成为百度推广代理商

Microsoft Secure Content Downloader我们这边网速本来非常非常慢&#xff0c;可是用它这个专用的下载工具&#xff0c;今天早晨竟然达到了2Mbps。即便在现在的网速最慢的先后&#xff0c;它也是500Kbps。相当不错&#xff0c;想下VS2008Beta2的同志们建议用它来下载&#xff0…...