zoukankan      html  css  js  c++  java
  • 数据库之间的数据同步

    数据库之间的数据同步有以下几种情况:

    第一种是在非业务工作时同构数据库之间数据同步,这种情况下,只有存量数据库。只需要将源库中的数据文件拷贝的目标库,目标库加载数据文件即可。

    第二种是在非业务工作时异构数据库之间的数据同步,这种情况 下,只有存量数据库。需要将源库中的数据以SQL数据形式导出,然后加载到目标库即可。

    第三种是在业务工作时同构数据库之间的数据同步,这种情况下,存量数据同步方法是:将从源库将数据文件导入到目标库。增量数据的同步方法:从源库向目标库同步逻辑日志即可。逻辑日志的时间点需要是开始导存量数据的数据文件之前。

    第四种是在业务工作时导构数据库之间的数据同步,这种情况比较复式,解决方案需要依赖特定的条件:

    1.若源库支持多版本读,存量数据可以从源库中导出数据文件到目标库,然后再从源库中导出逻辑日志文件进行解析,将开始导出存量数据时间点之后的逻辑日志进行分析,通过SQL形式进行同步。

    2.若源库不支持多版本读,存量数据可以从源库中导出数据文件到目标库,然后再从源库中导出逻辑日志文件进行解析,将开始导出存量数据时间点之后的逻辑日志进行分析,通过SQL形式进行同步,此方法的日志解析和SQL拼写需要知道源库中所执行事务的操作的数据从“什么”改变为“什么”。这个不光涉及到逻辑日志文件的解析,也会涉及到数据文件的解析。因为在逻辑日志中只记录了数据文件的位置,并不记录具体的字段的原始值。

  • 相关阅读:
    python day01学习
    标准化体系建设(下):如何建立基础架构标准化及服务化体系?
    用EL表达式与Java代码的共享数据
    String和StringBuilder的相互转化
    博客园的一个bug_修改文章标签
    int const *p和int *const的区别
    C++ assert()的用法
    java中,为什么char类型数组可以直接用数组名打印,而int型数组打印结果是地址值!
    传说中的栈溢出
    Trello
  • 原文地址:https://www.cnblogs.com/syncnavigator/p/10193546.html
Copyright © 2011-2022 走看看