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


    数据仓库的基本概念

    数据仓库泛化、合并多维空间的数据。构造数据仓库涉及数据清理、数据集成和数据变换,可以看做数据挖掘的一个重要预处理步骤。此外,数据仓库提供联机分析处理(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.数据提取、变换和装入

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

  • 相关阅读:
    WebApi 生成接口文档
    MVC POST 嵌套格式的数据到Controller
    使用ABP框架的项目找不到system.web.http的解决办法
    SQLServer使用XML拆分以逗号分隔的字符串
    webapi使用swagger出现“Cannot read property 'parameters' of null”
    部署到IIS后出现ORA-12560的解决办法
    【ORACLE】“System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本。”解决办法
    Go安装和简单配置开发环境
    怎么安装Jupyter Notebook主题皮肤并设置教程
    如何修改Anaconda中Jupyter Notebook默认工作路径(保存文件路径)
  • 原文地址:https://www.cnblogs.com/EnzoDin/p/10822686.html
Copyright © 2020-2023  润新知