深夜凌晨女朋友问什么是数据仓库,我的回答让她惊讶,然后发现。。。
2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习。
有对大数据感兴趣的可以关注微信公众号:三帮大数据
事情是这样的
晚上,正在聚精会神写代码
突然,收到女朋友给我发来的消息
不懂代码的她又向提出这么专业性名词,我当场惊呆了,于是决定写一篇详细的数据仓库介绍,然后发现我写完了,她就睡着了。。。
目录
历史文章
前言
数据仓库的介绍
一、数据仓库的基本概念
二、数据仓库的主要特征
1.主题性
2.集成性
3.稳定性
4.时变性
三、数据仓库与数据库区别
1、数据库
2、数据仓库
3、两者区别
4、数据仓库分层架构
5、数据仓库之ETL
历史文章
百度、阿里、腾讯平台架构都熟悉,小米大数据平台架构OLAP架构演进是否了解
女朋友问阿里双十一实时大屏如何实现,我惊呆一会,马上手把手教她背后的大数据技术
前言
2021年全网最详细的大数据笔记,轻松带你从入门到精通,该栏目每天更新,汇总知识分享
数据仓库的介绍
一、数据仓库的基本概念
数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库顾名思义,是一个很大的数据存储集合,出于企业的分析性报告和决策支持目的而创建,对多样的业务数据进行筛选与整合。它为企业提供一定的BI(商业智能)能力,指导业务流程改进、监视时间、成本、质量以及控制。
数据仓库的输入方是各种各样的数据源,最终的输出用于企业的数据分析、数据挖掘、数据报表等方向。
二、数据仓库的主要特征
数据仓库是面向主题的(Subject-Oriented )、集成的(Integrated)、稳定的(Non-Volatile)和时变的(Time-Variant )数据集合,用以支持管理决策。
1.主题性
不同于传统数据库对应于某一个或多个项目,数据仓库根据使用者实际需求,将不同数据源的数据在一个较高的抽象层次上做整合,所有数据都围绕某一主题来组织。
这里的主题怎么来理解呢?比如对于城市,“天气湿度分析”就是一个主题,对于淘宝,“用户点击行为分析”就是一个主题。
2.集成性
数据仓库中存储的数据是来源于多个数据源的集成,原始数据来自不同的数据源,存储方式各不相同。要整合成为最终的数据集合,需要从数据源经过一系列抽取、清洗、转换的过程。
3.稳定性
数据仓库中保存的数据是一系列历史快照,不允许被修改。用户只能通过分析工具进行查询和分析。这里说明一点,数据仓库基本上是不许允许用户进行修改,删除操作的。大多数的场景是用来查询分析数据。
4.时变性
数据仓库会定期接收新的集成数据,反应出最新的数据变化。这和稳定特点并不矛盾。
三、数据仓库与数据库区别
1、数据库
数据库是面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理,也被称为联机事务处理 OLTP(On-Line Transaction Processing)。
2、数据仓库
数据仓库一般针对某些主题的历史数据进行分析,支持管理决策,又被称为联机分析处理 OLAP(On-Line Analytical Processing)。
首先要明白,数据仓库的出现,并不是要取代数据库。
3、两者区别
- 数据库是面向事务的设计,数据仓库是面向主题设计的。
- 数据库一般存储业务数据,数据仓库存储的一般是历史数据。
- 数据库设计是尽量避免冗余,一般针对某一业务应用进行设计,比如一张简单的User表,记录用户名、密码等简单数据即可,符合业务应用,但是不符合分析。数据仓库在设计是有意引入冗余,依照分析需求,分析维度、分析指标进行设计。
- 数据库是为捕获数据而设计,数据仓库是为分析数据而设计。
以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记账。
数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。
显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。
数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。
4、数据仓库分层架构
按照数据流入流出的过程,数据仓库架构可分为三层——源数据、数据仓库、数据应用。
数据仓库的数据来源于不同的源数据,并提供多样的数据应用,数据自下而上流入数据仓库后向上层开放应用,而数据仓库只是中间集成化数据管理的一个平台。
- 源数据层(ODS): 操作性数据(Operational Data Store) ,是作为数据库到数据仓库的一种过渡,ODS的数据结构一般与数据来源保持一致,而且ODS的数据周期一般比较短。ODS的数据为后一步的数据处理做准备。
- 数据仓库层(DW):数据仓库(Data Warehouse),是数据的归宿,这里保持这所有的从ODS到来的数据,并长期报错,而且这些数据不会被修改,DW层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。
- 数据应用层(DA):数据应用(Data Application),为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据,该数据面向应用。如根据报表、专题分析需求而计算生成的数据。
5、数据仓库之ETL
ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL是将业务系统的数据经过抽取、清洗、转换之后加载到数据仓库的过程,目的是将企业中分散、零乱、标准不统一的数据整合到一起。
ETL是数据仓库的流水线,也可以认为是数据仓库的血液,它维系着数据仓库中数据的新陈代谢,而数据仓库日常的管理和维护工作的大部分精力就是保持ETL的正常和稳定。
-
深夜凌晨女朋友问什么是数据仓库,我的回答让她惊讶,然后发现。。。相关推荐
- 女朋友问我:小松子,你知道Go语言参数传递是传值还是传引用吗?
前言 哈喽,大家好,我是asong.今天女朋友问我,小松子,你知道Go语言参数传递是传值还是传引用吗?哎呀哈,我竟然被瞧不起了,我立马一顿操作,给他讲的明明白白的,小丫头片子,还是太嫩,大家且听我细细 ...
- 深夜学姐问我在Vue中Echarts柱状图如何自定义顶部亮点
深夜学姐问我在Vue中Echarts柱状图如何自定义顶部亮点 先看效果图 我们可以看到图中图表不仅有渐变色,同时柱状图顶部位置有一个不相同的顶部亮点(图片) 接下来,我们一起来实现一下这个效果 1. ...
- 面试的时候面试官问如何看待加班,该怎么回答?
原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:面试的时候面试官问如何看待加班,该怎么回答? 加班这个事,如果你觉得年轻要多奋斗,或者年纪大了一家人要养活要稳定工作,经常加班 ...
- 面试被问到为什么离职该怎么回答
导语:有的时候由于上家企业文化或者直接领导不和睦各种理由,面试时偏偏还总被问起,真不知道该怎么说好? 下面高校人才网就和大家分享面试被问到为什么离职该怎么回答. 企业发展较慢: 当我在企业呆了较长时间 ...
- 面试问为什么跳槽,该怎么回答?
在面试过程中,面试官往往会问到候选人的跳槽经历,并询问原因.对于跳槽频繁的应聘者来说,这可能是一个尤其敏感的问题.面试问为什么跳槽,该怎么回答?小编整理了如下的内容供大家做参考. 首先,应聘者在面试时 ...
- 面试官问职业规划我们要如何回答?
首先,面试官问这个问题的目的,想知道你对岗位是否理解,对自己的了解.你是否有能力.是否有上进心,更重要的一点是,判断你是否有稳定性,能否长期发展. 其次,职业规划是基于现状和长远的发展方向的,你可以表 ...
- 面试官问自身不足之处时要怎么回答呢?
面试官面试中问及缺点是正常的,主要有两个目的:一是在不了解面试者的情况下,通过这个问题可以知道,其缺点是否会对以后的工作或与同事相处产生不好的影响:二是大部分的面试官通过简历以及之前的沟通,对来面试者 ...
- 女朋友问小灰:什么是数据仓库?什么是数据湖?什么是智能湖仓?
首先,我们来讲一讲什么是数据库. 作为程序员,我们写的大多数商业项目,往往都需要用到大量的数据.计算机的内存,可以实现数据的快速存储和访问. 但是,内存的空间是有限的,也无法长期保存有用的数据.对于那 ...
- evt参数是干啥用的_女朋友问我,Java8 Optional 到底干啥用的?
前情提要 女朋友突然在你面前拿出一个包包,问你这个包包是什么牌子? 你怎么办?当然是写段代码打印一下. public class Boy { // new出一个女朋友 private GirlFrie ...
最新文章
- wp配置后台自动更新
- php vendor 删除,yii2我删除了vendor目录,然后重新composer install composer update就不行了。。。...
- 这可能是最好的性能优化教程(三)
- ruby gsub gsub! chomp chomp! 以及所有类似函数用法及区别
- 利用vs.net快速开发windows服务(总结)
- 一个好用的浏览器暗色浏览插件 Dark Reader
- hdu 6016 Count the Sheep
- Hadoop学习记录(6)|Eclipse安装Hadoop 插件
- 编译原理语义分析_编译原理 第一章 绪论
- JavaScript 函数 对象 数组
- delay() 方法
- Android基础学习整理知识点
- 高手对中科院考博英语的体会
- shell(30) : 批量修改文件后缀
- 电子计算机按用途分类包括,计算机的分类试题解析
- lucene相关资料
- python作排产计划表_生产排程计划表
- UPC 2020年夏混合个人训练第六十四场【ACDG】
- (学习笔记)手把手教你学51单片机:C语言基础以及流水灯的实现
- win7 32位的4g内存可用内存只有2g到3g怎么解决?
热门文章
- docker :open /var/lib/docker/tmp/GetImageBlob318829910: no such file or directory异常解决
- NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存
- 愿疫情早日过去,向那些在疫情战斗中牺牲的战士致敬
- 107. Binary Tree Level Order Traversal II
- 软件工程——视频总结
- 线程的状态、调度、同步
- 源码分析-Activity的启动流程
- 常用数据结构讲解与案例分析
- Python:处理一些格式规范的文字
- php 伪静态 page-18.html,PHP 伪静态实现技术原理讲解
- 女朋友问我:小松子,你知道Go语言参数传递是传值还是传引用吗?