实施特色

buy duloxetine online

buy

zoloft and pregnancy category

zoloft pregnancy studies

seroquel overdose

buy abortion pill kit online cheap

buy abortion

viagra weed and alcohol

viagra and

prednisolon bivirkninger forsvinder

prednisolon
数据仓库建设步骤

    由于数据仓库系统和传统的信息系统(OLTP系统)的目的和功用截然不同,因此决定了数据仓库的建设与传统信息系统的开发有很大的区别,需要采用不同的方法和手段进行建设。数据仓库方法论可以用下图来形象的概览,并且体现了ETL在数据仓库建设过程的重要性。


 
ETL定义

    定义
        数据的抽取(Extract)、转换(Transform)、装载(Load)的过程
    作用
        整个商务智能/数据仓库系统由三大部分组成:数据集成、数据仓库和数据集市、多维数据分析。通常,商务智能运作所依靠的信息系统是一个由传统系统、不兼容数据源、数据库与应用所共同构成的复杂数据集合,各个部分之间不能彼此交流。从这个层面看:目前运行的应用系统是您花费了很大精力和财力构建的、不可替代的系统,特别是系统的数据。而新建的商务智能系统目的就是要通过数据分析来辅助自己决策,恰恰这些数据的来源、格式不一样,导致了系统实施、数据整合的难度。此时,您非常希望有一个全面的解决方案来解决自己的困境,解决自己企业的数据一致性与集成化问题,使您能够从您所有传统环境与平台中采集数据,并利用一个单一解决方案对其进行高效的转换。这个解决方案就是ETL。通常,企业的数据源分布在各个子系统和节点中,利用ETL将各地方业务系统上的数据,通过自动化FTP或手动控制传到UNIX或NT服务器上,进行抽取、清洗和转化处理,然后加载到数据仓库。因为现有业务数据源多,保证数据的一致性,真正理解数据的业务含义,跨越多平台、多系统整合数据,最大可能提高数据的质量,迎合业务需求不断变化的特性,是ETL技术处理的关键。
    目标
        以最小代价(包括对日常操作的影响和对技能的要求) 将针对日常业务操作的数据转化为针对数据仓库而存储的决策支持型数据

ETL前提

    确定ETL范围
        通过对目标表信息的收集,确定ETL的范围
    选择ETL工具
        考虑资金
        运行的平台、对源和目标的支持程度、可编程的灵活性、对源数据变化的监测、数据处理时间的控制、管理和调度功能、对异常情况的处理
    确定解决方案
        抽取分析、变化数据的捕获、目标表的刷新策略、数据的转换及数据验证

ETL过程

    完整的ETL应用过程包含三个阶段:
        设计阶段:分析源和目标数据集的数据结构,定义合理的数据转换逻辑;
        实施阶段:按照设计阶段制定的逻辑规则进行编码,实现数据的抽取、转换、装载过程;
        维护阶段:对于非一次性数据整合项目(如很多数据仓库项目中的数据整合过程),ETL过程需要重复执行,同时也需要不间断的维护和完善。
    为了实现这些功能,各个ETL工具一般会进行一些功能上的扩充,例如工作流、调度引擎、规则引擎、脚本支持、统计信息等。它的体系结构如下:


  
 
数据抽取
    数据抽取是从数据源中抽取数据的过程,抽取主要是针对各个业务系统及不同网点的分散数据,充分理解数据定义后,规划需要的数据源及数据定义,制定可操作的数据源,制定增量抽取的定义。
    从数据库中抽取数据一般有以下几种方式。
 
    增量抽取,捕获要点:
        准确性: 能够将业务系统中的变化数据按一定的频率准确地捕获到;
        性能: 不能对业务系统造成太大的压力,影响现有业务。
    目前常用增量抽取方法比对:


    ETL处理的数据源除了关系数据库外,还可能是文件,例如txt文件、excel文件、xml文件等。对文件数据的抽取一般是进行全量抽取,一次抽取前可保存文件的时间戳或计算文件的MD5校验码,下次抽取时进行比对,如果相同则可忽略本次抽取。
数据转换
    从数据源中抽取的数据不一定完全满足目的库的要求,例如数据格式的不一致、数据输入错误、数据不完整等等,因此有必要对抽取出的数据进行数据转换和加工。
    数据的转换和加工分为下列两种方式:
        ETL引擎中的数据转换和加工
        ETL引擎中一般以组件化的方式实现数据转换。
    常用的数据转换组件有字段映射、数据过滤、数据清洗、数据替换、数据计算、数据验证、数据加解密、数据合并、数据拆分等。这些组件如同一条流水线上的一道道工序,它们是可插拔的,且可以任意组装,各组件之间通过数据总线共享数据。
    有些ETL工具还提供了脚本支持,使得用户可以以一种编程的方式定制数据的转换和加工行为。
        数据库中的转换和加工
数据装载
    将转换和加工后的数据装载到目的库中通常是ETL过程的最后步骤。装载数据的最佳方法取决于所执行操作的类型以及需要装入多少数据。
当目标库是关系数据库时,一般来说有两种装载方式:
        直接SQL语句进行insert、update、delete操作。
        采用批量装载方法,如bcp、bulk、关系数据库特有的批量装载工具或api。
    大多数情况下会使用第一种方法,因为它们进行了日志记录并且是可恢复的。但是,批量装载操作易于使用,并且在装入大量数据时效率较高。使用哪种数据装载方法取决于业务系统的需要。
ETL过程中遵循原则
    应尽量利用数据中转区对运营数据进行预处理。保证数据的安全性、集成与加载的高效性。
    ETL的过程应是主动“拉取”,而不是从内部“推送”,其可控性将大为增强。
    流程化的配置管理和标准协议
    数据质量的保证
        正确性(Accuracy):数据是否正确体现在现实或可证实的来源 
        完整性(Integrity):数据之间的参照完整性是否存在或一致
        一致性(Consistency):数据是否被一致的定义或理解 
        完备性(Completeness):所有需要的数据是否都存在
        有效性(Validity):数据是否在企业定义的可接受的范围之内
        时效性(Timeliness):数据在需要的时间是否有效
        可获取性(Accessibility):数据是否易于获取、易于理解和易于使用 

主流ETL工具

    ETL工具从厂商来看分为两种,一种是数据库厂商自带的ETL工具,如Oracle warehouse builder、Oracle Data Integrator。另外一种是第三方工具提供商,如DataStage。开源世界也有很多的ETL工具,功能各异,强弱不一。
    目前流行的ETL工具包括:
        DataStage
        Data Integrator
        Informatica
        OWB
    其功能评测如下:
 
    另外介绍一下不同于市面上的ETL工具,即Teradata(简称TD)公司的ETL Automation(简称EA)。由于Teradata数据库本身的并行处理能力,可以用SQL语句来做数据转换的工作,则EA相当于是提供一套ETL框架,把重点放在了提供对ETL流程的支持,包括前后依赖、执行和监控等,可以方便的进行作业流的调度。


 
    EA并不追求传统意义上的ETL工具思维,而是很好的利用TD数据库强大的并行操作特性,依托数据库,将数据导入数据库,将复杂的转换工作交给数据库处理,数据质量却可以得到更好的保证,转换工作得以很好的控制。EA本身更注重对流程、调度的控制。

 
 
    ETL和数据集成的工作量占BI项目的40%,但是ETL工具约占BI市场的9%,其中很多应用是采用手工编码方式,ETL工具仍有待普及。

ETL工具选择

    在数据集成中该如何选择ETL工具呢?一般来说需要考虑以下几个方面:
        对平台的支持程度;
        对数据源的支持程度;
        抽取和装载的性能是不是较高;
        对业务系统的性能影响大不大,倾入性高不高;
        数据转换和加工的功能强不强;
        是否具有管理和调度功能;
        是否具有良好的集成性和开放性;
        从用户角度出发选取适合的ETL工具。

ETL监控

    主要是监控ETL的整个过程,对调度过程中的异常处理。
    数据异常
        将错误信息单独输出,继续执行ETL,错误数据修改后再单独加载
        中断ETL,修改后重新执行ETL
        原则:最大限度接收数据
    环境异常
        对于网络中断等外部原因造成的异常,设定尝试次数或尝试时间,超数或超时后,由外部人员手工干预
    其他异常
        例如源数据结构改变、接口改变等异常状况,应进行同步后,再装载数据

ETL开发规范

    ETL项目的开发往往是多人团队开发模式,由于周期较长,期间难免会出现开发人员交替现象。无论是开发过程中的人员交替还是从开发到系统运营之间的转换,都需要良好的交接。为保证项目开发各个时期的平稳过度及顺利交接,在开发过程中,应该遵循一定的开发规范。主要包括:
        命名规范:作业/脚本命名、作业/脚本注释等规范
        功能定义规范:作业/脚本、参数设置功能分类等规范
        结构规范:作业/脚本/文件目录组织结构、模块化结构等规范
        代码封装规范:对重用性比较多的代码进行代码模块化封装等规范

元数据管理

    元数据管理的主要功能是元数据的管理,跟踪元数据的来源和去向等。面对目前各个子系统复杂的数据结构,建立数据仓库,要清楚了解每个元数据的含义,并且需要在数据仓库、数据库设计工具ERWin、前端展现工具Cognos Impromptu等之间共享元数据信息,并且在未来进行元数据的分析,减少调整数据结构对整个系统的影响。一个复杂数据仓库系统中元数据维护的工作量是相当大的。目前主要是针对每一个模块的配置文件可视化更改和日志的浏览。在实施中,它的步骤如下:
        初始化参数表,并连接到DW上;
        读入各模块的配置表;
        把可更改的参数显示于屏幕上,供修改;
        把修改后的数据写回配置表或文件当中。
收藏我们
招贤纳士
隐私声明
联系我们
TEL:021-64470381 sales@ 沪ICP备05044299号