两个数据库,内容一摸一样,只是部署在异地,定期将两个数据库中得数据进行同步(A库把B库没有得传给b,b库把a库没有得传a)保证数据库一致,现在有没有什么好得算法保证:
1、两边每次只增量传输,只传输距离上次传输后新增的数据。
2、不会某两次同步后有记录被更新了两次,保证每个记录只更新一次。
3(选)、如果一库不是新增,而是某记录删除或者修改,另一个库也及时变更。
4、保证前两条得前提下,尽可能提高效率第三条我觉得有困难,我的想法是,每次更新数据库把sql保存下来,同步时把sql语句传过去执行,感觉还是不好第四条是最关键,因为1,2是可以实现的,我只是想找速度最快最稳定得算法

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【bloodrate】截止到2008-07-10 13:33:14的历史汇总数据(不包括此帖):
    发帖的总数量:107                      发帖的总分数:1700                     每贴平均分数:15                       
    回帖的总数量:187                      得分贴总数量:47                       回帖的得分率:25%                      
    结贴的总数量:105                      结贴的总分数:1500                     
    无满意结贴数:60                       无满意结贴分:1750                     
    未结的帖子数:2                        未结的总分数:200                      
    结贴的百分比:98.13 %               结分的百分比:88.24 %                  
    无满意结贴率:57.14 %               无满意结分率:116.67%                  
    值得尊敬
      

  2.   

    数据库自同步。
    =============
    或是 获得数据库每次的动作日志。 同步时 a运行b日志, b运行a日志。
      

  3.   

    你用的什么数据库,sqlserver企业版里有个复制功能,就是增量式更新,关于配置网上有很多。
      

  4.   

    MSSQL_SERVER数据库增量同步软件(数据库结构及数据):
    最新下载地址:http://d.namipan.com/d/16349170a0412076cff344e0183955faae7e9c24c91f2c00
             
    使用方法:
    1.配置源服务器和目的服务器.
    2.配置需传输的表(因为根据表中的(最后更新时间 例如:update_date)栏位,作增量传输)
    3.同步开始时间(就是根据最后更新时间栏位 例如:update_date 大于等于这个时间的数据进行传输) 
    4.调度配置(配置自动多久执行一次)
    5.最后保存设置.
    6.可手动执行传输数据,也可自动根据调度执行.
    7.同步表结构,此功能是只同步结构,不同步数据.(会同步表的结构,包含所有索引,默认值,主键.和属性.同步存储过程.函数.视图.触发器)