前言:
传统的操作型数据库主要面向业务的,所执行的操作基本上也是联机事务处理,随着企业规模的增长,历史积累的数据越来越多,如何利用历史数据来为未来决策服务,就显得越来越重要了,而数据仓库就是其中的一种技术。
概念:
著名的数据仓库专家一书中将数据仓库定义为,数据仓库是一个面向主题的,集成的,相对稳定的、且随时间而变化的数据集合,用于支持管理决策。
1. 面向主题的:
操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织的。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关,例如,一个保险公司所进行的事务处理,可以包含汽车保险,人寿保险,健康保险和意外保险等,而公司的主要范围可能是顾客、保险单和索赔等。
2. 集成的
在数据仓库的所有特性中,这是最重要的。面向事务处理的操作型数据库通常与某些特定的应用相关数据库之间相互独立,并且往往是异构的。而数据仓库中的数据是在对原有分散的数据数据库数据抽取,清理的基础上经过加工,汇总和整理得到的,必须清除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
3. 相对稳定的
操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库之后,一般情况下将被长期保留,也就是说数据仓库中一般有大量的查询操作,但是修改和删除操作很少,通常只需要定期的加载,刷新。
4. 随时间变化的
操作型数据库主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一个时间点到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
数据仓库反映历史变化的属性主要表现在:
1)数据仓库中数据时间期限要远远长于传统操作型数据系统中数据时间期限,传统操作型数据系统中的数据时间期限可能为数十天或者数个月,数据仓库中的数据时间期限往往是数年甚至几十年。
2)传统操作型数据系统中的数据含有当前值的数据,这些数据在访问时是有效的,当然数据的当前值也能被更新,但数据仓库中的数据仅仅是一系列某一时刻(可能传统操作型数据系统)生成复杂的快照。
3)传统操作型数据系统中可能包含时间元素,而数据仓库中一定包含时间元素。
数据仓库虽然是从传统数据库系统发展而来,但是两者还是存在着诸多差异,例如:从数据存储的内容看,数据库只存放当前值,而数据仓库则存放历史值;数据库数据的目标是面向业务操作人员的,为业务处理人员提供数据处理的支持,而数据仓库则是面向高层管理人员的,为其提供决策服务支持的。
数据仓库的结构:
从数据仓库的概念结构上看,一般来说,数据仓库系统要包含数据源、数据准备区、数据仓库数据库,数据集市、知识挖掘库及各种管理工具和应用工具;数据仓库建立之后,首先要从数据源中抽取相关的数据到数据准备区,在数据准备区中经过净化处理后再加载到数据仓库数据库,最后根据用户的需求将数据导入数据集市和知识挖掘库中。当用户使用数据仓库时,可以使用OLAP(联机分析处理)在内的多种数据仓库应用工具向数据集市、知识挖掘库或数据仓库进行决策查询分析或知识挖掘。数据仓库的创建、应用可以利用各种数据仓库管理工具辅助完成。
1. 数据仓库的参考框架
数据仓库的参考框架由数据仓库基本功能层,数据仓库管理层和数据仓库环境支持层组成。
1)数据仓库基本功能层。数据仓库的基本功能层部分包含数据源、数据准备区、数据仓库结构、数据集市或知识挖掘库,以及存取和使用部分。本层的功能是从数据源抽取数据,对所抽取的数据进行筛选、清理,将处理过的数据数据导入或者说加载到数据仓库中,根据用户的需求设立数据集市,完成数据仓库的复杂查询、决策分析和知识的挖掘等。
2)数据仓库管理。数据仓库的正常运行除了需要数据仓库的功能层提供的基本功能外,还需要对这些基本功能进行管理与支持的结构框架。数据仓库管理层由数据仓库的数据管理和数据仓库的元数据管理组成。
数据仓库的数据管理层包含数据抽取、新数据需求与查询管理,数据加载、存储、刷新和更新系统,安全性与用户授权管理系统及数据归档、恢复及净化系统四个部分。
3)数据仓库的环境支持层。数据仓库的环境支持层由数据仓库数据传输层和数据仓库基础层组成。数据仓库中不同结构之间的数据传输需要有数据仓库的传输层来完成。
数据仓库的传输层包含数据传输和传送网络、客户服务器代理和中间件、复制系统及数据传输层的安全保障系统。
2. 数据仓库的架构
1)数据源。是数据仓库系统的基础,是整个系统的数据源泉。通过包含企业的内部信息和外部信息。内部信息包括存放在RDBMS中的各种业务处理数据各类文档数据。外部信息包含各类法律法规,市场信息和竞争对手的信息等。
2)数据的存储与管理。是整个数据仓库的核心,数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别与传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进行抽取、清理、并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)
3)OLAP 服务器。对分析需要的数据进行有效的集成,按多维模型语义组织,以便进行多角度、多层次的分析、并发现趋势。其具体实现可以分为ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放与多维数据库中;
4)前端工具。主要包含各种报表工具、查询工具、数据分析工具、数据挖掘工具级各种数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器报表工具、数据挖掘工具主要针对数据仓库。
数据仓库的实现方法
数据仓库的特性决定了数据仓库的设计不同于传统的数据库设计方法,数据仓库的原始需求通常不是很明确,并且需求仍在不断变化、增加、所以,数据仓库的建立是一个过程,从建立简单的基本框架着手,不断丰富和完善整个系统。这一过程将由以下几个部分构成:需求分析、概念模型设计、逻辑模型设计、物理模型设计和数据仓库生成。
从整体的角度来看,数据仓库的视线方法主要有自顶向下法、自底向上法、联合方法三个;
1. 自顶向下法。在该方法中,首先应该找出数据仓库解决方案所满足的商业需求,把商业需求视为实现数据仓库的首要任务。数据仓库是一种功能而不是一种特征,数据仓库保存信息,并以外部工具易于显示和操作的方式组织这些信息。因此,如果不借助于可以利用这种功能的外部工具,最终用户就无法将这种功能嵌入数据仓库中。这样,就很难定出该功能的范围,除非用广义上的商业术语。如数据仓库包含有关客户、供应商、市场、产品的信息”
规划和实现数据仓库的自顶向下法一般用于以下情况:
1)实现单位比较熟悉技术,并具有商业需求采用自顶向下法开发应用程序的丰富经验。
2)决策层完全清楚数据仓库的预测目标
3)决策层完成请数据仓库用作哪些机构的决策支持工具
4)决策层完全清楚数据仓库已经是商业过程中的一个子过程
如果技术成熟和众所周知的,或者必须解决的商业问题是显而易见的,那么自顶向下法是很有用的。采用自顶向下法可以将技术和商业目标有机组合起来。
2.自底向上法。一般从实验和基于技术的原型入手。先选择一个特定的、众所周知的商业问题的子集,再为该子集制定方案。实现自底向上一般是比较快的。自底向上可以使单位在发展时尽可能少的经费和时间,就可以在做出有效的投入之前评估技术的收益情况。在数据仓库领域,自底向上法是快速实现数据集市、部门级数据仓库的有效手段。
规划和实现数据仓库的自底向上法一般用于以下情况:
1)企业还没有明确掌握数据仓库技术,希望进行技术评估来决定运行该技术的方式、地点和时间。
2)企业希望了解实现和运行数据仓库所需要的各种费用情况
3)企业对数据仓库进行投资的选择
自底向上法对于希望从数据仓库投资中快速得到回报的用户是非常有效的。该方法可以使企业充分利用各种技术,无须冒很大的风险。