`
Winnie2009
  • 浏览: 6351 次
  • 性别: Icon_minigender_1
  • 来自: 天津
最近访客 更多访客>>
社区版块
存档分类
最新评论
  • niuor:                                 ...
    plsql 设置

获取数据库增量数据的几种方式

阅读更多
  a.触发器:在要抽取的表上建立需要的触发器,一般要建立插入、修改、删除三个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个临时表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除。触发器方式的优点是数据抽取的性能较高,缺点是要求业务表建立触发器,对业务系统有一定的影响。

   b.时间戳:它是一种基于快照比较的变化数据捕获方式,在源表上增加一个时间戳字段,系统中更新修改表数据的时候,同时修改时间戳字段的值。当进行数据抽取时,通过比较系统时间与时间戳字段的值来决定抽取哪些数据。有的数据库的时间戳支持自动更新,即表的其它字段的数据发生改变时,自动更新时间戳字段的值。有的数据库不支持时间戳的自动更新,这就要求业务系统在更新业务数据时,手工更新时间戳字段。同触发器方式一样,时间戳方式的性能也比较好,数据抽取相对清楚简单,但对业务系统也有很大的倾入性(加入额外的时间戳字段),特别是对不支持时间戳的自动更新的数据库,还要求业务系统进行额外的更新时间戳操作。另外,无法捕获对时间戳以前数据的delete和update操作,在数据准确性上受到了一定的限制。

 c.全表比对:典型的全表比对的方式是采用MD5校验码。ETL工具事先为要抽取的表建立一个结构类似的MD5临时表,该临时表记录源表主键以及根据所有字段的数据计算出来的MD5校验码。每次进行数据抽取时,对源表和MD5临时表进行MD5校验码的比对,从而决定源表中的数据是新增、修改还是删除,同时更新MD5校验码。MD5方式的优点是对源系统的倾入性较小(仅需要建立一个MD5临时表),但缺点也是显而易见的,与触发器和时间戳方式中的主动通知不同,MD5方式是被动的进行全表数据的比对,性能较差。当表中没有主键或唯一列且含有重复记录时,MD5方式的准确性较差。

 d.日志对比:通过分析数据库自身的日志来判断变化的数据。

分享到:
评论

相关推荐

    ODI如何通过logminer创新发展从oracle数据库中抽取增量数据.pdf

    ODI 提供了三种知识模块来抽取数据库中的增量数据:Simple、Consistent 和 Oracle 9i/10g/11g Consistent。在 Simple 方式下,ODI 从数据库中抽取增量数据,但如果表之间有主外键约束关系,采用 Simple 方式就会出现...

    SVN数据库增量备份脚本

    总之,SVN数据库增量备份脚本是配置管理中的重要工具,它结合了SVN的版本控制特性与增量备份的优势,以高效、节省空间的方式保护项目数据。通过编写和维护这样的脚本,IT专业人员可以确保即使在面对灾难性事件时,也...

    CDC(Change Data Capture)增量抽取

    - **ChangeSource**: 指增量数据的捕获来源,如同步CDC模式是从源数据库直接获取的,而异步CDC模式则是从日志文件中获取的。 - **ChangeSet**: 表示一组逻辑上相关的增量数据集合,需要保证数据的一致性。 - **...

    基于oracle的增量数据采集实现总结

    本篇文章将聚焦于"基于Oracle的增量数据采集实现总结"这一主题,结合标签"源码"和"工具",探讨如何通过编程方式实现实时或定时获取Oracle数据库中的新增或更新数据。 增量数据采集是一种有效的方法,它只捕获自上次...

    在SQL Server数据库之间进行数据导入导出

    SELECT INTO语句是SQL Server中用于快速复制表数据的一种方式。它可以在同一数据库或不同数据库中创建一个新的表并填充数据。例如,如果有一个名为`table1`的表,包含`f1`和`f2`两个字段,你可以使用如下语句将数据...

    数据仓库数据更新的研究及基于Oracle数据库的开发与应用.pdf

    论文"数据仓库数据更新的研究及基于Oracle数据库的开发与应用"探讨了数据增量更新的方法,特别是在确定数据源中新数据的问题上提出了几种解决方案。其中,Oracle数据库的数据更改捕获机制(CDC,Change Data Capture...

    ETL增量原理

    这种方式实时性好,但可能增加数据库负担,不适合大规模数据处理。 2. 定时任务扫描:定时检查数据源是否有新数据,如通过SQL查询或API接口获取。这种方式适用于大数据量,但可能有延迟。 3. 数据库日志捕获:利用...

    数据库数据交换工具-易语言.zip

    数据库数据交换工具是一种用于在不同数据库系统之间迁移、同步或集成数据的应用程序。在这个特定的案例中,我们看到一个名为“数据库数据交换工具-易语言.zip”的压缩文件,它可能是用易语言(EasyLanguage)开发的...

    C# Access数据库同步 服务端

    可能包含获取数据库连接、比较数据、执行更新等逻辑。 6. **数据比较与合并策略**:在进行数据库同步时,需要制定策略来处理冲突,比如时间戳比较、版本控制等,以确保在有并发修改的情况下正确处理数据。 7. **...

    Oracle数据库常见维护问题手册-精典

    修改Oracle系统参数可以通过以下几种方式: - 动态参数(可以在运行时修改): ```sql ALTER SYSTEM SET parameter=value SCOPE=MEMORY; ``` - 静态参数(需要重启数据库才能生效): ```sql ALTER SYSTEM SET...

    利用数据库的备份数据库

    在IT行业中,数据库管理是一项至关重要的任务,而“利用数据库的备份数据库”这一主题则聚焦于数据保护和恢复策略。数据库备份是确保数据安全、防止数据丢失的关键步骤,尤其对于初学者来说,理解并掌握这一技能是...

    数据库安装包

    每种数据库都有其特定的应用场景和优势,例如,关系型数据库适合处理结构化数据,而非关系型数据库则更适合大数据和分布式存储。 2. **系统需求**:在安装前,确保你的计算机满足数据库软件的硬件和软件要求。这...

    通过id自增做增量加载.rar

    标题“通过id自增做增量加载.rar”暗示了这个压缩包内容主要涉及如何使用Kettle基于自增ID进行增量数据加载。在大数据处理中,增量加载是一种有效的方法,尤其对于实时或近实时的数据更新,可以显著减少处理量,提高...

    删除数据库中重复数据的几个方法

    删除数据库中重复数据的几个方法 删除数据库中重复数据是数据库管理和维护中的一项重要任务。重复数据可能是由于表设计不周、数据输入错误或其他原因引起的。删除重复数据可以提高数据库的性能和数据的一致性。本文...

    【Hadoop与大数据38】构建生态化分布式数据库架构体系(陶勇)

    在线日志解析,延迟),开启补充日志(Opencolumnsupplementallog)等方式获取增量数据。 - **MySQL**:利用二进制日志解析(binlogparser)获取增量数据。 - **数据消费**:采用对称集群架构,利用ZooKeeper作为...

    db如何快速回滚+恢复

    通过对以上几种策略的了解与实践,可以有效预防并应对数据误删等问题,从而保障业务连续性和数据完整性。不过,需要注意的是,无论采用何种策略,都应当定期进行演练和评估,以确保方案的实际可用性。

    精彩讲解:构建高可用数据库监控系统

    关键指标趋势图是监控系统的重要组成部分,它提供了一种直观的方式来查看数据库性能随时间的变化。预定义的多种趋势图模板可以覆盖广泛的性能指标,例如活跃会话、I/O等待事件等。通过比较当前值与过去7天的平均值,...

    Oracle实现每天异增量备份脚本.

    本文将深入解析一个Oracle数据库每日差异增量备份脚本,通过分析其结构与逻辑,帮助读者理解差异增量备份的概念、实现方式以及在实际应用中的重要性。 #### 1. 差异增量备份概念 差异增量备份是一种备份策略,它只...

Global site tag (gtag.js) - Google Analytics