深夜凌晨女朋友问什么是数据仓库,我的回答让她惊讶,然后发现。。。

简介: 深夜凌晨女朋友问什么是数据仓库,我的回答让她惊讶,然后发现。。。

数据仓库的介绍


一、数据仓库的基本概念



数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库顾名思义,是一个很大的数据存储集合,出于企业的分析性报告和决策支持目的而创建,对多样的业务数据进行筛选与整合。它为企业提供一定的BI(商业智能)能力,指导业务流程改进、监视时间、成本、质量以及控制。


数据仓库的输入方是各种各样的数据源,最终的输出用于企业的数据分析、数据挖掘、数据报表等方向。


image.png


二、数据仓库的主要特征



数据仓库是面向主题的(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、数据仓库分层架构


按照数据流入流出的过程,数据仓库架构可分为三层——源数据、数据仓库、数据应用。


image.png


数据仓库的数据来源于不同的源数据,并提供多样的数据应用,数据自下而上流入数据仓库后向上层开放应用,而数据仓库只是中间集成化数据管理的一个平台。


  • 源数据层(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的正常和稳定。


image.png

目录
相关文章
|
JavaScript 测试技术 Python
低成本、快速造测试数据,这个造数工具我后悔推荐晚了!
没有测试数据,所谓的功能测试和性能测试全都是无米之炊。但我发现一个蛮诡异的事情,就是行业内很少会有人去强调测试数据的重要性,甚至市面上都没有人在做测试数据这门生意。
低成本、快速造测试数据,这个造数工具我后悔推荐晚了!
|
11月前
|
机器学习/深度学习 算法 搜索推荐
2023秋招算法提前批:快手广告算法面经
2023秋招算法提前批:快手广告算法面经
87 0
|
程序员
766.每周复盘-第十一周
766.每周复盘-第十一周
2021米哈游校园招聘-提前批-编程题1-最简分式
2021米哈游校园招聘-提前批-编程题1-最简分式
178 0
|
存储 数据可视化 easyexcel
有了这个开源工具后,我五点就下班了!
有了这个开源工具一个优秀的开发者,一定是会利用各种工具来提升自己的开发效率。后,我五点就下班了!
404 1
有了这个开源工具后,我五点就下班了!
|
消息中间件 Apache 双11
「开源人说」第一期重磅上线!一起来看《十万亿条消息背后的故事》
阿里每天近万亿级别的消息是如何完成实时消息传递的?几十万台服务器,成千上万个应用顺畅协作和消息实时传递都离不开分布式消息中间件RocketMQ。长久以来,RocketMQ 易于部署、高性能、高可用的架构,支撑了数十年来集团内外海量的业务场景。 2016年,阿里巴巴宣布将开源分布式消息中间件RocketMQ捐赠给Apache,并一举成为Apache 顶级项目(TLP)。一个由中国开发者发起的项目,站在了一个世界的舞台上,受到全球的企业和开发者关注。RocketMQ深受开发者欢迎,多次斩获行业大奖,究竟是怎样的一群人让这一项目不断迸发出蓬勃的生命力?
11018 3
第一期:复盘 回顾总结
第一期:复盘 回顾总结
117 0
|
存储 算法 数据挖掘
刚入职的数据分析师,上千数据指标,如何1周开发完?
作者:陈梦婷 更多内容详见数据中台官网 https://dp.alibaba.com 小白同学终于毕业啦!学过高等数学、java、C++、数据库等课程,擅长编写算法,参加过多次数学建模大赛,在这个背景下,小白毅然决然选择了数据分析师这个岗位,毕业后顺利进入一家互联网公司,开始职场初体验。
2885 0
|
算法 程序员
豆瓣评分9.1,这本计算机经典名著,我读到凌晨三点
十一马上又要一喽!!!假期一波接一波,开不开心。长假归来,异步社区上架了8本新书,你有没有关注到,让小编一一道来!
2995 0
下一篇
无影云桌面