数据仓库(数仓)介绍

这篇具有很好参考价值的文章主要介绍了数据仓库(数仓)介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

N.1 什么是数据仓库

1)数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

2)数据仓库的定义:

数据仓库是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策,它是一种与时间相关的、不可修改的数据集合

N.2 数据仓库能干什么?

1)年度销售目标的指定,需要根据以往的历史报表进行决策,不能拍脑袋。

2)如何优化业务流程

(1)例如:一个电商网站订单的完成包括:浏览、下单、支付、物流,其中物流环节可能和中通、申通、韵达等快递公司合作。快递公司每派送一个订单,都会有订单派送的确认时间,可以根据订单派送时间来分析哪个快递公司比较快捷高效,从而选择与哪些快递公司合作,剔除哪些快递公司,增加用户友好型。

N.3 数据仓库的特点

1)数据仓库的数据是面向主题的

(1)与传统数据库面向应用进行数据组织的特点相对应,数据仓库中的数据是面向主题进行组织的。什么是主题呢?

(2)首先,主题是一个抽象的概念,是较高层次上企业信息系统中的数据综合、归类并进行分析利用的抽象。在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象。面向主题的数据组织方式,就是在较高层次上对分析对象的数据的一个完整、一致的描述,能完整、统一地刻划各个分析对象所涉及的企业的各项数据,以及数据之间的联系。所谓较高层次是相对面向应用的数据组织方式而言的,是指按照主题进行数据组织的方式具有更高的数据抽象级别。

2)数据仓库的数据是集成的

数据仓库的数据是从原有的分散的数据库数据抽取来的。操作型数据与DSS分析型数据之间差别甚大。第一,数据仓库的每一个主题所对应的源数据在原有的各分散数据库中有许多重复和不一致的地方,且来源于不同的联机系统的数据都和不同的应用逻辑捆绑在一起;第二,数据仓库中的综合数据不能从原有的数据库系统直接得到。因此在数据进入数据仓库之前,必然要经过统一与综合,这一步是数据仓库建设中最关键、最复杂的一步,所要完成的工作有:

(1)要统一源数据中所有矛盾之处,如字段的同名异义、异名同义、单位不统一、字长不一致等。

(2)进行数据综合和计算。数据仓库中的数据综合工作可以在从原有数据库抽取 数据时生成,但许多是在数据仓库内部生成的,即进入数据仓库以后进行综合生成的。

3)数据仓库的数据是不可更新的

数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一般情况下并不进行修改操作。数据仓库的数据反映的是一段相当长的时间内历史数据的内容是不同时点的数据库快照的集合以及基于这些快照进行统计、综合和重组的导出数据,而不是联机处理的数据。数据库中进行联机处理的数据经过集成输入到数据仓库中,一旦数据仓库存放的数据已经超过数据仓库的数据存储期限,这些数据将从当前的数据仓库中删去因为数据仓库只进行数据查询操作,所以数据仓库管理系统相比数据库管理系统而言要简单得多数据库管理系统中许多技术难点,如完整性保护、并发控制等等,在数据仓库的管理中几乎可以省去。但是由于数据仓库的查询数据量往往很大,所以就对数据查询提出了更高的要求,它要求采用各种复杂的索引技术;同时由于数据仓库面向的是商业企业的高层管理者,他们会对数据查询的界面友好性和数据表示提出更高的要求。

4)数据仓库的数据是随时间不断变化的

数据仓库中的数据不可更新是针对应用来说的,也就是说,数据仓库的用户进行分析处理时是不进行数据更新操作的。但并不是说,在从数据集成输入数据仓库开始到最终被删除的整个数据生存周期中,所有的数据仓库数据都是永远不变的。

数据仓库的数据是随时间的变化而不断变化的,这是数据仓库数据的第四个特征。这一特征表现在以下3方面:

(1)数据仓库随时间变化不断增加新的数据内容。数据仓库系统必须不断捕捉OLTP (On-Line Transaction Processing联机事务处理)数据库中变化的数据,追加到数据仓库中去,也就是要不断地生成OLTP数据库的快照,经统一集成后增加到数据仓库中去;但对于确实不再变化的数据库快照,如果捕捉到新的变化数据,则只生成一个新的数据库快照增加进去,而不会对原有的数据库快照进行修改。

(2)数据仓库随时间变化不断删去旧的数据内容。数据仓库的数据也有存储期限,一旦超过了这一期限,过期数据就要被删除。只是数据仓库内的数据时限要远远长于操作型环境中的数据时限。在操作型环境中一般只保存有60~90天的数据,而在数据仓库中则需要保存较长时限的数据(如5~10年),以适应DSS进行趋势分析的要求。

(3)数据仓库中包含有大量的综合数据,这些综合数据中很多跟时间有关,如数据经常按照时间段进行综合,或隔一定的时间片进行抽样等等。这些数据要随着时间的变化不断地进行重新综合。因此,数据仓库的数据特征都包含时间项,以标明数据的历史时期。

N.4 数据仓库发展历程

1)数据仓库的发展大致经历了这样的三个过程:

(1)简单报表阶段:这个阶段,系统的主要目标是解决一些日常的工作中业务人员需要的报表,以及生成一些简单的能够帮助领导进行决策所需要的汇总数据。这个阶段的大部分表现形式为数据库和前端报表工具。

(2)数据集市阶段:这个阶段,主要是根据某个业务部门的需要,进行一定的数据的采集,整理,按照业务人员的需要,进行多维报表的展现,能够提供对特定业务指导的数据,并且能够提供特定的领导决策数据。

(3)数据仓库阶段:这个阶段,主要是按照一定的数据模型,对整个企业的数据进行采集,整理,并且能够按照各个业务部门的需要,提供跨部门的,完全一致的业务报表数据,能够通过数据仓库生成对业务具有指导性的数据,同时,为领导决策提供全面的数据支持。

通过数据仓库建设的发展阶段,我们能够看出,数据仓库的建设和数据集市的建设的重要区别就在于数据模型的支持。因此,数据模型的建设,对于我们数据仓库的建设,有着决定性的意义。

N.5 数据库与数据仓库的区别

了解数据库与数据仓库的区别之前,首先掌握三个概念。数据库软件、数据库、数据仓库。

1)数据库软件:是一种软件,可以看得见,可以操作。用来实现数据库逻辑功能。属于物理层。

2)数据库:是一种逻辑概念,用来存放数据的仓库。通过数据库软件来实现。数据库由很多表组成,表是二维的,一张表里可以有很多字段。字段一字排开,对应的数据就一行一行写入表中。数据库的表,在于能够用二维表现多维关系。目前市面上流行的数据库都是二维数据库。如:Oracle、DB2、MySQL、Sybase、MS SQL Server等。

3)数据仓库:是数据库概念的升级。从逻辑上理解,数据库和数据仓库没有区别,都是通过数据库软件实现的存放数据的地方,只不过从数据量来说,数据仓库要比数据库更庞大得多。数据仓库主要用于数据挖掘和数据分析,辅助领导做决策。

在IT的架构体系中,数据库是必须存在的。必须要有地方存放数据。比如现在的网购,淘宝,京东等等。物品的存货数量,货品的价格,用户的账户余额之类的。这些数据都是存放在后台数据库中。或者最简单理解,我们现在微博,QQ等账户的用户名和密码。在后台数据库必然有一张user表,字段起码有两个,即用户名和密码,然后我们的数据就一行一行的存在表上面。当我们登录的时候,我们填写了用户名和密码,这些数据就会被传回到后台去,去跟表上面的数据匹配,匹配成功了,你就能登录了。匹配不成功就会报错说密码错误或者没有此用户名等。这个就是数据库,数据库在生产环境就是用来干活的。凡是跟业务应用挂钩的,我们都使用数据库。

数据仓库则是BI下的其中一种技术。由于数据库是跟业务应用挂钩的,所以一个数据库不可能装下一家公司的所有数据。数据库的表设计往往是针对某一个应用进行设计的。比如刚才那个登录的功能,这张user表上就只有这两个字段,没有别的字段了。但是这张表符合应用,没有问题。但是这张表不符合分析。比如我想知道在哪个时间段,用户登录的量最多?哪个用户一年购物最多?诸如此类的指标。那就要重新设计数据库的表结构了。对于数据分析和数据挖掘,我们引入数据仓库概念。数据仓库的表结构是依照分析需求,分析维度,分析指标进行设计的。

4)数据库与数据仓库区别

数据库与数据仓库的区别实际大概的等价于OLTP与OLAP的区别。

(1)操作型处理,叫联机事务处理OLTP(对实时性的要求比较高而且要支持事务)(On-Line Transaction Processing),也可以称面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改(类似流处理)。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题,是传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。

OLTP的组件有:一般是指关系性数据库,而flink,storm速度和响应都比较快,如果组合使用可以作为OLTP场景使用。

(2)分析型处理,叫联机分析处理OLAP(对实时性的要求不高)(On-Line Analytical Processing)一般针对某些主题的历史数据进行分析,支持管理决策(类似批处理)。设计的数据,一般是即埋点日志。

如OLAP的组件有:Kylin,impala(基于hive)等即席查询工具。

5)数据处理大致可以分成两大类:操作型处理OLTP与分析型处理OLAP的比较 

操作型处理(数据库),联机事务处理对。

分析型处理(数据仓库,里面的数据来自各站各样的数据库)

细节的

综合的或提炼的

实体——关系(E-R)模型,属于关系建模。

星型模型、雪花模型或星座模型,属于维度建模

存取瞬间数据

存储历史数据,不包含最近的数据

可更新的

只读、只追加

一次操作一个单元

一次操作一个集合

性能要求高,响应时间短

性能要求宽松

面向事务

面向分析

一次操作数据量小

一次操作数据量大

支持日常操作

支持决策需求

数据量小

数据量大

客户订单、库存水平和银行账户查询等

客户收益分析、市场细分析等

表和表的关联分析比较少,所以遵循关系建模,这样数据的冗余性比较少。

表和表的关联分析比较多,所以不遵循关系建模,而是维度建模,这样可以提高,虽然数据有冗余,但是,提高了表关联的效率,减少了跨表分析。

N.6 关系建模和维度建模

1)关系建模关系模型严格遵循第三范式(3NF),主要应用于OLTP系统中。

2)维度模型主要应用于OLAP系统,在维度建模的基础上又分为3种模型:星型模型,雪花模型,星座模型。

3) 星型模型

星型模型的缺点是存在一定程度的数据冗余。因为其维表只有一个层级,有些信息被存储了多次。比如一张包含国家、省份、地市三列的维表,国家列会有很多重复的信息。

数据仓库,# CDH数仓生态,hadoop,大数据,数据仓库

4) 雪花模型

其优点是通过最大限度地减少数据存储量以及联合较小的维表来改善查询性能,避免了数据冗余。其缺点是增加了主键-外键关联的几率,导致查询效率低于星型模型,并且不利于开发。

数据仓库,# CDH数仓生态,hadoop,大数据,数据仓库

5) 星座模型

星座模型也是星型模型的扩展。区别是星座模型中存在多张事实表,不同事实表之间共享维表信息,常用于数据关系更复杂的场景

数据仓库,# CDH数仓生态,hadoop,大数据,数据仓库

6) 雪花模型和星型模型区别

(1)雪花模型去除了冗余,设计复杂,可读性差,关联的维度表多,查询效率低,但是可扩展性好。

(2)星型模型冗余度高,设计简单,可读性高,关联的维度表少,查询效率高,可扩展性低。文章来源地址https://www.toymoban.com/news/detail-742150.html

到了这里,关于数据仓库(数仓)介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数仓建模—数据仓库初识

    数据仓库之父Bill Inmon在1991年出版的\\\"Building the Data Warehouse\\\"一书中所提出的定义被广泛接受 数据仓库(Data Warehouse)是一个 面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making

    2024年04月22日
    浏览(21)
  • 数据仓库(2)-认识数仓

    数据仓库 ,由数据仓库之父比尔·恩门(Bill Inmon)于1990年提出,主要功能仍是将组织透过资讯系统之联机事务处理(OLTP)经年累月所累积的大量资料,透过数据仓库理论所特有的资料储存架构,做有系统的分析整理,以利各种分析方法如联机分析处理(OLAP)、数据挖掘(Data Mini

    2024年01月21日
    浏览(26)
  • 数据仓库建设-数仓分层

    数据仓库能够帮助企业做出更好的决策,提高业务效率和效益;在数据仓库建设时,绕不开的话题就是数仓分层。 1. 降低数据开发成本 通用的业务逻辑加工好,后续的开发任务可以基于模型快速使用,数据需求的响应速度也会更快。 2. 降低任务运维成本 业务发展过程中,数

    2024年02月16日
    浏览(33)
  • 离线数仓-数据仓库系统

    ODS层(Operational Data Store) :运营数据存储层,用于存储来自操作型系统的原始数据,是数据仓库中的第一层。 DWD层(Data Warehouse Detail) :数据仓库细节层,用于存储经过清洗和加工的详细数据,保留了原始数据的细节信息。 DWS层(Data Warehouse Summary) :数据仓库汇总层,用

    2024年04月11日
    浏览(34)
  • 大数据技术(入门篇) --- 使用 Spring Boot 操作 CDH6.2.0 Hadoop

    本人是web后端研发,习惯使用spring boot 相关框架,因此技术选型直接使用的是spring boot,目前并未使用 spring-data-hadoop 依赖,因为这个依赖已经在 2019 年终止了,可以点击查看 ,所以我这里使用的是自己找的依赖, 声明:此依赖可能和你使用的不兼容,我这个适用于我自己的

    2024年02月02日
    浏览(36)
  • 离线数仓(五)【数据仓库建模】

            今天开始正式数据仓库的内容了, 前面我们把生产数据 , 数据上传到 HDFS , Kafka 的通道都已经搭建完毕了, 数据也就正式进入数据仓库了, 解下来的数仓建模是重中之重 , 是将来吃饭的家伙 ! 以及 Hive SQL 必须熟练到像喝水一样 !         数据仓库 (dataware,简称 DW) 是

    2024年03月26日
    浏览(51)
  • CDH数仓项目(三) —— Kerberos安全认证和Sentry权限管理

    本文基于《CDH数仓项目(一) —— CDH安装部署搭建详细流程》和《CDH数仓项目(二) —— 用户行为数仓和业务数仓搭建》和搭建CDH数仓。本章节主要介绍基于CDH数仓的Kerberos认证和Sentry权限管理 Kerberos是一种计算机网络授权协议,用来在非安全网络中,对个人通信以安全的手段进

    2023年04月22日
    浏览(41)
  • 【数仓建设系列之一】什么是数据仓库?

    一、什么是数据仓库? 数据仓库(Data Warehouse,简称DW)简单来讲,它是一个存储和管理大量结构化和非结构化数据的存储集合,它以主题为向导,通过整合来自不同数据源下的数据(比如各业务数据,日志文件数据等),解决企业数据孤岛,为企业提供统一的数据视图。通过构建

    2024年02月12日
    浏览(28)
  • 数仓学习---15、数据仓库工作流调度

    工具部署链接 1.2.1 用户行为日志 1、启动日志采集通道,包括Kafka、Flume等 (1)启动Zookeeper (2)启动Kafka (3)启动Flume 2、修改日志模拟器配置文件 修改hadoop102和hadoop103两台节点中的/opt/module/applog/application.yml文件,修改mock.date参数如下。 3、执行日志生成脚本 4、观察HDFS上

    2024年02月15日
    浏览(28)
  • 数据仓库内容分享(十二):数仓和大数据的双向奔赴

    在 MapReduce 流行这些年之后,针对大数据集的 分布式批处理执行引擎 已经逐渐成熟。到现在(2017年)已经有比较成熟的基础设施可以在上千台机器上处理 PB 量级的数据。因此,针对这个量级的 基本数据处理问题 可以认为已经被解决,大家的注意力开始转到其他问题上: 完

    2024年02月22日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包