ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 获取增量

获取增量

原创 Linux操作系统 作者:qiaodong01sina 时间:2009-09-08 23:41:38 0 删除 编辑

 

获取增量数据

 

大家通常所说的增量数据,其实更确切的说,应该是变量数据,包括对数据的增加、修改和删除。特别是当有些系统存在物理删除数据的情况时,这一点尤为重要。

 

从各源系统获取增量数据,是BI类相关应用所必需的环节,从源系统获取增量数据的方式有很多种。

1,  由源系统在数据处理过程当中由应用直接记录增量数据,产生增量数据文件。这种做法对源系统的效率会有较大影响,需要改造源系统的应用,目前还没有听说采用这种方式的。

2,  由源系统在日终时按照数据的逻辑规则(如业务日期)识别增量数据,产生增量数据文件。这种做法不影响源系统的日间处理效率,需要开发新的增量数据卸载应用,能够比较有效的识别源系统中的增量数据。这是目前采取的比较多的方式。但是如果存在不经过应用而物理删除数据的情况,则无法识别。

3,  利用数据库系统的机制,在源系统中增加设置(如trigger,mvcdc),在日间数据处理过程中由数据库系统识别增量数据,然后再通过应用加工得到增量文件。这种方式对日间处理的效率会有一定的影响,但通常都可以接受,对增量的识别会非常全面,但识别出来的增量数据往往含有大量的过程数据,特别是当同一数据被多次修改时,会产生大量的冗余数据,这是这种方式的一个缺点,需要通过应用加以合并取得该数据的最终状态。这种方式的一个优点,是可以识别出绕过应用直接对数据库所作的修改,包括直接物理删除的内容,这是前一种方式难以做到的。这种方式也是目前比较常见的一种方式,但需要对相关的设置和使用方法非常熟悉。

4,  数据比对。将源系统当日的数据与昨日的数据进行比较,识别出差异部分作为增量数据,如果需要识别出被物理删除的数据,由于不同的实现方式这种比对可能需要执行两次,一次是找出源系统当日增加和修改了的数据,另一次是找出源系统中当日被删除的数据。这种比对需要首先将源系统的全量数据卸载,然后进行全量数据的比对,效率是一个主要的问题。这种方式据说也有采用,但好像不多。

5,  数据复制。如果目标数据库与源数据库是同构的,还可以利用数据库系统的复制机制直接获得增量数据并应用到目标数据库中。不同数据库厂商的复制机制不尽相同,对源系统效率的影响通常都可以接受,但复制本身的效率是需要特别关注的,而且还需要考察复制机制下的中断恢复能力。据说目前这种做法在某些领域也有应用。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22002516/viewspace-614204/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-06-29

  • 博文量
    12
  • 访问量
    14038