数据抽取技术大全--欢迎大家补充

数据抽取技术:

1 静态数据捕获
  用于一、数据仓库初时化时,二、需要完全修改的数据

2 增量数据捕获

    (1)# 通过交易日志,或数据库日志,包括诸如Oracle的Flashback query等日志捕获。可以使用 diff 工具帮助分析差异
    (2) 从数据库触发器中捕获:触发器将信息写在一张增量数据变化表内(包括删除的信息)。其它集成组件定期读取该表。
    (3) 基于日期和时间标记的捕获 / 类似的包括基于绝对自增id的捕获:无法解决删除问题
        Oracle 10g以上版本和MS-SQLServer类似,有一个rowVersion,也可做类似的时间标记
        如果某些源数据没有这些字段,那可以考虑再不破坏原有表的基础上增加一些上述的标记字段。可以先咨询源系统开发商。
    (4) 对于拥有集合运算函数数据库例如oracle拥有minus,可以根据一些主键做集合运算,将差异结果存到单独的表中供其它程序读取。
    (5)# 通过全表扫描比较来捕获:比较源数据的两个快照。当数据特别大时,性能成为问题。这是对于没有(3)中字段,且其它方法都不可

用时候的最差选择。可以充分利用各种分段扫描算法。
    (6)# 从源应用程序中捕获:修改源应用代码

   (7)定制自己的jdbc驱动程序:法一,直接修改或重写驱动程序。法二,使用AOP技术对现有的驱动程序的接口进行weaver,对捕获的SQL进行分析处理。

#表示通常很少使用

 

欢迎大家补充。

你可能感兴趣的:(oracle,数据库,数据仓库,aop,jdbc,query,J2EE)