社区
MySQL
帖子详情
数据库数据同步问题
hnwszdg116
2010-07-21 09:28:48
我现在设计的是一个C/S系统,客户端有多个,由于考虑到网络环境,当某些客户端断网的情况下,客户端的产生的数据先保留在本地的数据库中,
一旦网络通了,有什么好的办法能让客户端的数据和服务器端的数据同步呢?
另外客户端是分散的,不在同一个局域网内,由于每一个客户端都带有一个数据库,这样多个客户端数据库都要和服务器端同步,一般这样的系统如何设计?
...全文
38
2
打赏
收藏
数据库数据同步问题
我现在设计的是一个C/S系统,客户端有多个,由于考虑到网络环境,当某些客户端断网的情况下,客户端的产生的数据先保留在本地的数据库中,一旦网络通了,有什么好的办法能让客户端的数据和服务器端的数据同步呢?另外客户端是分散的,不在同一个局域网内,由于每一个客户端都带有一个数据库,这样多个客户端数据库都要和服务器端同步,一般这样的系统如何设计?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
loveflea
2010-07-21
打赏
举报
回复
这个只有您自己写程序实现了
比如本地的表都有一个表示同步的字段sync tinyint default 0
您把数据发送到服务器上后,就把本地的删除或者把sync改成1
ACMAIN_CHM
2010-07-21
打赏
举报
回复
这个没有办法,只能缓存在用户自己的机器上了。等到联线的时候,再由用户上传同步到数据库。这个与数据库本身没什么关系了。需要定义你的程序中如何实现。
Qt高级系列之8:Qt多线程线程池
数据
同步
机制及文件下载器项目实战
1.带领您深入学习QT5/C++:Qt多线程线程池及
数据
同步
机制 ,多线程文件下载器项目实战,继承自QThread,继承自QObject,QRunnable和QThreadPool,QtConcurrent,Qt多线程技术与
数据
加锁保护机制:QMutex,QSemaphore,QReadWriteLock,QWaitCondition;Qt线程池技术、Qt
数据
库
连接池、等。2.所有章节均有理论知识介绍、接口讲解、实例代码讲解,讲解过程中不断穿插老师在开发过程中遇到的
问题
及解决方法(可以下载所有的电子课件与源码)。
Redis与
数据
库
数据
同步
解决方案
但是很明显的,这将整体的复杂性提高了,而且本来我们在系统代码中能很轻易完成的功能,现在需要依赖第三方工具,而且系统的整个边界扩大了,变得更加不稳定也不好管理了。也就是说将Redis中的
数据
变化
同步
到
数据
库
,那么这里是将Redis做为db,而真的db,
数据
库
只作为备份。(注意,这里是一种不同看待事物的方式)。很明显的,无论定时任务的间距有多小,都会留下时间缝隙,如果发生宕机,故障等都会造成
数据
的不一致性。很明显这种方案,只能保证最终一致性,而且变更
数据
复制,队列维护,这些杂七杂八的东西太复杂,抛弃。
多
数据
库
数据
同步
问题
的处理方式
对于分库(垂直分割,根据业务分库)
数据
如何确保
数据
最终一致性,这里说明一下为什么进行
数据
同步
,而不是通过服务调用获取。这里主要是对应于公共的
数据
信息,比如(人员,组织等)关联的
数据
多,查询量大通过本地
数据
库
保存一份的方法来降低全局
数据
库
的压力,提高查询效率。 实现的方法有如下几种: 1.直接查询变动
数据
同步
写一个定时任务扫描要
同步
的表
数据
,当有
数据
变动...
数据
库
之间的
数据
同步
数据
库
之间的
数据
同步
有以下几种情况:第一种是在非业务工作时同构
数据
库
之间
数据
同步
,这种情况下,只有存量
数据
库
。只需要将源库中的
数据
文件拷贝的目标库,目标库加载
数据
文件即可。第二种是在非业务工作时异构
数据
库
之间的
数据
同步
,这种情况 下,只有存量
数据
库
。需要将源库中的
数据
以SQL
数据
形式导出,然后加载到目标库即可。第三种是在业务工作时同构
数据
库
之间的
数据
同步
,这种情况下,存量
数据
同步
方法是:将从源库将...
【Redis】redis跟
数据
库
的
数据
同步
问题
从上面的解决方案来看,先不说Redis、
数据
库
的操作先后,
数据
库
的操作始终都是更新,但是Redis不一样,Redis有两种方案,一是更新(也就是直接在Redis中写入更新的
数据
),二是删除Redis中的缓存,那么接下来我们就看看这两者有什么区别。从上面的图可以知道,如果更新
数据
库
失败的话,那么即使删除Redis缓存成功了,在重试期间,下一次读取出来的
数据
还是之前的旧
数据
,即使重试成功了,
数据
库
的
数据
更新了,但是Redis中已经被重新缓存了旧
数据
,这样两边的
数据
就不会一致。这个
问题
的解决方案就是采用。
MySQL
56,681
社区成员
56,709
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章