总之,8-6是数据仓库系统中非常重要的组成部分,它从数据源中抽取、转换和加载数据到数据仓库或数据集市中,以备前端工具分析使用。
98-6的设计与实现9$%8-6的逻辑架构
一个8-6系统需要能够在限定的时间内完成对日常数据周期性的自动加载,支持对初始数据及历史数据的加载,并满
图!
数据仓库系统框架
足未来扩充的要求。数据仓库系统中数十个或者更多目标数据表及其相应数量的源数据意味着8-6程序的复杂性,庞大的数据量则需要充分考虑系统运行的效率,为方便开发复杂的程序,就要求灵活而简单明了的程序结构;而程序的效率的优化的要求又往往需要针对不同数据做个性化设计。因此,8-6的设计必须在开发的可管理性和程序性能之间取得平衡,有些实现复杂、个性化突出的做法就要让位于要求一致的8-6程序结构。太注重对不同数据的个性化设计,给8-6测试和维护造成很多隐患,很有可能在运行过程中带来不稳定性。所以,这样的平衡应是8-6设计中很重要的参考因素。
在基于此设计思路的8-6策略下,每个数据表的8-6流程都按照8-6的特性统一分为9个标准步骤,即数据抽取=变换(、数据转换(和数据加载(8>,+.?,=&’()*+,)-+.(/0’+1)6’.73,所有数据的8-6都被纳入到这个标准框架中。因此,所有4(5)
需开发的8-6程序的流程也就被对应地分为9个主要的步骤,每个步骤需要记录完整的处理中间状态及完善的日志信息。对于一个开发团队来说,遵循统一的架构开发可以保证每个开发人员开发的程序的结构一致性,便于8-6的管理,同时对于测试和维护人员来说,根据不同步骤的中间状态记录及日志信息也很容易定位及修正程序的错误。
图9是该8-6系统逻辑架构示意图。从宏观设计上,历史数据、初始数据加载和日常数据加载的8-6都将按照此架构设计。该架构将8-6作为一个整体来设计。
、数据对于数据仓库的加载,8-6分为数据抽取(8>,+.?,)变换(、数据转换(以及数据加载(&’()*+,)-+.(/0’+1)6’.7)@个阶段。每个阶段之间以文本文件作为接口,即数据抽取(8>3
出来的数据进行变换(、转换(、清洗(&’()*+,)-+.(/0’+1)&2*.(3,去除不必要信息,转化为数据仓库要求的统一格式,再进4(5)
行必要的处理;最后,将数据按着物理数据模型定义的数据结到数据仓库中。这个阶段必须要考虑到构类型装载(6’.74(5)异常情况,比如空值处理、字段类型或长度不符合要求等。
!$!8-6的必要性
这主要是由所抽取的源数据和数据仓库功8-6是必要的,能决定的。
首先,源数据是分布式异构的。可以是企业内部业务数据,来自不同的部门,也有可能是外部数据,所以为了保证数据仓库的数据是全面的、可信的,必须要把这些不同来源数据抽取出来,整合在一起。
其次,由于数据来源的多样性,所以数据表示形式必然不一致,其内容甚至可能相互矛盾。这种情况下,必须要对从各个不同来源的数据进行变换,统一表示形式,同时对相互矛盾的数据辨识真伪,保证加载到数据仓库数据的统一性和准确性。
再次,由于数据来源的多样性,不可避免地会造成数据的空间和时间冗余度较大,因此须对数据进行清洗,保证数据的唯一性。
对数据进行适当处理,比如变换、关还有,在8-6过程中,联、拆分或合并等,加上时间戳及其他特性,形成符合物理数据模型要求的多维数据,才能将数据顺利加载到数据仓库中。
从用户角度来考虑,经过8-6将不同来源数据集中到数据仓库中,使企业有了一个更好的信息平台,打破先前部门界限,方便企业内部信息流通,使各部门得到信息将更方便,这必将提高各部门决策水准。
,+.?,)阶段读取数据源产生8AB(8>,+.?,B’+1.,)文件,&CC
(&’()*+,4(5=C’+,=CD24,)阶段读取8AB文件产生&EB(&’11’(文件,数据转换(阶段读取&EB文E(,*+0.?*B’+1.,)-+.(/0’+1)件产生<6B(文件,数据加载(阶段读<+*F6’.7B’+1.,)6’.74(5)取<6B文件加载到数据仓库中。
此架构设计的优点是:将数据抽取、转换和加载分隔开,以从而使每个功能相&EB作为数据仓库表和数据源之间的桥梁,
对独立,减少各功能相互间的耦合度;同时,每个模块的功能被细分后,逻辑更加简单,更容易控制开发错误,提高开发效率;另外,也便于系统运行过程中的错误追综和异常恢复。所以说,它是可靠的而且易于功能扩展的。
!$98-6在数据仓库系统中的重要性
从数据仓库的系统架构可以看出,8-6是数据仓库中的非常重要的一环。它是承前启后的必要的一步。相对于关系数据库,数据仓库技术没有严格的数学理论基础,它更面向实际工程应用。所以从工程应用的角度来考虑,按着物理数据模型的要求加载数据并对数据进行一些系列处理,处理过程与经验直接相关,同时这部分的工作直接关系数据仓库中数据的质量,和前端工具处理的结果的质从而影响到在线分析处理(:6;<)量。
数据仓库是一个独立的数据环境,需要通过抽取过程将数据从联机事务处理环境、外部数据源和脱机的数据存储介质导转换、增量、入到数据仓库中;在技术上,8-6主要涉及到关联、调度和监控等几个方面;数据仓库系统中数据不要求与联机事务处理系统中数据实时同步,所以8-6可以定时进行。但多个顺序和成败对数据仓库中信息的有效性至关8-6的操作时间、9$!数据抽取(8>,+.?,)
数据抽取是从数据源获取所需数据的过程。数据抽取过程
会过滤掉数据仓库中不需要的源数据字段或数据记录。
在数据抽取之前,首先要考虑源数据环境和8-6开发环境的接口问题。对于不同平台、不同形式、不同业务和不同数据量的源数据应采取不同的数据抽取接口。典型的源数据接口有、、
计算机工程与应用
!""#$%"%I9