数据仓库系统的体系结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
体系结构
数据源
是数据仓库系统的基础,是整个系统的数据源泉。通常包括企业内部信息和外部信息。内部信息包括存放于RDBMS中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等等;
数据的存储与管理
是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。
OLAP(联机分析处理)服务器
对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。其具体实现可以分为:ROLAP(关系型在线分析处理)、MOLAP (多维在线分析处理)和HOLAP(混合型线上分析处理)。ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。
数据仓库系统的体系结构
数据仓库系统通常是对多个异构数据源的有效集成,集成后按照主题进行重组,包含历史数据。存放在数据仓库中的数据通常不再修改,用于做进一步的分析型数据处理。
数据仓库系统的建立和开发是以企事业单位的现有业务系统和大量业务数据的积累为基础的。数据仓库不是一个静态的概念,只有把信息适时的交给需要这些信息的使用者,供他们做出改善业务经营的决策,信息才能发挥作用,信息才有
意义。因此,把信息加以整理和重组,并及时提供给相应的管理决策人员是数据仓库的根本任务。数据仓库的开发是全生命周期的,通常是一个循环迭代的开发过程。
一个典型的数据仓库系统通常包含数据源、数据存储和管理、OLAP服务器以及前端工具与应用四个部分。
1、数据源
数据源是数据仓库系统的基础,即系统的数据来源,通常包含企业(或事业单位)的各种内部信息和外部信息。内部信息,例如存于操作型数据库中的各种业务数据和办公自动化系统中包含的各类文档数据;外部数据,例如各类法律法规、市场信息、竞争对手的信息以及各类外部统计数据及其它有关文档等。
2、数据的存储与管理
数据的存储与管理是整个数据仓库系统的核心。在现有各业务系统的基础上,对数据进行抽取、清理、并有效集成,按照主题进行重新组织,最终确定数据仓库的物理存储结构,同时组织存储数据仓库的元数据(包括数据仓库的数据字典、记录系统定义、数据转换规则、数据加载频率以及业务规则等信息)。
按照数据的覆盖范围和存储规模,数据仓库可以分为企业级数据仓库和部门级数据仓库。对数据仓库系统的管理也就是对其相应数据库系统的管理,通常包括数据的安全、归档、备份、维护和恢复等工作。
3、 OLAP服务器
OLAP服务器对需要分析的数据按照多维数据模型进行重组,以支持用户随时从多角度、多层次来分析数据,发现数据规律与趋势。
如前所述,OLAP服务器通常有如下3种实现方式:
(1) ROLAP基本数据和聚合数据均存放在RDBMS之中
(2) MOLAP基本数据和聚合数据存放于多维数据集中
(3) HOLAP是ROLAP与MOLAP的综合,基本数据存放于RDBMS之中,聚合数据存放于多维数据集中。
4、前端工具与应用
前端工具主要包括各种数据分析工具、报表工具、查询工具、数据挖掘工具以及各种基于数据仓库或数据集市开发的应用。
其中,数据分析工具主要针对OLAP服务器;报表工具、数据挖掘工具既可以用于数据仓库,也可针对OLAP服务器。
数据仓库系统的体系结构根据应用需求的不同,可以分为以下4种类型:
1、两层架构(generic two-level architecture)
2、独立型数据集市(independent data mart)
3、依赖型数据集市和操作型数据存储(dependent data mart and operational data store)
4、逻辑型数据集市和实时数据仓库(logical data mart and real-time data warehouse)
独立的数据仓库体系结构
通常的数据仓库是两层体系结构,如图所示,构造这种体系结构需要以下4个基本步骤:
1、数据是从各种内外部的源系统文件或数据库中抽取得到。
在一个大的组织中,可能有几十个甚至几百个这样的文件和数据库系统
2、不同源系统中的数据在加载到数据仓库之前需要被转换和集成。
甚至可能需要发送一些事务信息到源系统中,以纠正在数据分段传输中发现的错误。
3、建立为决策支持服务的数据库,即数据仓库,它通常会同时包括详细的和概括的数据
4、用户通常SQL查询语言谨分析工具访问数据仓库,其结果又会反馈到数据仓库和操作型数据库中。
数据仓库环境最重要的三个环节包括:抽取(extract)、转换(transform)、加载(load,把数据从源数据库系统加载到数据仓库),即ETL过程。
抽取和加载通常是定期的,即每天、每星期或每个月。因此,数据仓库常常没有或者说不需要当前的数据。数据仓库不支持操作型事务处理,虽然它含有事务型数据(但更多的是事务的概括和变量状态的快照,如帐户余额和库存级别)。对大多数数据仓库应用来说,用户寻找的不是对个别事务的反应,而是寻求包括在整个数据仓库中的一个特定的子集上的企业(或其它组织)状态的趋势和模式。例如,通常会有5个季度以上的财务数据保存在数据仓库中,以便识别趋势和模式。太陈旧的数据,如果确定对决策分析已没有意义,也可被清除或者存档。基于独立的数据集市的数据仓库的体系结构
一些企业或事业组织由于其特殊的业务需求或历史原因,刚开始时并没有建立数据仓库,而是创建了许多分离的数据集市。其实,每一个数据集市都是基于数据仓库技术的,而不是基于事务处理的数据库技术。数据集市是范围受限的小型数据仓库,常适用于特定终端用户群决策应用。
在这种情况下,每个独立数据集市的内容都来自于独立的ETL处理过程。数据集市被设计用来优化定义明确的和可预测的使用性能,通常包括单个或一组针对某特殊应用的查询功能,如市场数据集市、财务数据集市、供应链数据集市等。相对于其它数据仓库体系结构,独立型数据集市策略的一个明显的特征是:当需要访问分离的数据集市的中的数据时,对终端用户来说具有相对的复杂性。这个复杂性不仅来自于从分离的数据集市数据库访问数据,而且可能来自于不一致的数据系统产生的数据集市。
如果有一个元数据集合跨越所有的数据集市,且数据集市上的数据通过数据分段传输时保存一致(即数据分段传输中拥有“一致维”),那么,对用户来说复杂性就减小了。另一方面是其ETL处理的复杂性,因为需要为每一个独立的数据集市创建一个抽取、转换、加载过程。
因为一个企业或事业组织集中于一系列的短期的业务目的,独立的数据集市经常被建立。有限的短期目标同需要相对较低成本来实现更加独立的数据集市相兼容。然而,从数据仓库体系结构的角度来说,围绕一些不同的短期目标来设计整个数据仓库环境,意味着失去了应用长期目标及业务环境变化的能力和灵活性。而这种应对能力对决策支持来说是至关重要的。
采用这种体系结构的优点是其方便性,可快速启动,这种数据仓库架构可通过一系列的小项目来实现。在一个大的企业或事业单位中,相对于使所有的下属组织在一个中心数据仓库中形成一致视图来说,在组织上,政策上更容易拥有独立的,小型数据仓库。另外,一些数据仓库技术在它们支持的数据仓库大小上有一定的局限性(或称为可扩展性),但是,如果在理解数据仓库业务需求之前就把自己局限在特定的数据仓库技术上,则是由技术决定的数据仓库体系结构,而通常的情况是业务需求才是最关键的技术架构决定因素。
独立型数据集市架构的局限性包括如下方面: