只需要查询的情况下,为什么数据库之间要进行数据同步?为什么不直接

只需要查询的情况下,为什么数据库之间要进行数据同步?为什么不直接用dblink查询?还可以节省空间,同步也要时间啊。我现在遇到一个情况,在数据库a中有一系列表,所有增删改... 只需要查询的情况下,为什么数据库之间要进行数据同步?为什么不直接用dblink查询?还可以节省空间,同步也要时间啊。
我现在遇到一个情况,在数据库a中有一系列表,所有增删改操作都在数据库a,现在把数据同步到数据库b,目的是让另一群人查询,只是查询,我不明白这样做的原因。
一开始是这样做的,在数据库a建立视图v,在数据库b通过dblink查询数据库a的视图v。后来出现了一次问题,某业务人员两天前在浏览器修改数据后,数据库b的视图查询不到修改后的数据,通知我之后我在数据库a查询了一次之后,数据库b又能够查询到结果,十分莫名其妙。不排除业务人员两天前没有操作成功的情况。我觉得原因是操作没有成功那个业务人员以为自己保存了。这样猜测是因为在今天数据库b的人提出查询不到最新数据的时候,那个业务人员又再操作了一次。可惜只记录了最后操作时间。
现在是,特意做了个定时任务,十五分钟同步一次到数据库b。
1.dblink查询视图是不是会出现数据延迟的情况?(不确定是不是延迟的说法,就是情况一)
2.这次数据同步有没有必要?比用dblink直接查询最明显的优势是什么?针对上面的情况
3. 另外,为什么dblink查询会有事务产生?
展开
 我来答
一颗程序猿o_0
2016-12-09 · TA获得超过6297个赞
知道大有可为答主
回答量:5403
采纳率:77%
帮助的人:1331万
展开全部
dblink使用与跨库查询的, 这里的跨库通常是指不同的服务器上的数据库, 而不是同一个服务器上的不同实例, 因此使用dblink通常会产生网络IO, 这个速度就会很慢了
dblink明显的优势就是你插到的数据是即时的
数据库同步一般有两个原因, 一个是为了安全,一个是为了减轻网络压力
比如, 在A数据库上可以做很多业务, 但是最终的结果同步到B上去, 仅仅进行查询(A可以不对外), 这样即使B遭受了攻击也不会造成什么损失
或者, A服务器上主要进行业务处理, 如果查询和业务处理同在A上进行,势必会导致带宽紧张的问题,因此可以将查询数据同步到其他服务器上,这样可以分流一大部分带宽占用
更多追问追答
追问
主要考虑安全和带宽问题?没有延迟这个情况吗?
主要考虑安全和带宽问题?没有延迟这个情况吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式