社区
疑难问题
帖子详情
数据同步问题,解决给200分
zxyjyzxyjy
2005-09-20 04:41:10
有两台数据库服务器(A、B),都是SQL Server,两台服务器上有完全相同的数据库及表。
客户对数据库操作(指增加,删除,修改)时,一般都是同时对两数据服务器进行操作,当其中的一台B出现了故障时,这时用户可能对另一台A服务器时行了操作,而服务器B在故障期间没有变化,现要求出故障的B在恢复正常后,其数据与A同步。
注意这里的数据库服务器没有一个主、备的关系,也就是说两台谁都有出故障的可能,出故障的一台恢复后一定要与在运行的那台实现数据同步,请问如何实现。
...全文
329
12
打赏
收藏
数据同步问题,解决给200分
有两台数据库服务器(A、B),都是SQL Server,两台服务器上有完全相同的数据库及表。 客户对数据库操作(指增加,删除,修改)时,一般都是同时对两数据服务器进行操作,当其中的一台B出现了故障时,这时用户可能对另一台A服务器时行了操作,而服务器B在故障期间没有变化,现要求出故障的B在恢复正常后,其数据与A同步。 注意这里的数据库服务器没有一个主、备的关系,也就是说两台谁都有出故障的可能,出故障的一台恢复后一定要与在运行的那台实现数据同步,请问如何实现。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bobibobi
2005-09-22
打赏
举报
回复
做个双机吧
zxyjyzxyjy
2005-09-21
打赏
举报
回复
也就是说,该问题如果用SQL Server提供的技术来做,要么相当复杂,还不如自已实现更容易,要么就是无解。
云中客
2005-09-21
打赏
举报
回复
楼主,有时候技术并不能把所有问题都解决,能否想办法对你们的业务方面(或者是对数据库操作及错误处理方面做一些调整),来协调技术与业务之间的关系
在使用SQL的合并复制时,是因为是对两个服务器的数据进行合并同步,所以设置时要考虑很多问题,而且出现冲突的可能很大,所以建议你能在具体的业务方面做一些调整
zxyjyzxyjy
2005-09-21
打赏
举报
回复
主次切换当然由程序来切换了。
zjcxc
2005-09-21
打赏
举报
回复
注意我说的, 主次只是其中一个问题, 而且你的主次互相切换的话, 谁来负责这个切换工作?
zxbyhcsdn
2005-09-21
打赏
举报
回复
用订阅和发布吧!!
zxyjyzxyjy
2005-09-20
打赏
举报
回复
上面的情况如能同步,那又如何做呢?具体些。
zxyjyzxyjy
2005-09-20
打赏
举报
回复
那如果有主次之分,那合并复制能实现要求??
有时主断了,次在工作,主要与次同步。
有时次断了,主在工作,次要与主同步。
zjcxc
2005-09-20
打赏
举报
回复
同步可以考虑合并复制, 但因为你的服务器没有主次之分, 服务器正常时, 是往两个服务器同时写入的, 因此合并复制在此并不适用(当然, 复制/订阅的方法在楼主的这种情况中均不适用).
如果使用SQL的作业+job实现的话, 还得在数据库的表上加标识字段, 标识那些数据已经同步, 还不如缓存未执行的T-SQL语句简单.
zxyjyzxyjy
2005-09-20
打赏
举报
回复
是啊,数据全靠程序写入。
在写入数据时,仅考虑一个用户写入的情况,这点忘记说明了。
是可考虑对没有写成功的进行缓存,这是一种解决方法。
我需要知道的是能不能通过SQL Server提供的同步技术实现这个要求,如能怎样实现。
zjcxc
2005-09-20
打赏
举报
回复
从另一角度来说, 既然是程序写的, 那么你的程序就会侦测到那台电脑没有写入, 那么将相关的T-SQL处理代码缓存起来, 待有故障的电脑恢复后, 再重新执行这些T-SQL代码不就同步了吗?
zjcxc
2005-09-20
打赏
举报
回复
没有主次服务器之分, 那就意味着你的两台服务器上的数据完全靠程序同时写入两边来实现?
这样的话本身不是容易产生冲突吗? 比如User1写完A再写B, 而User2因为User1在写A,被堵塞,因此他变成了先写B, 再写A
如果User1与User2因为某种原因都只写了一半, 这不是有问题了吗? 按道理来说, 像你这种处理方式, 在程序写入时就需要保证两台服务器要么都写入, 要么都不写入吧? 否则的话数据不是很容易混乱?
数据
同步
问题
与
解决
方案:增量全量、
数据
漂移,
数据
更新、
一、增量与全量
同步
的合并
问题
:传统
数据
同步
方式为周期全量
数据
同步
,但随着业务发展
数据
量的急剧增加,周期全量
同步
的效率太低了。
解决
方案:每个周期只
同步
增量
数据
,然后与上一个
同步
周期获取的全量
数据
进行合并,获取最新版本的全量
数据
。 传统
数据
整合方案:merge 方式(update + insert ); 当前大
数据
平台不支持 update 操作,而采用:全外连接(full outer join) +
数据
全覆盖重新加载(insert overwrite);(即如日调度,则将当天的增量
数据
和前一天的全
数据
同步
之
问题
与
解决
办法
分表分库的处理 1)传统
数据
库的分表分库处理: 2)在大
数据
系统中的做法是构建分布式
数据
库访问引擎(中间层),将分布在不同
数据
库中的表集成为一张表,业务系统像单表一样使用 3)分布式
数据
库访问引擎位于
数据
持久层与JDBC驱动之间,实现了以下功能: 高效
同步
与批量
同步
1)
数据
同步
流程:创建表–
同步
工具中配置
数据
库连接/表/字段–测试 2)存在
问题
: ①
数据
量增大时,每天会有大量重复的配置工作...
分布式系统
数据
同步
问题
分布式系统,通过
数据
冗余,来保证
数据
的安全。要写一个分布式系统,一道绕不过去的坎,那就是
数据
同步
。
同步
,这两个字,折磨死了很多人。是
同步
,还是异步?是push,还是pull?谁是master,谁是slave?下线会怎样,上线了又会怎样?中心化,or对等节点?这些
问题
,无一不拷打者分布式系统的设计者。 下面,我们将看一下主流的几个存储服务,是如何
解决
数据
同步
问题
的。 MySQL如何做主从
同步
? mysql的主服务器叫做master,从服务器叫做slave。 主服务器将变更记录在binlog中,slav
数据
同步
之关系型
数据
库删
数据
解决
方案
之前介绍了从oracle,mysql,pg等
数据
库增量
同步
数据
到hive中,并且能使关系型
数据
库中的
数据
修改之后,hive也能与之一致。但是之前的方案,只能
解决
源
数据
端的
数据
修改
同步
一致性的
问题
,而不能
解决
源
数据
端删除
数据
一致性
问题
。下面给出一个
解决
方案以供参考:如下图所示oracle和hive中正常情况下
数据
同步
应该保持一致: 但是oracle源端
数据
库进行了
数据
删除,删除了zhangsan这一
Elasticsearch实战-
数据
同步
(
解决
es
数据
增量
同步
)
一、
数据
同步
问题
分析 之前测试的
数据
都是一次从mysql导入到es,随着时间的推移,每天都有可能发生增删改查,不可能每次都全量
同步
,所以需要考虑增量
同步
问题
。 二、
解决
方案 1、
同步
调用 缺点: 耦合性高,服务之间会相互影响 2、异步通知 依赖消息队列的可靠性 3、监听binlog 4、方案对比 三、案例-利用MQ实现Mysql与Elasticsearch
数据
同步
1、导入hotel-admin项目 启动:端口8099 2、申明exchange、queue、RoutingKey /** *
疑难问题
22,210
社区成员
121,727
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章