zoukankan      html  css  js  c++  java
  • 五种数据同步思路

    数据同步:当数据源发生改变时,其他相关数据也跟着发展变化。根据需求不同可采取以下方案。

    1.触发器
    在数据库建立增删改的触发器。触发器将变更放到一张临时表里。oracle同步cdc
    优点:实时同步
    缺点:影响到业务系统,因为需要在业务系统建立触发器

    2.日志
    通过分析源数据库日志,来获得源数据库中的变化的数据。oracle异步cdc
    优点:不影响业务系统
    缺点:有一定得延时,对于没有提供日志分析接口的数据源,开发的难度比较大

    3.时间戳
    在要同步的源表里有时间戳字段,每当数据发生变化,时间戳会记录发生变化的时间
    优点:基本不影响业务系统
    缺点:要求源表必须有时间戳这一列

    4.数据比较
    通过比较两边数据源数据,来完成数据同步。一般用于实时性要求不高的场景。
    优点:基本不影响业务系统
    缺点:效率低

    5. 全表拷贝
    定时清空目的数据源,将源数据源的数据全盘拷贝到目的数据源。一般用于数据量不大,实时性要求不高的场景。
    优点:基本不影响业务系统,开发、部署都很简单
    缺点:效率低

    总结:
    1. 上面五种数据同步方式,除了第五种都需要业务表有主键。
    2. 对于没有触发器和日志的一些小型数据源,如txt 文本,excel 文件,Aceess,则只能使用后三种方式。
    3. 对于大型数据源,一般优先选择日志方式,如 ORCALE Asynchronized CDC, 对于不能通过日志来实现的情况,可以考虑第1,3,4种方式。

  • 相关阅读:
    log4j2 标签解析
    7.3
    work-7.2
    爬取豆瓣上某个用户标记的想读的或者读过的图书信息
    python爬虫程序打包为exe程序并在控制台下运行
    爬取任意两个用户在豆瓣上标记的想读的图书信息的交集
    解决c# progressBar更新出现界面假死
    数据库死锁(大神请路过)
    Excel的下载和读取,部分代码(大神请路过)
    大数据缓存:redis
  • 原文地址:https://www.cnblogs.com/syncnavigator/p/10193541.html
Copyright © 2011-2022 走看看