数据仓库 订阅
数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。 [1] 展开全文
数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。 [1]
信息
缩    写
DW
提出者
比尔·恩门(Bill Inmon)
中文名
数据仓库
外文名
Data Warehouse
数据仓库发展历程
数据仓库是决策支持系统(dss)和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。数据仓库 ,由数据仓库之父比尔·恩门(Bill Inmon)于1990年提出,主要功能仍是将组织透过资讯系统之联机事务处理(OLTP)经年累月所累积的大量资料,透过数据仓库理论所特有的资料储存架构,做有系统的分析整理,以利各种分析方法如联机分析处理(OLAP)、数据挖掘(Data Mining)之进行,并进而支持如决策支持系统(DSS)、主管资讯系统(EIS)之创建,帮助决策者能快速有效的自大量资料中,分析出有价值的资讯,以利决策拟定及快速回应外在环境变动,帮助建构商业智能(BI)。数据仓库之父比尔·恩门(Bill Inmon)在1991年出版的“Building the Data Warehouse”(《建立数据仓库》)一书中所提出的定义被广泛接受——数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。
收起全文
精华内容
参与话题
问答
  • 数据仓库

    万次阅读 2019-04-15 11:57:54
    数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、且随时间变化的数据集合,用于支持管理决策。 主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作...

    数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、且随时间变化的数据集合,用于支持管理决策。

    主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。

    数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。

    数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据
    进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,
    但修改和删除操作很少,通常只需要定期地加载、刷新。

    数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息。

    数据仓库反映历史变化的属性主要表现在:
        数据仓库中的数据时间期限要远远长于传统操作型数据系统中的数据时间期限,数据仓库中的数据时间期限往往为数年甚至几十年。
        数据仓库中的数据仅仅是一系列某一时刻(可能是传统操作型数据系统)生成的复杂的快照;
        数据仓库中一定会包含时间元素。

    数据库与数据仓库的差异
       从数据存储的内容看,数据库只存放当前值,而数据仓库则存放历史值;数据库数据的目标是面向业务操作人员的,为业务处理人员提供数据处理的支持,而数据仓库则是面向中高层管理
    人员的,为其提供决策支持等。

    数据仓库的结构
    从数据仓库的概念结构看,一般来说,数据仓库系统要包含数据源、数据准备区、数据仓库数据库、数据集市/知识挖掘库及各种管理工具和应用工具,如图 3-10 所示。数据仓库建立之后,首先要从数据源中抽取相关的数据到数据准备区,在数据准备区中经过净化处理后再加载到数据仓库数据库,最后根据用户的需求将数据导入数据集市和知识挖掘库中。当用户使用数据仓库时,可以利用包括 OLAP(On-Line Analysis Processing,联机分析处理)在内的多种数据仓库应用工具向数据集市/知识挖掘库或数据仓库进行决策查询分析或知识挖掘。数据仓库的创建、应用可以利用各种数据仓库管理工具辅助完成。

    数据仓库框架由数据仓库基本功能层、数据仓库管理层和数据仓库环境支持层组成。

     

    数据仓库基本功能层。

           数据仓库的基本功能层部分包含数据源、数据准备区、数据仓库结构、数据集市或知识挖掘库,以及存取和使用部分。

    数据仓库管理层。

         数据仓库管理层由数据仓库的数据管理和数据仓库的元数据管理组成。
        数据仓库的数据管理层包含数据抽取、新数据需求与查询管理,数据加载、存储、刷新和更新系统,安全性与用户授权管理系统及数据归档、恢复及净化系统等四部分。

    数据仓库的环境支持层。

          数据仓库的环境支持层由数据仓库数据传输层和数据仓库基础层组成。
     

    数据仓库架构图:

    展开全文
  • 大数据与数据仓库入门到精通

    千人学习 2019-09-20 00:10:47
    希望学习者最好从事过数据库相关工作,有一些 JAVA开发基础,或者有其他工作经验,想学习大数据及数据仓库的同学,对于没有工作经验,或者对开发,数据完全小白的同学,建议先了解相关知识再学习。 本课程的宗旨...
  • 数据仓库之元数据

    万次阅读 2020-06-29 22:32:50
    数据是关于数据数据,在某些时候不特指某个单独的数据,可以理解为是一组用来描述数据的信息组/数据组,该信息组/数据组中的一切数据、信息,都描述/反映了某个数据的某方面特征,则该信息组/数据组可称为一个元...

    元数据概述

    元数据:描述其它数据的数据(data about other data)

    元数据是关于数据的数据,在某些时候不特指某个单独的数据,可以理解为是一组用来描述数据的信息组/数据组,该信息组/数据组中的一切数据、信息,都描述/反映了某个数据的某方面特征,则该信息组/数据组可称为一个元数据。

    元数据可以为数据说明其元素或属性(名称、大小、数据类型等),或其结构(长度、字段、数据列),或其相关数据(位于何处、如何联系、拥有者)。

    在日常生活中,元数据无所不在。只要有一类事物,就可以定义一套元数据。

    元数据的分类

    ①管理元数据

    管理元数据主要为负责开发,维护数据仓库的人员使用。管理元数据时存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库使用的数据。

    ②用户元数据

    用户元数据从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够读懂数据仓库中的数据。

    元数据的作用

    ①元数据是进行数据集成所必须的。
    ②元数据可以帮助最终用户理解数据仓库中的数据。
    ③元数据是保证数据质量的关键。
    ④元数据可以支持需求化。

    参考资料 《数据仓库与数据挖掘实践》

    展开全文
  • oracle数据仓库国宝级资料(全套)

    千次下载 热门讨论 2014-09-19 23:10:09
    oracle数据仓库国宝级资料(全套) 1、Oracle+10g数据仓库实践--数据仓库基础.pdf 2、Oracle+10g数据仓库实践--总体方案.pdf 3、Oracle+10g数据仓库实践--方案的总体优势.pdf 4、Oracle+10g据仓库实践--数据仓库工具的...
  • 数据仓库的架构与设计

    万次阅读 2020-03-09 10:11:14
    公司之前的数据都是直接传到Hdfs上进行操作,没有...

    公司之前的数据都是直接传到Hdfs上进行操作,没有一个数据仓库,趁着最近空出几台服务器,搭了个简陋的数据仓库,这里记录一下数据仓库的一些知识。涉及的主要内容有:

    1. 什么是数据仓库?
    2. 数据仓库的架构
    3. 数据仓库多维数据模型的设计

    1. 什么是数据仓库

    1.1 数据仓库的概念

    官方定义

    数据仓库是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合,用于对管理决策过程的支持。

    这个定义的确官方,但是却指出了数据仓库的四个特点。

    特点

    面向主题:数据仓库都是基于某个明确主题,仅需要与该主题相关的数据,其他的无关细节数据将被排除掉
    集成的:从不同的数据源采集数据到同一个数据源,此过程会有一些ETL操作
    随时间变化:关键数据隐式或显式的基于时间变化
    信息本身相对稳定:数据装入以后一般只进行查询操作,没有传统数据库的增删改操作

    个人理解

    数据仓库就是整合多个数据源的历史数据进行细粒度的、多维的分析,帮助高层管理者或者业务分析人员做出商业战略决策或商业报表。

    1.2 数据仓库的用途

    • 整合公司所有业务数据,建立统一的数据中心
    • 产生业务报表,用于作出决策
    • 为网站运营提供运营上的数据支持
    • 可以作为各个业务的数据源,形成业务数据互相反馈的良性循环
    • 分析用户行为数据,通过数据挖掘来降低投入成本,提高投入效果
    • 开发数据产品,直接或间接地为公司盈利

    1.3 数据库和数据仓库的区别

    差异项 数据库 数据仓库
    特征 操作处理 信息处理
    面向 事务 分析
    用户 DBA、开发 经理、主管、分析人员
    功能 日常操作 长期信息需求、决策支持
    DB设计 基于ER模型,面向应用 星形/雪花模型,面向主题
    数据 当前的、最新的 历史的、跨时间维护
    汇总 原始的、高度详细 汇总的、统一的
    视图 详细、一般关系 汇总的、多维的
    工作单元 短的、简单事务 复杂查询
    访问 读/写 大多为读
    关注 数据进入 信息输出
    操作 主键索引操作 大量的磁盘扫描
    用户数 数百到数亿 数百
    DB规模 GB到TB >=TB
    优先 高性能、高可用性 高灵活性
    度量 事务吞吐量 查询吞吐量、响应时间

    2. 数据仓库的架构

    2.1 当前架构

    当前我们的数据仓库架构很low,但是能实现基本功能,如下:
    这里写图片描述

    数据采集

    数据采集层的任务就是把数据从各种数据源中采集和存储到数据存储上,期间有可能会做一些ETL操作。

    数据源种类可以有多种:

    • 日志:所占份额最大,存储在备份服务器上
    • 业务数据库:如Mysql、Oracle
    • 来自HTTP/FTP的数据:合作伙伴提供的接口
    • 其他数据源:如Excel等需要手工录入的数据

    数据存储与分析

    HDFS是大数据环境下数据仓库/数据平台最完美的数据存储解决方案。

    离线数据分析与计算,也就是对实时性要求不高的部分,Hive是不错的选择。

    使用Hadoop框架自然而然也提供了MapReduce接口,如果真的很乐意开发Java,或者对SQL不熟,那么也可以使用MapReduce来做分析与计算。

    Spark性能比MapReduce好很多,同时使用SparkSQL操作Hive。

    数据共享

    前面使用Hive、MR、Spark、SparkSQL分析和计算的结果,还是在HDFS上,但大多业务和应用不可能直接从HDFS上获取数据,那么就需要一个数据共享的地方,使得各业务和产品能方便的获取数据。
    这里的数据共享,其实指的是前面数据分析与计算后的结果存放的地方,其实就是关系型数据库和NOSQL数据库。

    数据应用

    报表:报表所使用的数据,一般也是已经统计汇总好的,存放于数据共享层。

    接口:接口的数据都是直接查询数据共享层即可得到。

    即席查询:即席查询通常是现有的报表和数据共享层的数据并不能满足需求,需要从数据存储层直接查询。一般都是通过直接操作SQL得到。

    2.2 理想架构

    自己的架构这么低级不能误导了读者,所以给出主流公司会用到的一个架构图:
    这里写图片描述

    增加了以下内容:

    数据采集:采用Flume收集日志,采用Sqoop将RDBMS以及NoSQL中的数据同步到HDFS上

    消息系统:可以加入Kafka防止数据丢失

    实时计算:实时计算使用Spark Streaming消费Kafka中收集的日志数据,实时计算结果大多保存在Redis中

    机器学习:使用了Spark MLlib提供的机器学习算法

    多维分析OLAP:使用Kylin作为OLAP引擎

    数据可视化:提供可视化前端页面,方便运营等非开发人员直接查询

    3. 数据仓库多维数据模型的设计

    3.1 基本概念

    主题(Subject)

    主题就是指我们所要分析的具体方面。例如:某年某月某地区某机型某款App的安装情况。主题有两个元素:一是各个分析角度(维度),如时间位置;二是要分析的具体量度,该量度一般通过数值体现,如App安装量。

    维(Dimension)

    维是用于从不同角度描述事物特征的,一般维都会有多层(Level:级别),每个Level都会包含一些共有的或特有的属性(Attribute),可以用下图来展示下维的结构和组成:

    这里写图片描述

    以时间维为例,时间维一般会包含年、季、月、日这几个Level,每个Level一般都会有ID、NAME、DESCRIPTION这几个公共属性,这几个公共属性不仅适用于时间维,也同样表现在其它各种不同类型的维。

    分层(Hierarchy)

    OLAP需要基于有层级的自上而下的钻取,或者自下而上地聚合。所以我们一般会在维的基础上再次进行分层,维、分层、层级的关系如下图:

    这里写图片描述

    每一级之间可能是附属关系(如市属于省、省属于国家),也可能是顺序关系(如天周年),如下图所示:

    这里写图片描述

    这里写图片描述

    量度

    量度就是我们要分析的具体的技术指标,诸如年销售额之类。它们一般为数值型数据。我们或者将该数据汇总,或者将该数据取次数、独立次数或取最大最小值等,这样的数据称为量度。

    粒度
    数据的细分层度,例如按天分按小时分。

    事实表和维表

    事实表是用来记录分析的内容的全量信息的,包含了每个事件的具体要素,以及具体发生的事情。事实表中存储数字型ID以及度量信息。

    维表则是对事实表中事件的要素的描述信息,就是你观察该事务的角度,是从哪个角度去观察这个内容的。

    事实表和维表通过ID相关联,如图所示:

    这里写图片描述

    星形/雪花形/事实星座

    这三者就是数据仓库多维数据模型建模的模式

    上图所示就是一个标准的星形模型。

    雪花形就是在维度下面又细分出维度,这样切分是为了使表结构更加规范化。雪花模式可以减少冗余,但是减少的那点空间和事实表的容量相比实在是微不足道,而且多个表联结操作会降低性能,所以一般不用雪花模式设计数据仓库。

    事实星座模式就是星形模式的集合,包含星形模式,也就包含多个事实表。

    企业级数据仓库/数据集市

    企业级数据仓库:突出大而全,不论是细致数据和聚合数据它全都有,设计时使用事实星座模式

    数据集市:可以看做是企业级数据仓库的一个子集,它是针对某一方面的数据设计的数据仓库,例如为公司的支付业务设计一个单独的数据集市。由于数据集市没有进行企业级的设计和规划,所以长期来看,它本身的集成将会极其复杂。其数据来源有两种,一种是直接从原生数据源得到,另一种是从企业数据仓库得到。设计时使用星形模型

    3.2 数据仓库设计步骤

    1、确定主题

    主题与业务密切相关,所以设计数仓之前应当充分了解业务有哪些方面的需求,据此确定主题

    2、确定量度

    在确定了主题以后,我们将考虑要分析的技术指标,诸如年销售额之类。量度是要统计的指标,必须事先选
    择恰当,基于不同的量度将直接产生不同的决策结果。

    3、确定数据粒度

    考虑到量度的聚合程度不同,我们将采用“最小粒度原则”,即将量度的粒度设置到最小。例如如果知道某些数据细分到天就好了,那么设置其粒度到天;但是如果不确定的话,就将粒度设置为最小,即毫秒级别的。

    4、确定维度

    设计各个维度的主键、层次、层级,尽量减少冗余。

    5、创建事实表

    事实表中将存在维度代理键和各量度,而不应该存在描述性信息,即符合“瘦高原则”,即要求事实表数据条数尽量多(粒度最小),而描述性信息尽量少。


    Refer

    http://lxw1234.com/

    https://my.oschina.net/leejun2005/blog/188770

    本文转载自:https://blog.csdn.net/Trigl/article/details/68944434

    展开全文
  • 大数据Hive系列之Hive数据仓库部署

    万次阅读 2018-06-05 14:40:42
    一、部署准备 Hive依赖于Hadoop分布式集群,Hadoop分布式集群部署参考文章:Apache Hadoop 分布式集群部署 Hive依赖于MySQL数据库,MySQL数据库部署参考文章:CentOS系统二进制安装MySQL Hive软件包下载:...

    一、部署准备

    二、部署Hive

    【主机slave62上执行】

    1.  创建hive工作目录,上传解压hive软件

        mkdir -p /apps/svr/hive/
        tar -zxvf ~/apache-hive-2.1.1-bin.tar.gz -C /apps/svr/hive/

    2.  部署

        cd /apps/svr/hive/apache-hive-2.1.1-bin/conf/
        cp hive-env.sh.template hive-env.sh
        cp hive-log4j2.properties.template hive-log4j2.properties

    2.1.  配置hive-env.sh

        vim hive-env.sh

    export JAVA_HOME=/apps/svr/java/jdk1.8.0_172
    export HADOOP_HOME=/apps/svr/hadoop/hadoop-2.7.3
    export HIVE_CONF_DIR=/apps/svr/hive/apache-hive-2.1.1-bin/conf

    2.2.  配置log4j2

        mkdir -p /apps/logs/hive
        vim hive-log4j2.properties

    property.hive.log.dir = /apps/logs/hive/${sys:user.name}

    2.3.  配置hive-site.xml

        vim hive-site.xml

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    
    <configuration>
    	<!-- MySQL元数据配置 -->
    	<property>
    		<name>javax.jdo.option.ConnectionURL</name>
    		<value>jdbc:mysql://localhost:3306/hive?characterEncoding=UTF-8&amp;useSSL=false</value>
    	</property>
    	<property>
    		<name>javax.jdo.option.ConnectionDriverName</name>
    		<value>com.mysql.jdbc.Driver</value>
    	</property>
    	<property>
    		<name>javax.jdo.option.ConnectionUserName</name>
    		<value>hive</value>
    	</property>
    	<property>
    		<name>javax.jdo.option.ConnectionPassword</name>
    		<value>hive!@#123</value>
    	</property>
    	
    	<!-- HDFS创建Hive数据存放相关目录 --> 
    	<property>
    		<name>hive.metastore.warehouse.dir</name>
    		<value>hdfs://master60:9000/user/hive/warehouse</value>
    	</property>
    	<property>
    		<name>hive.exec.scratchdir</name>
    		<value>hdfs://master60:9000/tmp/hive/hive-${user.name}</value>
    	</property>
    	
    	<!-- 指定Hive的DDL/DML作业计算结果本地存储目录 --> 
    	<property>
    		<name>hive.exec.local.scratchdir</name>
    		<value>/tmp/hive/iotmp</value>
    	</property>
    	
    	<!-- 用于向远程文件系统添加资源的本地临时目录  -->
    	<property>
    		<name>hive.downloaded.resources.dir</name>
    		<value>/tmp/hive/iotmp</value>
    	</property>
    	
    	<!-- 指定hive查询日志本地存放目录  --> 
    	<property>
    		<name>hive.querylog.location</name>
    		<value>/tmp/${user.name}</value>
    	</property>
    	<!-- 开启日志功能后存储日志的本地顶层目录  --> 
    	<property>
    		<name>hive.server2.logging.operation.log.location</name>
    		<value>/tmp/${user.name}/operation_logs</value>
    	</property>
    
    	<!-- CLI -->
    	<property>
    		<name>hive.cli.print.header</name>
    		<value>true</value>
    	</property>
    	<property>
    		<name>hive.cli.print.current.db</name>
    		<value>true</value>
    	</property>
    </configuration>

    2.4.  上传并拷贝相关jar包

        cd /apps/svr/hive/apache-hive-2.1.1-bin/
        cp ~/jar/mysql-connector-java-5.1.46.jar ./lib/
        cp $HADOOP_HOME/share/hadoop/common/hadoop-common-2.7.3.jar ./lib/

    2.5.  创建Hive仓库目录

    【主机master60上执行】

        hdfs dfs -mkdir /tmp
        hdfs dfs -mkdir -p /user/hive/warehouse
        hdfs dfs -chmod g+w /tmp
        hdfs dfs -chmod g+w /user/hive/warehouse

    2.6.  创建Hive元数据储存数据库

    create database hive default charset utf8 collate utf8_general_ci;
    grant all on hive.* to 'hive'@'%' identified by 'hive!@#123';
    flush privileges;

    3.  配置hive环境变量

    3.1.  配置.bash_profile

        vim ~/.bash_profile

    # HIVE_HOME
    export HIVE_HOME=/apps/svr/hive/apache-hive-2.1.1-bin
    export HCAT_HOME=$HIVE_HOME/hcatalog/
    export PATH=$PATH:$HIVE_HOME/bin

    3.2.  立即生效

        source ~/.bash_profile

    4.  启动测试hive

    4.1.  初始化metastore库

        schematool -dbType mysql -initSchema

    4.2.  启动测试

        hive -e 'show tables'

    展开全文
  • 数据分析&数据仓库系列

    万次阅读 2020-05-13 08:25:22
    https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&album_id=1337764531464093698&__biz=MzI4MzE4MjQxOQ==#wechat_redirect
  • 什么是数据仓库

    万次阅读 多人点赞 2019-04-24 19:44:14
    为什么需要数据仓库? 传统的数据库中,存放的数据都是一些定制性数据较多,表是二维的,一张表可以有很多字段,字段一字排开,对应的数据就一行一行写入表中,特点就是利用二维表表现多维关系。 但这种表现关系...
  • 这些年,随着电子商务的发展,数据仓库已经愈来愈深入人心了。本文想从时空和语义角度来探讨下融合数据仓库。融合数据仓库是在传统数据仓库之上的,支持时空和语义数据存储和分析的数据仓库。相对于传统的数据仓库,...
  • 数据仓库之OLAP与OLTP区别

    万次阅读 2020-06-29 17:18:36
    关于数据仓库 数据仓库的定义 一个面向主题,集成的,稳定,随时间变化的数据集合,以用于支持管理的决策过程。 数据仓库的目的 通过集成不同的系统信息为企业提供统一的决策分析平台,帮助企业解决实际的业务问题。...

空空如也

1 2 3 4 5 ... 20
收藏数 45,409
精华内容 18,163
关键字:

数据仓库