如何解决数据库不同步问题

如何解决数据库不同步问题,第1张

我不知道你的数量有多大,如果不超过1G,可以用金山快盘+FILEGEE,都是免费的软件,方案如下:

1,每台电脑都装金山快盘,用同一个帐号登录,

2.每台电脑的数据库用FILEGEE同步到金山快盘下面,如设置为每1分钟同步一次,但目录要不同,可按店名称分开.

3.每家店每天关电脑前,要做的工作是确保最新的数据已经同步到金山快盘, 金山快盘的数据已经上传到云端.

这样在任何一台电脑上都可以看到每家分店的数据库了.

分两步:现在后台写数据库访问,然后再在JSP中写Ajax调用

$.ajax({url: '<s:url action="#" namespace="/#"/>?param=#',

type: 'GET',

dataType: 'json',

timeout: 10000,

error: function(){

},

success: function(val){

if (val.success){

}else

alert(val.reason)

}

})

数据库同步有很多方法,这里不讨论了,我这里只针对异构数据库.那什么是异构数据库呢,我们先看下定义(引用)

异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和透明访问,每个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己的DMBS。异构数据库的各个组成部分具有自身的自治性,实现数据共享的同时,每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制。异构数据库系统的异构性主要体现在以下几个方面:

计算机体系结构的异构

各个参与的数据库可以分别运行在大型机、小型机、工作站、PC或嵌入式系统中。

基础 *** 作系统的异构

各个数据库系统的基础 *** 作系统可以是Unix、Windows NT、 Linux等。

DMBS本身的异构

可以是同为关系型数据库系统的Oracle、 SQL Server等,也可以是不同数据模型的数据库,如关系、模式、层次、网络、面向对象,函数型数据库共同组成一个异构数据库系统。

在转换的过程中,有时要想实现严格的等价转换是比较困难的。首先要确定两种模型中所存在的各种语法和语义上的冲突,这些冲突可能包括:

命名冲突:即源模型中的标识符可能是目的模型中的保留字,这时就需要重新命名。

格式冲突:同一种数据类型可能有不同的表示方法和语义差异,这时需要定义两种模型之间的变换函数。

结构冲突:如果两种数据库系统之间的数据定义模型不同,如分别为关系模型和层次模型,那么需要重新定义实体属性和联系,以防止属性或联系信息的丢失。

异构数据库同步的解决方法主要有以下几种:

1.建立触发器记录表的变化情况,在源数据库建立增、删、改触发器,然后根据变化登记表进行处理.优点是充分结合业务进行处理,保持数据的一致性、完整性,实时性较强,对多个数据源合并有非常大的优势,我们现在也是采用这种方式来同步的。

2.日志:通过分析源数据库日志,来获得源数据库中的变化的数据。ORCLE 的 异步 CDC (Asynchronized CDC) 就是使用这种方式,但缺点是有一定延时.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6720434.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存