DBSync是一款数据比较与同步工具,能比较出数据库之间的差异,能实时同步差异数据,从而使双方始终保持一致。用于系统间数据对接、数据分发、数据对比等。 DBSync提供了大量功能功能,例如交互式(GUI)模式/命令行模式,可切换会话,插入,更新和删除包含的同步类型,任务计划程序调度,数据过滤,可能的转换错误的预验证等。用户可以通过配置几个选项,并通过向导界面或命令行模式进行一些同步自定义来转换和同步MySQL与MySQL或MySQL。添加到调度功能的命令行参数使您能够定期自动同步或转换数据,而无需用户输入和辅助设置。 数据比较与同步工具DBSync特色1.支持各种数据源 数据比较与同步工具DBSync主界面介绍打开软件后进入主界面,显示同步任务列表,如下图所示: 说明:任务是执行同步的基本单位,一个任务负责一对数据表之间的同步,多个任务可并发执行。 数据比较与同步工具DBSync注意事项*同步前做好数据备份:数据同步将直接更改目标数据库,请做好目标数据库的备份工作,以防数据丢失。 数据比较与同步工具DBSync使用教程要比较与同步数据,必须先设置一个任务,在任务里指定源数据表、目标数据表,以及同步方式、同步频度等。Click主界面上的“新增”按钮,即可新增一个同步任务,进入Step1。 Step1:选择源数据库、目标数据库 要设置同步任务,首先要选定源数据库、目标数据库,如下图所示: 说明:本界面的用途是设置源数据库及目标数据库的连接字符串,使得能连接双方数据库。其中,界面上打星号(*)的栏位是必填的。 *关于OLE DB连接字符串: 本软件采用 OleDbConnection (.NET) 连接数据库,因此,连接字符串一栏需填写 OLE DB 形式的连接字符串。如何拼写OLE DB连接字符串,详见本文7.1章节。 填写完成后,请Click标签2,进入Step2。 Step2:选择源数据表、目标数据表 说明:本界面的用途是选择源数据表及目标数据表。 选择完成后,请Click标签3,进入Step3。 Step3:选择字段对应关系 说明:本界面的用途是选择字段对应关系,为需要同步的源字段指定对应的目标字段。其中的数据类型是指OleDbType类型,不同的数据库有不同的数据类型定义,但这里统一体现为OleDbType,详细资料请参见本文7.2章节 *关于主键字段: 如果您需要做增量同步,这里必须选择主键字段。主键字段是记录的唯一标志,它用于判别同步双方是否存在对应记录。 选择完成后,请Click标签4,进入Step4。 Step4:选择同步方式及频度 说明:本界面的用途是选择同步方式及频度。 (1)同步方式: *全部新增(Insert)至目标表:是指将源数据表中的数据全部Insert到目标数据表。 *仅同步增量数据:是指以主键字段为记录标识,只同步差异部分(即增量部分),而相同的部分不作同步。增量分3种:一是新增,是指对于源数据表存在而目标表不存在的记录,视作源库新增的,因此应新增(Insert)到目标库;二是删除,是指对于目标数据表存在而源数据表不存在的记录,视作已从源库删除,因此应从目标库中删除(Delete);三是修改,是指源数据表与目标数据表均存在的记录,但双方数据有差异,视作源库已做修改,因此需用源库数据修改(Update)目标库。 (2)执行频度: *手动点击“开始”执行:是指每次同步都由用户Click任务列表中的“?”来执行 *手动,然后自动重复执行:是指由用户Click“?”开始第一次执行,同步结束后,程序会按照预定的时间间隔自动重复执行。只要程序不关闭,同步操作就会一直持续下去,从而实现无人值守同步。 (3)同步范围: 属于高级选项,可填写Select * From...Where... 形式的 SQL 语句,进一步限定参与同步的数据范围。主要用于3种场合: *一是总库与分库之间的同步,需要限定总库的数据范围。很多单位的数据库是分布式的,有总库、分库之分,总库数据多,分库数据少,它们之间在数据范围上是不对等的。总库与分库进行同步时就应限制总库的范围,使得双方在数据范围上是对等的,在对等的基础上进行同步。举例: 某集团公司有多个分公司,集团公司的数据库是总库,包含所有客户信息,分公司的数据库是分库,只包含当地客户信息。假如总库与天津分库做同步,就可以填写这样的SQL语句限定总库范围:SELECT * FROM Customer where Area=”TianJin”,使总库的同步范围仅限于天津数据,双方就是对等的,防止其它数据混串。 *二是挑选有用数据进行同步,其它数据不同步。举例: 某公司有一套销售管理系统,其中的订单信息有3种状态:草拟、已签约、已付款。这些订单需要同步至财务系统,对于财务来说只需已付款的订单信息,此时就可以填写这样的SQL语句限定数据范围:SELECT * FROM Order where Status=3。其中,Status=3代表已付款的订单。 *三是为了提高同步速度,将同步范围限定于增量部分。同步程序的工作机制是,先扫描、比较双方数据,找出相互间的差异(即增量),再将增量同步过去,从而使双方保持一致。双方的数据量如果很大,比较所需的时间就越长,同步速度就越慢。提速思路就是,限制每次同步所涉及的源数据量,分别处理新增、修改、删除3种增量: A、对于新增、修改增量,每次同步完成时,记住完成时间;下次同步时,将同步范围限定于该时间后的增量。SQL实例: SELECT a.* FROM Customer AS a,(SELECT syncDate FROM dbsync WHERE tablename='Customer') AS b where b.SyncDate is null or a.CreateTime>=b.SyncDate or a.UpdateTime >=b.SyncDate 其中,dbsync 表的syncDate 字段记有上次同步的完成时间。由于同步是定期执行的,两次同步间的增量非常有限,所需的比较量就很少,速度自然就很快。 B、对于删除增量,另安排一个同步任务单独执行。由于该任务只比较双方的主键,不比较其它数据,即使不限定数据范围,速度也很快。 (4)同步后处理: 可填写 Update SQL 语句,每次同步后会执行,可实现同步之外的数据转换、公式计算等额外任务。 *SQL实例1:UPDATE dbsync set syncDate=date() where tablename=' Customer'。该SQL语句将同步完成时间记入数据库,可用于下次同步时限定同步范围,减少数据扫描及比较量,提高同步速度。 *SQL实例2:UPDATE Customer set [性别]=’男’ where Sex=1;UPDATE Customer set [性别]=’女’ where Sex=0。该SQL语句根据同步过来的“Sex” 字段,进一步计算“性别”字段。 系统软件一般是在计算机系统购买时随机携带的,也可以根据需要另行安装。 |