`
jimmy.shine
  • 浏览: 396348 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数据同步方式探讨

    博客分类:
  • SOA
JMS 
阅读更多

<!---->一、<!---->数据同步方式<o:p></o:p>

1、哪些数据需要同步<o:p></o:p>

<!---->(1)  <!---->新增的数据<o:p></o:p>

<!---->(2)  <!---->修改过的数据<o:p></o:p>

<!---->(3)  <!---->删除的数据<o:p></o:p>

<!---->(4)  <!---->其它数据(原数据没有修改过,也未删除的)<o:p></o:p>

2、保证最小数据量的同步<o:p></o:p>

<!---->(1)  <!---->新增的数据需要同步添加<o:p></o:p>

<!---->(2)  <!---->修改过的数据需要同步进行更新<o:p></o:p>

<!---->(3)  <!---->删除的数据需要同步进行删除<o:p></o:p>

<!---->(4)  <!---->其它数据(保持不变,不需要进行处理)<o:p></o:p>

3、同步方案(数据获取的方式,JMS发送方)<o:p></o:p>

    考虑到在信息系统中的特殊的操作,即删除只是置标志位,可以视为更新进行处理。故我们可隐藏了对于删除的处理。<o:p></o:p>

在数据库中的设计中已经留存有dataversion字段,用来进行版本控制。<o:p></o:p>

设计参照于以下方案:<o:p></o:p>

<!---->(1)           <!---->默认未同步过的数据的dataversion0<o:p></o:p>

<!---->(2)           <!---->首次同步时,取所有的dataversion0的数据(其它条件自己制定)。<o:p></o:p>

<!---->(3)           <!---->JMS提交同步后,将被同步的表的数据的字段dataversion统一置为一个dataversion,记录至同步情况表中。(理论上,同步也应当记录日志)。<o:p></o:p>

<!---->(4)           <!---->进行数据的更新操作时,同时增加一个拦截器,将dataversion置为上次同步的dataversion+1。(现有数据的删除为更新标志位,也遵守此规定)<o:p></o:p>

<!---->(5)           <!---->新添加的数据,dataversion字段置为0<o:p></o:p>

<!---->(6)           <!---->非首次同步时,查询同步日志中记录的上次的同步时dataversion的值,同步 数据的dataversion!=上次同步的dataversion的数据字段。<o:p></o:p>

4、同步方案(数据的保存方式,JMS接收方)<o:p></o:p>

<!---->(1)           <!---->对于dataversion == 0 的数据,执行添加操作(insert)<o:p></o:p>

<!---->(2)           <!---->对于dataversion != 0 的数据,执行更新操作(update)。<o:p></o:p>

分享到:
评论

相关推荐

    如何实现多个系统间的数据同步

    这篇博客“如何实现多个系统间的数据同步”将深入探讨这个主题,旨在帮助开发者和系统管理员理解并掌握实现跨系统数据一致性的关键技术和方法。 首先,我们需要理解数据同步的含义。数据同步是指在两个或更多系统...

    mysql-oracle数据同步

    本文将深入探讨MySQL到Oracle的数据同步过程,以及如何在同步过程中修改MySQL数据表的标识。 首先,我们要理解MySQL和Oracle是两种不同的关系型数据库管理系统(RDBMS)。MySQL以其开源、轻量级、高效的特点被广泛...

    java多个数据库实现数据同步

    本文将深入探讨如何使用Java来实现多个数据库之间的数据同步。 首先,我们需要理解数据同步的含义。数据同步是指在两个或多个数据库之间,当某个数据库中的数据发生改变时,这些变化能够被实时或者近实时地反映到...

    数据同步,数据异地传输

    本文将深入探讨数据同步和异地传输的相关知识点。 首先,数据同步是指将一个数据源中的信息实时或定期地更新到另一个数据源的过程,以保持两个或多个数据存储位置的一致性。这通常应用于数据库系统、文件服务器、云...

    SQL2000数据同步

    本篇文章将深入探讨SQL Server 2000环境下如何进行数据同步,基于提供的文件信息,我们将逐一解析实现数据同步的关键步骤。 #### 一、构建同步环境 **1. 创建Windows用户:** 首先,需在所有参与同步的服务器上...

    JDBC数据同步

    本文将深入探讨JDBC在数据同步中的应用、原理以及实现方法。 ### JDBC数据同步的重要性 在多数据库系统中,数据同步能够保证业务数据的一致性,避免因数据不一致导致的错误决策或业务问题。例如,在电商系统中,...

    使用Kettle同步mysql数据,增量同步教程执行步骤

    在IT行业中,数据同步是一项关键任务,特别是在大数据处理和企业级应用中。本文将深入探讨如何使用Kettle工具实现MySQL数据库之间的增量同步。Kettle,也称为Pentaho Data Integration (PDI),是一款强大的ETL(提取...

    springboot+mysql+oracle+druid 双数据库进行数据同步

    **数据同步策略**:数据同步可以采用实时同步或定时任务方式。实时同步适用于对数据实时性要求高的场景,而定时任务则适合在业务低峰期进行大批量数据迁移。项目中未具体说明是哪种策略,但考虑到数据量大,可能更...

    Oracle2Oracle数据同步

    Oracle提供了多种方法来实现数据同步,下面我们将详细探讨这些方法: 1. **GoldenGate**:Oracle GoldenGate 是一个高级的数据复制工具,能够实现实时、低延迟的数据同步。它支持双向同步,即两个数据库之间可以...

    集团与分、子公司间数据同步方案

    本文将深入探讨集团与分、子公司间的数据同步方案,重点分析大集团与下属集团、以及集团与下属矿间的数据同步流程和实施策略。 集团与分、子公司的数据同步,首先是大集团与下属集团的数据同步。这种同步方案通常...

    东方通同步方式:(详细记录的触发器方式和时间戳方式)

    与触发器方式相比,时间戳同步方式更多地依赖于数据库的时间戳字段来进行数据同步的判断和控制。这种方式通常用于对实时性要求相对较低但对数据完整性要求较高的场景中。在时间戳同步方式中,系统会定期检查数据表中...

    C#数据同步项目

    本项目"**C#数据同步项目**"专注于解决这个问题,通过C#编程语言实现SQL Server与Oracle之间的数据交互,旨在提高系统的整体性能。下面我们将深入探讨这个项目涉及的关键知识点。 1. **C#编程语言**: C#是微软公司...

    unity Pun2多人在线,数据同步,数据收发Demo

    在"unity Pun2多人在线,数据同步,数据收发Demo"中,我们主要探讨以下几个关键知识点: 1. **Unity3D多人在线基础**:Unity3D支持多人在线游戏开发,通过网络编程,可以实现玩家之间的交互。PUN2作为专门的网络库...

    两台SQL Server数据同步解决方案

    本文将详细介绍如何实现两台SQL Server服务器之间的数据同步,并探讨其中的关键技术和步骤。 #### 数据同步的重要性 数据同步是指将数据从一个或多个源复制到其他位置的过程,以确保数据的一致性和可用性。对于SQL...

    oracle 与服务器数据同步

    这篇博文将探讨Oracle与服务器数据同步的相关技术及其重要性。 1. **数据同步的意义**: 数据同步是为了保持多台服务器或多个数据库之间的数据一致性,防止因数据不一致导致的业务问题。在分布式系统中,尤其在...

    数据同步解决方案.ppt

    本篇内容将深入探讨数据实时同步灾备解决方案的重要性以及Oracle GoldenGate作为一项高效的数据同步工具的优势。 首先,业务连续性是现代企业不可或缺的一环,它旨在降低运营成本,提高投资回报率,并最大程度地...

    多数据库数据同步系统

    本文将深入探讨“多数据库数据同步系统”,并关注其与MySQL、Oracle、SQL Server和Sybase等数据库之间的交互。 首先,我们要理解数据库数据同步的基本概念。数据同步是将数据从一个或多个源数据库复制到目标数据库...

    基于Java的Porter数据同步中间件设计源码

    本文将深入探讨一个基于Java的Porter数据同步中间件的设计与实现,以及其源码背后的逻辑。Porter作为一个高效的数据同步工具,它通过中间件的形式连接不同的数据源,实现数据的实时或定时迁移,从而满足各种业务需求...

Global site tag (gtag.js) - Google Analytics