配色: 字号:
数据仓库系统
2022-02-14 | 阅:  转:  |  分享 
  
数据仓库系统

胡经国

1、数据仓库概述

数据仓库DataWarehouse,DW或DWH,是为企业所有级别的决策制定过程提供所有类型数据支持的战略集合。它是分析性报告和决策支持目的而创建。为需要业务智能的企业提供业务流程改进、监视时间、成本、质量控制。

数据仓库是一个信息提供平台从业务处理系统获得数据,主要以星型模型和雪花模型进行数据组织,并且为用户提供各种手段从数据中获取信息和知识。

数据仓库是决策支持系统()和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。

2、数据仓库定义

目前,数据仓库没有统一的定义由著名数据仓库专家数据仓库之父W.H.Inmon于1990年提出在1991年出版的BuildingtheDataWarehouse”(《数据仓库建设》)一书中所提出的定义被广泛接受数据仓库(DataWarehouse)是一个面向主题的(SubjectOriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(TimeVariant)的数据集合,用于管理决策支持DecisionMakingSupport,决策支持。

对于数据仓库的可以从两个层次理解

首先,数据仓库用于决策支持,面向分析型数据处理它不同于企业现有的操作型数据库

其次,数据仓库是对多个异构数据源有效集成,集成后按照主题进行了重组,并且包含历史数据而且存放在数据仓库中的数据一般不再修改。

数据仓库主要功能是将组织透过资讯系统联机交易处理OnlineTransactionProcessing,OLTP)经年累月所累积的大量资料,透过数据仓库理论所特有的资料存架构,作一有系统的分析整理,以利各种分析方法如线分析处理OnlineAnalyticalProcessing,OLAP)、数据挖掘DataMining)的进行,并进而支持如决策支持系统DecisionSupportSystem,DSS)、主管资讯系统EIS)的创建,帮助决策者能快速有效大量资料中分析出有价值的资讯,以利决策拟定及快速回应外在环境变动,帮助构商业智能BusinessIntelligence,BI)。

从功能结构划分,数据仓库至少应该包含数据获取(DataAcquisition)、数据存储(DataStorage)、数据访问(DataAccess)三个关键部分。

根据数据仓库的义,操作型数据库数据仓库有以下个特点:、面向主题数据仓库是面向主题的

操作型数据库的数据组织面向事务处理任务,各个业务系统之间是各自分离的

面向主题,是指数据仓库中的是按照一定的主题进行组织而不是像业务支撑系统那样是按照业务功能进行组织的。主题是指用户使用数据仓库进行决策时所关心的重点方面如收入、客户、销售渠道等一个主题通常与多个操作型信息系统相关。、集成数据仓库是集成的

面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。数据仓库中的不是从各个业务系统中简单地抽取出来的,是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总而得到的数据仓库的信息是关于整个企业的一致的全局信息。、相对稳定数据仓库是不可更新的

操作型数据库中的数据通常实时更新,根据需要及时发生变化。

数据仓库主要决策分析,所涉及的数据操作主要是数据查询一旦某一个数据在进入数据仓库以后,一般情况下将被长期保留也就是数据仓库中一般有大量的查询操作,但是修改和删除操作很少,通常只需要定期加载、刷新。、反映历史变化数据仓库是随时间而变化的

操作型数据库主要关心当前某一个时间段内的数据

随时间变化,是指数据仓库中的并不只是反映企业当前的状态,通常包含历史信息系统记录了企业从过去某一时点如开始应用数据仓库的时点到目前的各个阶段的信息通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。

三、数据仓库建设的特点

数据仓库是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的它并不是所谓的大型数据库。数据仓库建设的目的,是为前端查询和分析基础由于有较大的冗余,需要的存储也较大。为了更好地为前端应用Front-endApplication)服务,数据仓库往往有如下几点特点:效率足够高

数据仓库的分析数据一般分为日、周、月、季、年等可以看出,日为周期的数据要求的效率最高要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟13日才能给出数据,显然不行的。数据质量

数据仓库所提供的各种信息,肯定要准确的数据但由于数据仓库流程通常分为多个步骤,包括数据清洗,装载,查询,展现等等,复杂的架构会更多层次,由于数据源有脏数据或者代码不严谨,都可以导致数据失真客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。扩展性

之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来35年的扩展性这样的话,未来不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了。基于数据仓库的决策支持系统组成

从上述可知,数据仓库技术可以将企业多年积累的数据唤醒,不仅为企业管理好这些海量数据,而且挖掘数据潜在的价值从而成为通信企业运营维护系统的亮点之一。

正因为如此,广义说,基于数据仓库的决策支持系统由三组成:数据仓库技术,联机分析处理技术和数据挖掘技术其中数据仓库技术是系统的核心一个典型的数据仓库架构



它包括一些工具。这些工具可以用来从多种操作型数据库和外部源中提取数据,并且清洗、转换和整合这些数据,然后把数据加载到数据仓库定期刷新仓库来更新源和清除仓库的数据或者是慢归档存储。

除了主仓库可能会有好几个部门数据集市。存储在数据仓库和数据集市的数据,由一个或多个仓库服务器管理,并呈现数据的多维视图给不同的前端工具,如查询工具、报告作者、分析工具和数据挖掘工具。

最后还有一个存储库用于存储和管理元数据并为监测和管理仓系统。是数据仓库系统的基础,是整个系统的数据源泉。通常,它包括:企业内部信息和外部信息。内部信息包括:存放于RDBMS中的各种业务处理数据和各类文档数据。外部信息包括:各类法律法规、市场信息和竞争对手的信息等等

RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统是将数据组织为相关的行和列的系统,而管理关系数据库的计算机软件就是关系数据库管理系统常用的有Oracle、SQLServer等。数据的存储与管理

数据的存储与管理是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。

若要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。

数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。OLAP服务器(OLAPServers,在线分析处理服务器)

OLAP(OnlineAnalyticalProcessing,在线分析处理,又叫做联机分析处理是数据仓库系统最主要的应用专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员,以便让他们准确掌握企业公司的经营状况,了解对象的需求,制定正确的方案。

数据仓库与OLAP的关系是互补的现代OLAP系统一般以数据仓库作为基础,即从数据仓库中抽取详细数据的一个子集并经过必要的聚集存储到OLAP存储器中供前端分析工具读取。

OLAP系统按照其存储器数据存储格式可以分为

关系OLAP(RelationalOLAP,ROLAP关系型在线分析处理)

多维OLAP(MultidimensionalOLAP,MOLAP多维在线分析处理)

混合型OLAP(HybridOLAP,HOLAP混合型线分析处理)

ROLAP基本数据和聚合数据均存放在RDBMS)之中;

MOLAP基本数据和聚合数据均存放多维数据库中;

HOLAP基本数据存放RDBMS)之中,聚合数据存放多维数据库中。主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器报表工具、数据挖掘工具主要针对数据仓库。把数据从各种各样的存储方式中拿出来,进行必要的转化、整理,再存放到数据仓库内。对各种不同数据存储方式的访问能力是数据抽取工具的关键应能生成COBOL程序、MVS作业控制语言(JCL)、UNIX脚本、和SQL语句等,以访问不同的数据。数据转换都包括删除对决策应用没有意义的数据段;转换到统一的数据名称和定义;计算统计和衍生数据;给缺值数据赋给缺省值;把不同的数据定义方式统一。COBOL

COBOL(CommonBusinessOrientedLanguage)是数据处理领域最为广泛的程序设计语言,是第一个广泛使用的高级编程语言。在企业管理中,数值计算并不复杂,但数据处理信息量却很大。为专门解决经企管理问题,于1959年,由美国的一些计算机用户组织设计了专用于商务处理的计算机语言COBOL并于1961年美国数据系统语言协会公布。经不断修改、丰富完善和标准化,目前COBOL已发展为多种版本。是整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。相对于操纵型数据库来说其突出的特点是对海量数据的支持和快速的检索技术。

元数据是描述数据仓库内数据的结构和建立方法的数据。可将其按用途的不同分为两类技术元数据和商业元数据。

技术元数据是数据仓库的设计和管理人员用于开发和日常管理数据仓库使用的数据。包括:数据源信息;数据转换的描述;数据仓库内对象和数据结构的定义;数据清理和数据更新时用的规则;源数据到目的数据的映射;用户访问权限,数据备份历史记录,数据导入历史记录,信息发布历史记录等。

商业元数据从商业业务的角度描述数据仓库中的数据。包括:业务主题的描述,包含的数据、查询、报表

元数据为访问数据仓库提供了一个信息目录(nformationDirectory)这个目录全面描述了数据仓库中都有什么数据这些数据怎么得到的怎么访问这些数据是数据仓库运行和维护的中心数据仓库服务器利用来存贮和更新数据用户通过来了解和访问数据。()为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据(ubjectArea)。在数据仓库的实施过程中往往可以从一个部门的数据集市着手后再用几个数据集市组成一个完整的数据仓库。需要注意的是在实施不同的数据集市时,同一含义的字段定义一定要相容这样在以后实施数据仓库时才不会造成大麻烦。安全和特权管理;跟踪数据的更新;数据质量检查;管理和更新元数据;审计和报告数据仓库的使用和状态;删除数据;复制、分割和分发数据;备份和恢复;存储管理把数据仓库中的数据或其他相关的数据发送给不同的地点或用户。基于Web的信息发布系统是对付多用户访问的最有效方法。为用户访问数据仓库提供手段。有数据查询和报表工具;应用开发工具;管理信息系统(EIS)工具;在线分析(OLAP)工具;数据挖掘工具。

2、数据仓库设计仓库可能被设计成分布式,以得到负载均衡可伸缩性和高可用性。在这样一个分布式体系结构,元数据存储库通常是在每个节点的仓库都进行备份的整个仓库集中管理的。仓库或数据集市的联合仓库可能被设计成另一体系结构仓库或数据集市的联合每个仓库或者数据集市都有自己的存和分级管理。该设计实现力求使用方便,可能花费过于昂贵的代价来构造一个逻辑集成的企业仓库。

企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础。数据仓库不是静态的概念只有把信息及时交给需要这些信息的使用者,供他们做出改善其业务经营的决策,信息才能发挥作用,信息才有意义。

把信息加以整理归纳和重组,并且及时提供给相应的决策人员,是数据仓库的根本任务。因此,从产业界的角度看,数据仓库建设是一项工程,是一个过程。

设计和推出一个数据仓库是一个复杂的过程包括以下活动:定义体系结构容量规划并选择存储服务器、数据库和OLAP服务器和工具。整合服务器、存储和客户端工具。设计仓库表和视图。定义物理仓库组织,数据布局、分区和访问方法。使用网关、ODBCOpenDatabaseConnectivity,开放数据库互连驱动程序或其他的包装器连接数据源,。设计和实现数据提取、清洗、转换、加载和刷新的脚本。脚本

脚本(Script)是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本是批处理文件的延伸,是一种纯文本保存的程序一般说的计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等。存表和视图的定义、脚本和其他元数据。设计和实现终端用户应用程序。推出仓库和应用程序。

4、后端工具和实用程序

数据仓库系统使用各种数据提取和清洗工具录入仓库的加载和更新的实用程序。通常外来源的数据提取的实现需要通过网关和标准接口如InformationBuildersEDA/SQLODBC,Oracle?OpenConnect,SybaseEnterpriseConnect,InformixEnterpriseGateway)。

由于数据仓库是用于决策数据仓库中数据正确性非常重要的。然而大量的数据来自多个参与的数据源数据中出现错误和异常的概率很高。因此帮助检测数据的异常和对其进行改正的工具,可以带来很高效益。在一些情况下,数据清洗显得非常有必要字段长度不一致不一致的描述不一致的价值分配缺失的条目和违背完整性约束。可想而知数据录入表中的可选字段是不一致数据的重要来源。

有三个相关但不同类数据清理工具数据迁移工具可以制定简单的转换规则例如用性别种类来替换性别字符串。Prism的WarehouseManager是这种类型的工具中比较流行的一个。数据清理工具使用特定领域的知识来对数据进行清理。们经常利用解析和模糊匹配技术来完成来多个源的数据清洗。一些工具可以指定源的相对清洗。Integrity和Trillum等工具属于此类。Integrity

Integrity是GreenHillsSoftware公司开发的一个安全、无版权税的实时操作系统。数据审计工具可以通过扫描数据从而发现规则和关系或提醒违背了规定的规则。因此这样的工具可以认为是数据挖掘工具的变体。这样的工具可能会发现一个可疑的样本基于统计分析,例如某汽车经销商从未收到任何投诉。

提取、清洗和转换后数据必须被加载到仓库。额外的预处理可能仍然被需要检查完整性约束排序通过总结、聚合和其他计算来建立存储在仓库中的派生表创建目录和其他访问路径分区实现多个目标存储区域。通常情况下量装载工具可以用来做这件事。除了填充仓库一个负载工具必须允许系统管理员监控状态取消、挂起和恢复一个负载失败后重启而没有损失数据的完整性。

数据仓库的加载工具必须处理比操作数据库更大规模的数据量。只有一个小时间窗口中通常在晚上,仓库可以离线刷新它。连续加载会花费很长的时间例如加载TB级的数据会花几周和几个月时间因此通常需要利用管线式和分区式的并行性。进行一个满载的优势在于它可以被视为一个长的批处理事务,来建立一个新的数据库。虽然在运行中但是当前数据库仍然可以支持查询当负载事务提交时当前数据库被新的数据库所取代。使用周期检查点保证,如果加载过程中发生了失败这个进程从上个检查点重启。

然而即使使用并行性一个满载可能仍然需要太长的时间。大多数商业工具如RedBrickTableManagementUtility)在刷新过程中使用增量加载,来降低必须被纳入仓库的数据规模只插入更新的元组。然而这样的加载过程更加难以管理了。增量加载会与正在进行的查询起冲突所以它被作为一个短事务定期提交,如,每隔1000个记录或每隔几秒但这样一来这个事务的序列必须被设计,来确保导出数据与基础数据的索引的一致性。







10







献花(0)
+1
(本文系胡经国图书...原创)