数据仓库架构是一种定义数据通信处理和表示的整体架构的方法,该架构存在于企业内的终端客户端计算中。每个数据仓库都是不同的,但都以标准的重要组件为特征。
生产应用程序,如工资单应付账款产品采购和库存控制,是为在线交易处理(OLTP)而设计的。此类应用程序收集日常操作的详细数据。
数据仓库应用程序旨在支持用户特定的数据需求,这是一种最近被称为在线分析处理(OLAP)的活动。其中包括预测、分析、汇总报告和趋势分析等应用程序。
生产数据库通过手动或OLTP应用程序不断更新。相比之下,仓库数据库是从操作系统定期更新的,通常是在下班时间。随着OLTP数据在生产数据库中积累,它会被定期提取、过滤,然后加载到用户可以访问的专用仓库服务器中。在填充仓库时,必须对其进行重构,使表去标准化,清除数据中的错误和冗余,并添加新的字段和键,以反映用户对数据排序、组合和汇总的需求。
数据仓库及其架构在很大程度上取决于组织情况的要素。
三种常见的架构是:
- 数据仓库架构:基础
- 数据仓库架构:带暂存区
- 数据仓库架构:具有暂存区和数据集市
数据仓库架构:基础
运营系统
操作系统是数据仓库中使用的一种方法,指的是用于处理组织日常事务的系统。
平面文件
平面文件系统是存储事务数据的文件系统,系统中的每个文件都必须有不同的名称。
元数据
一组数据,用于定义和提供有关其他数据的信息。
数据仓库中用于各种目的的元数据,包括:
- 元数据总结了有关数据的必要信息,这可以使查找和处理特定的数据实例变得更容易访问。例如,作者、数据构建、数据更改以及文件大小都是非常基本的文档元数据的示例。
- 元数据用于将查询定向到最合适的数据源。
简要而高度概括的数据
数据仓库的区域保存由仓库管理器生成的所有预定义的轻度和高度汇总(聚合)的数据。
摘要信息的目标是加快查询性能。随着新信息加载到仓库中,汇总记录会不断更新。
最终用户访问工具
数据仓库的主要目的是为业务经理提供战略决策所需的信息。这些客户使用终端客户端访问工具与仓库进行交互。
一些最终用户访问工具的示例可以是:
- 报告和查询工具
- 应用程序开发工具
- 高管信息系统工具
- 在线分析处理工具
- 数据挖掘工具
数据仓库架构:带暂存区
在将您的操作信息放入仓库之前,我们必须对其进行清理和处理。
可以通过编程实现这一点,尽管数据仓库使用暂存区(数据在进入仓库之前进行处理的地方)。
暂存区简化了来自多个源系统的操作方法的数据清理和整合,尤其是对于整合企业所有相关数据的企业数据仓库。
数据仓库暂存区是一个临时位置,用于复制源系统中的记录。
数据仓库架构:具有暂存区和数据集市
我们可能希望为组织内的多个组定制仓库的架构。
我们可以通过添加数据集市来做到这一点。数据集市是数据仓库的一部分,它可以为公司的部门、单位、部门或运营提供信息和报告,例如销售、工资、生产等。
该图举例说明了采购、销售和库存是分开的。在这个例子中,金融分析师想要分析购买和销售的历史数据,或者挖掘历史信息来预测客户行为。
数据仓库架构的财产
数据仓库系统需要以下架构财产:
- 1.分离:分析处理和事务处理应尽可能分开。
- 2.可扩展性:硬件和软件架构应该很简单,可以升级必须管理和处理的数据量,并且必须满足的用户需求数量会逐渐增加。
- 3.可扩展性:架构应该能够在不重新设计整个系统的情况下执行新的操作和技术。
- 4.安全性:由于数据仓库中存储着战略数据,因此监控访问是必要的。
- 5.可管理性:数据仓库管理不应复杂。
数据仓库架构的类型
单层架构
单层架构在实践中没有定期使用。其目的是最大限度地减少为实现这一目标而存储的数据量;它消除了数据冗余。
该图显示了物理上唯一可用的层是源层。在这种方法中,数据仓库是虚拟的。这意味着数据仓库被实现为由特定中间件或中间处理层创建的操作数据的多维视图。
该架构的漏洞在于它无法满足分析处理和事务处理之间分离的要求。在中间件对分析查询进行解释之后,分析查询就与操作数据达成一致。通过这种方式,查询会影响事务性工作负载。
两层架构
分离要求在定义数据仓库系统的双层架构中起着至关重要的作用,如图所示:
尽管它通常被称为两层架构,以强调物理可用源和数据仓库之间的分离,但事实上,它由四个后续数据流阶段组成:
- 源层:数据仓库系统使用异构的数据源。这些数据最初存储在公司关系数据库或遗留数据库中,也可能来自公司墙外的信息系统。
- 数据暂存:存储到源的数据应该被提取、清理以消除不一致性和填补空白,并进行集成以将异构源合并到一个标准模式中。所谓的提取、转换和加载工具(ETL)可以组合异构模式,提取、转换、清理、验证、过滤源数据,并将其加载到数据仓库中。
- 数据仓库层:信息保存到一个逻辑集中的单个存储库:数据仓库。数据仓库可以直接访问,但也可以用作创建数据集市的源,数据集市部分复制数据仓库内容,并为特定的企业部门设计。元数据存储库存储有关源、访问过程、数据暂存、用户、数据集市模式等的信息。
- 分析:在这一层中,可以高效、灵活地访问集成数据,以发布报告、动态分析信息和模拟假设的业务场景。它应该具有聚合信息导航器、复杂查询优化器和客户友好的GUI。
三层架构
三层架构由源层(包含多个源系统)、协调层和数据仓库层(包含数据仓库和数据集市)组成。协调层位于源数据和数据仓库之间。
协调层的主要优点是它为整个企业创建了一个标准的参考数据模型。同时,它将源数据的提取和集成问题与数据仓库人口的问题分开。在某些情况下,协调层还直接用于更好地完成一些操作任务,例如使用公司应用程序生成无法令人满意地准备的每日报告,或者生成数据流定期向外部流程提供数据,以从清洁和集成中受益。
这种架构对于广泛的、企业范围的系统特别有用。这种结构的缺点是通过额外的冗余协调层使用额外的文件存储空间。这也使得分析工具离实时性有点远。
三层数据仓库架构
数据仓库通常具有三级(分层)架构,包括:
- 底层(数据仓库服务器)
- 中间层(OLAP服务器)
- 顶层(前端工具)。
由数据仓库服务器组成的底层,该服务器几乎总是RDBMS。它可能包括几个专门的数据集市和一个元数据存储库。
使用称为网关的应用程序接口提取来自操作数据库和外部来源的数据(如外部顾问提供的用户配置文件数据)。网关由底层DBMS提供,并允许客户程序生成要在服务器上执行的SQL代码。
网关的示例包括Microsoft的ODBC(开放数据库连接)和OLE-DB(数据库的开放链接和嵌入),以及JDBC(Java数据库连接)。
由OLAP服务器组成的中间层,用于快速查询数据仓库。
OLAP服务器使用以下任一方法实现
(1) 关系OLAP(ROLAP)模型,即将多维数据上的函数映射到标准关系操作的扩展关系DBMS。
(2) 多维OLAP(MOLAP)模型,即直接实现多维信息和操作的特定用途服务器。
顶层,包含用于显示OLAP提供的结果的前端工具,以及用于OLAP生成数据的数据挖掘的附加工具。
整个数据仓库架构如图所示:
元数据存储库存储定义DW对象的信息。它包括用于中高层应用程序的以下参数和信息:
- DW结构的描述,包括仓库模式、维度、层次结构、数据集市位置和内容等。
- 操作元数据,通常描述存储数据的货币级别,即活动、存档或清除数据,以及仓库监控信息,即使用统计、错误报告、审计等。
- 系统性能数据,包括索引,用于提高数据访问和检索性能。
- 来自操作数据库的映射信息,提供源RDBMS及其内容、清理和转换规则等。
- 摘要算法、预定义查询和报告业务数据,包括业务术语和定义、所有权信息等。
数据仓库原则
负载性能
数据仓库需要在狭窄的时间窗口内定期增加新数据的加载;负载过程的性能应该以每小时数亿行和千兆字节来衡量,并且不能人为地限制数据业务的数量。
加载处理
必须经过许多阶段才能将新数据或更新数据加载到数据仓库中,包括数据转换、筛选、重新格式化、索引和元数据更新。
数据质量管理
基于事实的管理要求最高的数据质量。仓库确保了本地一致性、全局一致性和引用完整性,尽管有“脏”的源和巨大的数据库大小。
查询性能
数据仓库RDBMS的性能决不能减缓基于事实的管理;大型复杂查询必须在几秒钟内完成,而不是几天。
兆字节可扩展性
数据仓库的规模正在以惊人的速度增长。如今,这些数据仓库的大小从几GB到几百GB不等。
- 登录 发表评论
- 44 次浏览
最新内容
- 6 days 19 hours ago
- 6 days 19 hours ago
- 6 days 20 hours ago
- 6 days 20 hours ago
- 6 days 20 hours ago
- 1 week 5 days ago
- 1 week 6 days ago
- 2 weeks 2 days ago
- 2 weeks 2 days ago
- 2 weeks 2 days ago