数据仓库的概念与体系结构数据仓库的产生•联机事务处理系统(业务系统)刚上线时,查询不到数据是因为数据太少了,而几十年后查询不到有关数据是因为数据太多了。•针对这一问题,人们设想专门为业务数据的统计分析建立一个数据中心,它的数据从联机事务处理系统中来、从异构的外部数据源来、或从脱机的历史业务数据中来•这个数据中心也是一个联机系统,它专门为分析统计和决策支持应用服务,通过它可获取决策支持和联机分析应用所需要的一切数据。•这个数据中心就叫做数据仓库。简单地说,数据仓库就是一个作为决策支持和联机分析应用系统数据源的结构化数据环境,数据仓库要研究和解决的问题就是从数据库中获取信息的问题。什么是数据仓库?•数据仓库(DataWarehouse,简写为DW或DWH)•数据仓库的定义很多,但却很难有一种严格的定义–数据仓库是一个数据库,它与公司的操作数据库分开维护。–允许将各种应用系统集成在一起,为统一的历史数据分析提供坚实的平台,对信息处理提供支持•数据仓库区别于其他数据存储系统–“数据仓库是一个面向主题的、集成的、随时间而变化的、不容易丢失的数据集合,支持管理部门的决策过程.”—W.H.Inmon数据仓库的概念—教材上的定义–数据仓库是一个面向主题的(SubjectOriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(TimeVariant)的数据集合,通常用于辅助决策支持(DDS)数据仓库的发展–以报表为主–以分析为主–以预测模型为主–以营运导向为主–以实时数据仓库、自动决策应用为主数据仓库的特点–面向主题;–数据集成;–反映历史变化;–相对稳定的。数据仓库关键特征一——面向主题•面向主题,是数据仓库显著区别于关系数据库系统的一个特征–围绕一些主题,如顾客、供应商、产品等–关注决策者的数据建模与分析,而不是集中于组织机构的日常操作和事务处理。–排除对于决策无用的数据,提供特定主题的简明视图。数据仓库关键特征二——数据集成•一个数据仓库是通过集成多个异种数据源来构造的。•关系数据库,一般文件,联机事务处理记录•使用数据清理和数据集成技术。–确保命名约定、编码结构、属性度量等的一致性。–当数据被移到数据仓库时,它们要经过转化。数据仓库关键特征三——随时间而变化•数据仓库是从历史的角度提供信息–数据仓库的时间范围比操作数据库系统要长的多。•操作数据库系统:主要保存当前数据。•数据仓库:从历史的角度提供信息(比如过去5-10年)–数据仓库中的每一个关键结构都隐式或显式地包含时间元素,而操作数据库中的关键结构可能就不包括时间元素。数据仓库关键特征四——数据不易丢失•尽管数据仓库中的数据来自于操作数据库,但他们却是在物理上分离保存的。–操作数据库的更新操作不会出现在数据仓库环境下–不需要事务处理,恢复,和并发控制等机制–只需要两种数据访问:•数据的初始转载和数据访问(读操作)数据仓库与异种数据库集成比较–传统的异种数据库集成:(查询驱动)•在多个异种数据库上建立包装程序(wrappers)和中介程序(mediators)•查询驱动方法——当从客户端传过来一个查询时,首先使用元数据字典将查询转换成相应异种数据库上的查询;然后,将这些查询映射和发送到局部查询处理器–数据仓库:(更新驱动)•将来自多个异种源的信息预先集成,并存储在数据仓库中,供直接查询和分析查询驱动方法和更新驱动方法的比较•查询驱动的方法–需要负责信息过滤和集成处理–与局部数据源上的处理竞争资源–对于频繁的查询,尤其是涉及聚集(汇总)操作的查询,开销很大(决策支持中常见的查询形式)•更新驱动的方法(带来高性能)–数据经预处理后单独存储,对聚集操作提供良好支持–不影响局部数据源上的处理–集成历史信息,支持负责的多维查询数据仓库的组成•数据库•数据抽取工具•元数据•访问工具•数据集市•数据仓库管理工具•信息发布系统数据仓库数据库–数据仓库系统中的数据库是整个数据仓库系统的核心,是数据信息存放的地方,对数据提供存取和检索支持。相对于传统数据库来说,它突出的特点是对海量数据的支持和快速的检索技术。数据抽取工具–数据抽取工具把数据从各种各样的存储环境中提取出来,进行必要的转化、整理,再存放到数据仓库中。对各种不同的数据存储方式的访问能力是数据抽取工具的关键,数据转换通常包括:•删除对决策分析没有意义的数据•转换成统一的数据名称和定义•计算统计和衍生数据•填补缺失数据•统一不同的数据定义方式元数据–元数据是描述数据仓库内数据的结构和建立方法的数据。元数据(Metadata)是描述数据的数据。–在关系数据库中,数据是存放在表中的,表结构的定义、关于结构的描述就是元数据。在数据仓库中,元数据就是定义数据仓库对象的数据。–元数据分为:•技术元数据•业务元数据技术元数据–技术元数据是系统的开发和管理人员使用的、描述数据的技术细节的元数据。主要包括:–数据仓库结构的描述•仓库模式、视图、维、层次结构、导出数据的定义,以及数据集市的位置和内容–操作元数据•包括数据血统(datalineage)、数据类别(currencyofdata),以及监视信息–汇总用的算法–由操作环境到数据仓库的映射–关于系统性能的数据•索引,数据刷新、更新或复制事件的调度和定时数据仓库的组成•业务元数据(商务元数据)–从业务角度描述了系统中的数据,是介于使用者和真实系统之间的语义层,使得不懂计算机技术的业务人员也能够“理解”系统中的数据。–业务元数据主要包括:•用户的业务术语和它们表达的数据模型信息•对象名称及其属性•数据的来源信息和数据访问的规则信息。•商务术语和定义、数据拥有者信息、收费政策等元数据的作用–元数据与数据一起,构成了数据仓库中的数据模型,元数据所描述的更多的是这个模型的结构方面的信息。–在数据仓库中,元数据的主要用途包括:•用作目录,帮助决策支持系统分析者对数据仓库的内容定义•作为数据仓库和操作性数据库之间进行数据转换时的映射标准•帮助业务人员和技术人员更好地理解当前业务和系统数据•提高系统的管理效率。•便于系统集成和可重用访问工具•访问工具–访问工具是为用户访问数据仓库提供手段,如数据查询和报表、应用开发工具、数据挖掘工具和数据分析工具。数据集市•数据集市(DataMart),也叫数据市场。–数据集市是企业级数据仓库的一个子集,是为了特定的应用目的,从数据仓库中独立出来的一部分数据,也称为部门数据或主题数据。–在分析、内容、表现,以及易用性方面迎合专业用户群体的特殊需求。–在数据仓库的实施过程中,通常可以从一个部分的数据集市着手,再逐渐用几个数据集市组成一个完整的数据仓库(自底向上)。数据仓库的组成•数据仓库管理–数据仓库管理包括安全与权限管理、数据更新跟踪、数据质量检查、元数据的管理与更新、数据仓库使用状态的检测与审计、数据复制与删除、数据分割与分发、数据备份与恢复、数据存储管理等。•信息发布系统–信息发布系统是把数据仓库中的数据或其他相关的数据发送给不同的地点和用户。基于Web的信息发布系统是当前流行的多用户访问的最有效方法。数据仓库的体系结构典型的数据仓库系统结构•从系统构建方面来说,一个典型的数据仓库系统通常划分成四个模块:–数据源–数据存储和管理(数据仓库服务器)–OLAP服务器–前端工具与应用数据仓库架构数据仓库提取清理转换装入刷新OLAP服务器查询报告分析数据挖掘监控、整合元数据存储数据源前端工具输出数据集市操作数据库其他外部信息源数据存储和管理OLAP服务器数据源•数据源是数据仓库系统的基础,即系统的数据来源,通常包含企事业单位的各种内部信息和外部信息。–内部信息,例如存于操作型数据库中的各种业务数据和办公自动化系统中包含的各类文档数据;–外部数据,例如各类法律法规、市场信息、竞争对手的信息以及各类外部统计数据及其它有关文档等。数据的存储与管理•数据的存储与管理是整个数据仓库系统的核心。•存储–在现有各业务系统的基础上,对数据进行抽取、清理、并有效集成,按照主题进行重新组织,最终确定数据仓库的物理存储结构,同时组织存储数据仓库的元数据(包括数据仓库的数据字典、记录系统定义、数据转换规则、数据加载频率以及业务规则等信息)。•管理–对数据仓库系统的管理也就是对其相应数据库系统的管理,通常包括数据的安全、归档、备份、恢复等维护工作。OLAP服务器•OLAP(联机分析处理)是针对某个特定的主题进行联机数据访问、处理、分析,通过直观的方式,从多个维度、多种数据综合度进行分析,并将结果呈现给使用者。•OLAP让使用者能够从多角度对信息进行快速、一致、交互地存取。前端工具与应用•前端工具主要包括各种数据分析工具、报表工具、查询工具、数据挖掘工具(例如关联分析、分类、预测等)以及各种基于数据仓库或数据集市开发的应用。其中:–数据分析工具主要针对OLAP服务器–报表工具、数据挖掘工具既可以用于数据仓库,也可针对OLAP服务器OLTP和OLAP–联机事务处理OLTP(on-linetransactionprocessing)–联机分析处理OLAP(On-LineAnalyticalProcessing)。•OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。•OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果.背景•数据库系统作为数据管理手段,主要用于事务处理。在进行事务处理的同时,积累了大量的数据,传统决策支持系统一般就建立在这种事务处理环境上。•数据库技术一直在尽量胜任事务处理、批处理到分析处理,虽然在事务处理应用方面取得了成功,但分析处理的支持随着数据的增长越来越无法胜任。•结果就是将事务处理系统和分析处理系统分离,建立两个独立的系统。OLTP与OLAP比较OLTP•OLTP也称为面向交易的处理系统,其基本特征是顾客的原始数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果。这样做的最大优点是可以即时随地处理输入的数据,及时回答。也称为实时系统(RealtimeSystem)。•衡量联机事务处理系统的一个重要性能指标是系统性能,具体体现为实时响应时间(ResponseTime)•特点–OLTP支持大量并发用户定期添加和修改数据–反映随时变化的单位状态,但不保存其历史记录–具有复杂的结构。OLTP系统VS.OLAP系统比较(1)•用户和系统的面向性–面向顾客(事务)VS.面向市场(分析)•数据内容–当前的、详细的数据VS.历史的、汇总的数据•数据库设计–实体-联系模型(ER)和面向应用的数据库设计VS.星型/雪花模型和面向主题的数据库设计OLTP系统VS.OLAP系统比较(2)•数据视图–当前的、企业内部的数据VS.经过演化的、集成的数据•访问模式–事务操作VS.只读查询(但很多是复杂的查询)•任务单位–简短的事务VS.复杂的查询•访问数据量–数十个VS.数百万个OLTP系统VS.OLAP系统比较(3)•用户数–数千个VS.数百个•数据库规模–100M-数GBVS.100GB-数TB•度量–事务吞吐量VS.查询吞吐量、响应时间OLAP与数据仓库的区别•OLAP是大多数数据仓库系统用来呈现数据分析结果的方法之一。•数据仓库最重要的特性是数据集成,目的是有效信息数据的呈现。OLAP服务却不是数据集成而设计,但它是一种强大的数据呈现方法。•典型的OLAP服务常常源自一个或多个专门设计的数据集市。OLAP服务应该被看作数据仓库解决方案的一部分。OLAP分类•OLAP根据其存储数据的方式分为:ROLAP、MOLAP、HOLAP三类。–ROLAP(关系OLAP)结构:使用关系或扩充关系DBMS存储并管理数据仓库,OLAP中间件支持其余部分。在接收用户的请求时,ROLAP服务器将多维查询转换成SQL查询,由数据仓库服务器对以关系形式存放的数据执行SQL查询,最终将数据返回给终端用户。–MOLAP(多维OLAP)结构:核心是其数据存储采用矩阵(可能是多维方阵)方式,数据检索高效–