数据仓库的基本概念

数据仓库泛化、合并多维空间的数据。构造数据仓库涉及数据清理、数据集成和数据变换,可以看做数据挖掘的一个重要预处理步骤。此外,数据仓库提供联机分析处理(OLAP)工具,用于各种粒度的多维数据的交互分析,有利于有效的数据泛化和数据挖掘。

1.什么是数据仓库

数据仓库的建立为工商企业主管提供了体系结构和工具,以便他们系统地组织、理解和使用数据进行决策。
宽泛的讲,数据仓库是一种数据库,它与单位的操作数据库分别维护。数据仓库系统允许将各种应用系统集成在一起,为统一的历史数据分析提供坚实的平台,对信息处理提供支持。

数据仓库的关键特征:

面向主题的(subject-oriented):数据仓库围绕一些重要主体,如顾客、供应商、产品和销售组织。数据仓库关注决策者的数据建模与分析,而不是单位的日常操作和事务处理。因此,数据仓库通常排除对于决策无用的数据,提供特定主题的简明视图。
集成的(integrated):通常,构造数据仓库是将多个异构数据源,如关系数据库、一般文件和联机事务处理记录集成在一起。使用数据清理和数据集成技术,确保命名约定、编码结构、属性度量等的一致性。
时变的(time-variant):数据存储从历史的角度提供信息。数据仓库中的关键结果都隐式或显式地包含时间元素。
非易失的(nonvolatile):数据仓库总是物理的分离存放数据,这些数据源于操作环境下的应用数据。由于这种分离,数据仓库不需要事务处理、恢复和并发控制机制。通常,它只需要两种数据访问操作:数据的初始化装入和数据访问。

概言之,数据仓库是一种语义上一致的数据存储,它充当决策支持数据模型的物理实现,并存放企业战略决策所需要的信息。数据仓库也常常被看做是一种体系结构,通过将异构数据源中的数据集成在一起而构建,支持结构化和专门的查询、分析报告和决策制定。
数据仓库(data warehouse)的构建需要数据集成、数据清理和数据统一。数据仓库的应用常常需要一些决策支持技术。
“单位如何使用数据仓库中的信息?“许多单位都是用这些信息支持商务决策活动,包括
(1) 提高顾客关注度,这包括分析顾客购买模式(喜欢买什么、购买时间、预算周期、消费习惯)
(2) 根据按季度、按年和按地区的营销情况比较,重新配置产品和管理产品的投资,调整生产策略
(3) 分析运作情况并找出利润源
(4) 管理客户联系,进行环境调整,管理公司的资产开销。
对于异构数据库的集成,传统数据库做法是:在多个异构数据库上,建立一个包装程序和一个集成程序(或中介程序)。当客户站点提交查询时,首先使用元数据字典对查询进行转换,将它转换成相应异构站点上的查询。然后,将这些查询映射并发送到局部查询处理器。由不同站点返回的结果被集成为全局回答。这种查询驱动的(query-driven)方法需要复杂的信息过滤和集成处理,并且与局部数据源上的处理竞争资源。这种方法是低效的,并且对于频繁的查询,特别是需要聚集操作的查询,开销会很大。
对于异构数据库集成的传统方法,数据仓库提供了一种有趣的替代方案。数据仓库使用更新驱动的(update-driven)方法,而不是查询驱动的方法。这种方法将来自多个异构源的信息预先集成,并存储在数据仓库中,供直接查询和分析。与联机事务处理数据库不同,数据仓库不包含最近的信息。然而,数据仓库为集成的易购数据库系统带来了高性能,因为数据被复制、预处理、集成、注释、汇总,并重新组织到一个语义一致的数据存储中。数据仓库的查询处理并不影响在局部数据源上进行的处理。此外,数据仓库可以存储并集成历史信息,支持复杂的多维查询。

2.操作数据库系统与数据仓库的区别

联机操作数据库系统的主要任务是执行联机事务和查询处理。这种系统称作联机事务处理(Online Transaction Processing , OLTP)系统。
数据仓库系统在数据分析和决策方面为用户或“知识工人“提供服务。这种系统可以用不同的格式组织和提供数据,以便满足不同用户的需求。这种系统成为联机分析处理(Online Analytical Processing, OLAP)。
OLTP和OLAP的主要区别如下:
(1) 用户和系统的面向性
  a) OLTP是面向顾客的,用于办事员、客户和信息技术专业人员的事务和查询处理。
  b) OLAP是面向市场的,用于知识工人(包括经理、主管和分析人员)的数据分析
(2) 数据内容
  a) OLTP系统管理当前数据。通常,这种数据太琐碎,很难用于决策。
  b) OLAP系统管理大量历史数据,提供汇总和聚集机制,并在不同的粒度层上存储和管理信息。这些特点使得数据更容易用于有根据的决策。
(3) 数据库设计
  a) 通常,OLTP系统采用实体-联系(ER)数据模型和面向应用的数据库设计。
  b) 而OLAP系统通常采用星形或雪花模型和面向主题的数据库设计。
(4) 视图
  a) OLTP系统主要关注一个企业或部门内部的当前数据,而不涉及历史数据或不同单位的数据。
  b) OLAP系统常常跨越数据库模式的多个版本。OLAP系统还处理来自不同单位的信息,以及由多个数据库集成的信息。
(5) 访问模式
  a) OLTP系统的访问主要由短的原子事务组成。这种系统需要并发控制和恢复机制。
  b) OLAP系统的访问大部分是只读操作(由于大部分数据仓库存放历史数据,而不是最新数据),尽管许多可能是复杂的查询。

3.为什么需要分离的数据仓库

操作数据库存放了大量数据,为什么不能直接在这种数据库上进行联机分析处理,而是另外花费时间和资源去构造分离的数据仓库?
分离的主要原因是有助于提高两个系统的性能。操作数据库是为已知的任务和负载设计的,如使用主键索引和散列,检索特定的记录,优化定制的查询。另一方面,数据仓库的查询通常是复杂的,涉及大量数据在汇总级的计算,可能需要特殊的基于多维视图的数据组织、存取方法和实现方法。在操作数据库上处理OLAP查询,可能会大大降低操作任务的性能。
此外,操作数据库支持多事务的并发处理,需要并发控制和恢复机制(如,加锁和记录日志),以确保一致性和事务的鲁棒性(Robust:健壮)。通常,OLAP查询只需要对汇总和聚集数据记录进行只读访问。如果并发控制和恢复机制用于这种OLAP操作,就会危害并行事务的运行,从而大大降低OLTP系统的吞吐量。
最后,数据仓库与操作数据库分离是由于这两种系统中数据的结构、内容和用法都不相同。决策支持需要历史数据,而操作数据库一般不维护历史数据。操作数据库中的数据尽管很丰富,但对于决策,常常还是远非完整的。决策支持需要整合来自异构源的数据,产生高质量的、纯净的和集成的数据。相比之下,操作数据库只维护详细的原始数据(如事务),这些数据在进行分析之前需要整理。由于两种系统提供大不相同的功能,需要不同类型的数据,因此需要维护分离的数据库。

4.数据仓库;一种多层体系结构

(1) 底层是仓库数据库服务器,它几乎总是一个关系数据库系统。使用后端工具和实用程序,由操作数据库或其他外部数据源提取数据,放入底层。这些工具和实用程序进行数据提取、清理和变换,以及装入和刷新,以更新数据仓库。
(2) 中间层是OLAP服务器,其典型的实现使用关系OLAP(ROLAP)模型(即扩充的关系DBMS,它将多维数据上的操作映射为标准的关系操作),或者使用多维OLAP(MOLAP)模型(即专门的服务器,它直接实现多维数据和操作)
(3) 顶层是前端客户层,它包括查询和报告工具、分析工具和数据挖掘工具。

5.数据仓库模型:企业仓库、数据集市和虚拟仓库

从结构的角度看,有三种数据仓库模型:企业仓库、数据集市和虚拟仓库
(1) 企业仓库(enterprise warehouse):企业仓库搜集了关于主题的所有信息,跨越整个企业。它提供企业范围内的数据集成,通常来自一个或多个操作数据库系统或外部信息提供者,并且是多功能的。通常,它包含细节数据和汇总数据,其规模由数兆兆字节,到数百兆兆字节甚至更多。企业数据仓库可以在传统的大型机、超级计算机服务器或并行结构平台上实现。
(2) 数据集市(data mart):数据集市包含企业范围数据的一个子集,对于特定的用户群是有用的。其范围限于选定的主题。包括在数据集市中的数据通常是汇总的。
通常,数据集市可以在低价格的部门服务器上实现,基于UNIX/Linux或Windows。数据集市的实现周期一般是数以周计,而不是月计或年计。
根据数据的来源不同,数据集市分为独立的和依赖的两类。在独立的数据集市中,数据来自一个或多个操作数据库系统或外部信息提供者,或者来自在一个特定的部门或地区局部产生的数据。依赖的数据集市的数据直接来自企业数据仓库。
(3) 虚拟仓库(virtual warehouse):虚拟仓库是操作数据库上视图的集合。为了有效的处理查询,只有一些可能的汇总视图被物化。
数据仓库开发的自顶向下和自底向上方法的优缺点:
自顶向下:是一种系统的解决方案,并能最大限度地减少集成问题。然而,它费用高、开发周期长,并且缺乏灵活性,因为整个组织就共同数据模型达成一致是比较困难的。
自底向上:设计、开发、配置独立的数据集市的自底向上的方法提供了灵活性、低花费,并能快速回报投资。然而,将分散的数据集市集成,形成一个一致的企业数据仓库时,可能导致问题。

6.数据提取、变换和装入

数据提取:通常,由多个异构的外部数据源收集数据。
数据清理:检测数据中的错误,可能时修正它们。
数据变换:将数据由遗产或宿主格式转换成数据仓库格式。
装入:排序、汇总、合并、计算视图、检查完整性,并建立索引和划分。
刷新:传播由数据源到数据仓库的更新。
数据清理和变换是提高数据质量,从而提高其后的数据挖掘结果质量的重要步骤,

转载于:https://www.cnblogs.com/EnzoDin/p/10822686.html

数据仓库-数据仓库的简介(由来、与关系数据库的区别、数据仓库模型)相关推荐

  1. hadoop离线阶段(第十三节)数据仓库、hive简介、hive安装和hive的三种交互模式

    目录 数据仓库 数据仓库的基本概念 数据仓库的主要特征 数据仓库与数据库区别 数据仓库分层架构 数据仓库元数据管理 Hive简介 什么是Hive Hive的特点 Hive架构 Hive与Hadoop的 ...

  2. 数据仓库DW、ODS、DM概念及其区别

    数据仓库DW.ODS.DM概念及其区别 一.整体结构 在具体分析数据仓库之前先看下一下数据中心的整体架构以及数据流向 数据中心整体架构 DB 是现有的数据来源(也称各个系统的元数据),可以为mysql ...

  3. 实时数据库和关系数据库的区别、对比

    数据库和关系数据库  实时数据库和关系数据库的区别,下面先对各种数据库类型做一个阐述对比, 1.数据库和关系数据库 数据库是指按照一定数据结构和模型来组织.存储和管理数据的仓库.采用关系模型建立起来的 ...

  4. git简介,git和SVN区别

    1.git简介 ,git与SVN区别                  Git是目前世界上最先进的分布式版本控制系统(没有之一). 那什么是版本控制系统?                       ...

  5. 数仓dw怎么建_搭建数据仓库的流程简介

    如何搭建一个数据仓库? 下面大体说明了搭建的流程. 数据仓库的结构 用一幅图来表示: 数据仓库的好处 数据仓库是一套体系.可以建在Oracle上,MySQL上,Hive上,MaxCompute上,具体 ...

  6. 搭建数据仓库的流程简介

    如何搭建一个数据仓库? 下面大体说明了搭建的流程. 数据仓库的结构 用一幅图来表示: 数据仓库的好处 数据仓库是一套体系.可以建在Oracle上,MySQL上,Hive上,MaxCompute上,具体 ...

  7. mysql数据仓库搭建_搭建数据仓库的流程简介

    如何搭建一个数据仓库? 下面大体说明了搭建的流程. 数据仓库的结构 用一幅图来表示: 数据仓库的好处 数据仓库是一套体系.可以建在Oracle上,MySQL上,Hive上,MaxCompute上,具体 ...

  8. 使用mysql 作数据仓库_从MYSQL迁移数据到华为云数据仓库服务经验总结

    数据仓库服务(Data Warehouse Service,简称DWS)基于华为FusionInsight LibrA企业级数据仓库内核,提供即开即用.可扩展且完全托管的分析型数据库服务.用户开通数据 ...

  9. 数据仓库—stg层_手把手教你创建BI数据仓库STG层

    致力做一个首先想的是怎么帮助别人的人 点赞再看,谢谢支持 数仓分层 通常建立数据仓库,都会分层建模,一般分为3层,STG层,DW层,DM层. STG层 STG层一般为贴源层,字面意思就是和源系统贴近的 ...

最新文章

  1. openresty开发系列31--openresty执行流程
  2. AdminLTE 3.0发布了
  3. 哪个男孩不想拥有这种牌面?
  4. thinkPHP5.0数据查询表达式生成技巧
  5. vue部分样式无法修改
  6. 无错版Vsftpd Mysql Pam设置虚拟用户要领
  7. Docker玩转Rhadoop
  8. JNI==java调用dll(native方法的实现) IDEA - visual studio
  9. HTML+CSS+JS做一个简易音乐播放器
  10. php999换算人民币计算器,将cm换算为px (厘米换算为像素)
  11. python中求根公式_python求根公式
  12. 基于Cohesie单元的二维水力压裂
  13. 20189218 2018-2019-2 《密码与安全新技术专题》第7周作业
  14. 关系模式设计的问题 函数依赖
  15. 怎样用N多小图片拼成一张大图?(数字图像处理)
  16. CS224n 深度自然语言处理(四) Note - Backpropagation and computation graphs
  17. web前端入门到实战:CSS角度单位:deg、grad、rad、turn
  18. Tortoisegit 远端版本回退
  19. always@(*)和assign的区别
  20. 图案设计灵感怎么写_服装设计灵感来源怎么写_服装设计理念怎么写

热门文章

  1. 全局变量用常量初始化----C和C++的不同
  2. 微信小程序 延迟执行
  3. 使用QT定时器 隐藏 label
  4. STC89C52单片机 定时器
  5. 百度资源管理平台 站长工具 批量添加主站域名 子站域名 域名主动推送
  6. JProfiler 11中文版
  7. Codeforces 补题记录
  8. 第1课 - make和makefile
  9. Android视频拍摄功能总结
  10. mysql 取某个范围内随机日期