天天看点

IBM数据仓库技术架构设计方案

作者:优享智慧方案

来源网络,旨在交流学习,如有侵权,联系速删, 更多参考公众号:优享智库

数据仓库技术架构

技术架构必须具有高度先进性和可扩展性,以满足业务需求的不断变化。一个完整的数据仓库系统包括数据源、数据转换区、数据仓库、数据集市、和数据展现层,通过数据仓库不同层次之间的加工过程,实现财政从数据资产向信息资产的转化过程。在不同层次之间的数据加工过程需要通过ETL技术实现,并对整个过程进行有效的元数据管理。

IBM数据仓库技术架构设计方案

技术架构

如上图所示意,通过搭建灵活的、可扩展技术架构,在保持数据集市稳定性的同时,可以不断增加数据源,增加应用数据层、增加应用层,满足不断增加的业务分析应用需求。

采用DW+ODS的数据仓库体系结构,使用全新的ETL模式对ODS进程每日数据更新,按周或月周期对数据仓库执行ETL过程。使用COGNOS BI做为前端的查询分析和数据挖掘工具,可满足各种日常数据处理操作,从即时简单报表查询到多维多级数据分析和挖掘,都能够在统一COGNOS BI平台上完成。

数据源和数据接口

数据仓库系统将采用文本文件的方式从源系统获取数据。每个源系统会就与数据仓库之间就传输数据接口文件(IFF)的格式和方法制定标准,称之为接口规范。

每个数据源会首先通过各自的数据导出程序(Extractor)生成接口文件存储在各自的文件缓冲区内。这个Extractor负责各自范围内导出数据的完备性和一致性,包括:

1) 依照各自的业务规则确定增量数据的导出方法

2) 保证导出文件的格式符合接口规范的要求

3) 保证导出文件的传输时间的及时性

4) 保证接口文件的数据质量,不错数、不丢数、不多数

财政数据仓库

财政数据仓库(EDW),存储和管理来自源数据系统的数据,按照数据模型分主题进行组织和存放,包括当期的和较长时间的历史数据。数据仓库的核心是企业级数据模型的规划和设计,是所有应用的基础。接下来我们分别对EDW每个数据区域做详细介绍。

1) 接口文件区

接口文件区是存储和处理接口文件的区域,如前面章节所述,接口文件区在系统下按照特定的目录结构组织起来。用一些系统命令和工具来管理。对每个目录按照其特定的用途设定对不同用户的访问权限,比如谁能读,谁能写,谁能改等。

2) 细节数据暂存区SSA(SOR Staging Area)

SSA的主要目的是支持把接口文件的装载到数据库,对其进行验证和处理,然后把数据整合到SOR内。验证的方法主要是将新转载的数据与SOR内已有的数据进行查找和比较。SSA内数据结构的设计原则是最大限度的利用接口文件的数据结构,尽量降低实体的个数,同时很好的支持后续的ETL过程。

3) 细节数据SOR(System Of Record)

SOR是基于模型开发的一套符合3NF范式规范的表结构。SOR存储了数据仓库内最细节层次的数据,按照不同的主题域进一步分分类组织。此模型是整个数据仓库数据模型的核心,其设计为具有足够的灵活性,以能够应对添加更多的数据源,支持更多分析需求,同时也能够支持进一步升级和更新。

为了能够在数据仓库内记录数据的变化以支持历史趋势和变化分析,SOR在一些 关键的属性值上会跟踪变化(比如客户的信用度、状态等)。跟踪变化的常见方法就是利用渐变维的Type 2方法来处理记录,在表内增加一条记录变化数据的新记录。同时为了降低不必要的存储空间的浪费(相同数据的重复存储),我们可以把实体中动态变化的属性与静态不变或只需覆盖不需跟踪变化的属性分开。比如对用户,我们可以用一张表存放不变化的用户静态属性,用另一张表存放经常变化的用户行为属性,当跟踪用户行为的变化时我们只需在用户行为表内添加记录就行了,没必要把没有发生变化的用户静态表内的数据也复制一份。

4) 汇总数据区Summary

汇总数据区是为了方便查询和后续多维数据的更新,创建一些常用的中间汇总表,以提高性能和降低后续ETL工作的复杂性。

由于SOR是高度规范化的数据,因此要完成一个查询需要大量的关联操作;同时数据集市中的数据粒度往往要比SOR高很多,对要成生数据集市所需数据也需要大量的汇总计算,因此如果我们把常用的数据预先关联和汇总好,并让其尽量多在多个数据集市的计算中共享,就能大幅度的提高整个ETL工作和数据仓库查询的性能。

5) 反馈数据区(Feedback Area)

反馈数据区主要记录的是数据仓库自身生成的结果。比如用户对营销活动的反馈等。数据仓库的特性决定了用户在原则上不能直接修改数据仓库中的数据,因此用户的修改数据和其它生成数据必须单独记录,以便于追踪历史和进行比较。

6) 元数据存储MDR(Meta Data Repository)

元数据存储用来保存关于数据仓库中的过程、数据的信息(日志、数据词典、配置信息等)。由于各个工具和系统都会生成自己的元数据,同时我们还利用元数据管理工具把这些元数据尽可能的集中存储到数据仓库中的MDR内,因此MDR总的来说只是一个共享元数据供用户集中访问的地方,真正元数据的维护地还是在生成这些元数据的系统或工具内。

数据集市

数据集市设计用途是要满足特定的目的,同时具有查询、多维分析、报表和数据挖掘功能。这与企业数据仓库截然不同,设计时企业数据仓库在信息内容与结构方面尽可能拥有开放性与灵活性。

数据集市有以下特征:

为特定用途而设计——数据集市设计的目的,是支持特定用户对数据子集的特定范围的查询。它以用户所要求的方式提供企业数据仓库的细节汇总。

优化——数据集市为了支持特定工具的访问而优化。根据工具、根据企业数据仓库提供的信息子集来设计数据集市,而不是让用户直接访问企业数据仓库中的大型数据库,这可以改善数据集市的性能。

虚拟或物理数据集市——数据集市可以是物理的实现,也可以是企业数据仓库表的各种视图。使用视图(虚拟数据集市)可以避免存储数据的多个副本,简化了数据管理。

数据集市,即Data Mart,指面向专项应用领域的分析主题。Data Mart即是通过OLAP技术或者数据挖掘技术,利用数据仓库的数据根据用户需求建立的数据集市模型,大大提高了前端查询访问的效率,用户能方便地实现灵活、动态、快速、多角度、多层次地分析企业数据。同时,也可以通过定制灵活的OLTP查询来了解明细数据。

数据的抽取、转换、加载(ETL)

数据仓库的数据来源于业务处理系统,但是数据仓库的数据并不是对源系统数据的简单叠加,它需要按照数据仓库的逻辑模型和物理模型,在源系统数据分析的基础上,按照源系统数据和数据仓库数据之间的映射关系,经过数据的抽取(Extraction)、转换 (Transformation)和加载(Loading)等环节方可进入数据仓库,这个过程简称为ETL处理。

数据经过数据抽取、转换和加载处理进入数据仓库的整个过程可以简称为ETL过程。ETL是搭建数据仓库数据平台的基础,也是保证数据仓库的数据质量的具体实现。根据基于数据仓库项目开发的经验,在大多数据仓库的实施过程当中,ETL都是一个非常复杂、耗时的过程,其工作量约占整个数据仓库项目的40-50%,占数据仓库设计阶段工作量的70-80%,有许多原因影响这一阶段的时间和进度。比如对原有业务系统和旧的操作环境的了解有限,原系统文档不全等。因为这些原因,使ETL任务花了许多时间在了解旧的业务应用以及如何抽取数据上。ETL实施困难另一个原因是原有的系统平台没有足够的容量/系统资源来支持数据抽取处理,系统资源不足可能表现为:CPU、磁盘空间、I/O带宽或没有一个有效的窗口去运行抽取、转换程序。

ETL过程不仅工作量大,而且还受到很多时间窗口的限制,它不仅需要在不同的特定(非确定)的时间抽取数据,而且还必须要在特定的时间范围内把数据加载到数据仓库。由于ETL过程是数据仓库应用系统每天都要进行的工作, ETL设计的科学性和效率性是非常重要的,关系到数据仓库项目的成败。

数据展现

数据访问及展现是通过信息门户,将各类数据集市应用通过统一的平台展现给财政各类用户。同时提供数据分析结果的表达、共享与传递的功能,是信息服务的主要界面,主要包括信息展现与人机交互、信息发布等。

数据架构设计

IBM数据仓库技术架构设计方案

数据仓库的体系结构包括4 个层次的数据:数据源、数据仓库层和数据集市层。

1) 数据源(业务系统)包含面向操作应用的原始数据以及外部录入数据,主要服务于高性能的事务处理。

2) 数据仓库层(包括ODS 和DW)存储企业的历史数据,其数据是规范的、稳定的。

i. 数据仓库包含当前数据、综合数据、历史数据的组织和整理。通过数据抽取平台获取的各业务数据,从逻辑上和业务上是独立的、分散的,要实现一体化的查询功能,必须对分散的业务数据进行抽取和整合。如将分散的单位基础信息、预算数据、支出数据通过一定的策略,整理形成一套编码统一、业务连贯的数据体系,这是一体化查询系统成功的关键。

3) 数据集市层(包括Relational Data Mart 和Star-Schema Data Mart 和OLAP)是面向部门的、满足最终用户需求的数据,数据集市中的数据是反规范的、汇总的。

数据整理平台基于各业务数据,可以根据不同的用户查询需求,定制数据整理策略。根据查询角度的不同,按决策的主题要求形成当前的基本数据层,按综合决策的要求构成综合数据层,随着时问的推移,由时间控制机制将当前基本数据层转为历史数据层。

4) 数据展现层(前端展现)是面向业务用户的需求展现,包括使用报表、多维分析、即席查询等基本功能,提供告警、统计算法等高级功能。

继续阅读