分布式数据库查询方案哪种好?

xilo 2009-02-04 10:07:24
有两个或n个数据库(mssql)部署在不同的服务器上,现在假设是两个为A,b。

现在要用到跨库数据调用,自己想到的有3种方法:

1,使用sp_addlinkedserver,sp_addlinkedsrvlogin远程连接数据库调用,但访问的帐号要设置为
Setup Administrators和Security Administrators角色,这个会不会很不安全?
2,使用数据同步,将a库的所有表和数据同步到b库,但当所有其他数据库都有一份a库的表而且a库有很多表的时候维护起来会不会很麻烦?
3,在程序上提供数据调用接口,但涉及到大批量数据调用,而且还要分页的时候会不会效率很低?

从安全性,部署容易性,效率等方面综合考虑哪种好点?还是还有其他更好的方法?
...全文
85 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenxin_3800cc 2009-02-06
  • 打赏
  • 举报
回复
1,使用sp_addlinkedserver,sp_addlinkedsrvlogin远程连接数据库调用,但访问的帐号要设置为
Setup Administrators和Security Administrators角色,这个会不会很不安全?

链接服务器的方法是可以考虑的,安全性问题可以设置专用的帐号来解决。但是链接服务器的查询效率不高,应该注意不要返回太大数据量,以及不要太多表连接。

2,使用数据同步,将a库的所有表和数据同步到b库,但当所有其他数据库都有一份a库的表而且a库有很多表的时候维护起来会不会很麻烦?

如果经常需要跨库数据调用,同步是最彻底的方法,可以考虑使用事务复制来同步,但是同步可能带来额外的性能负担。

3,在程序上提供数据调用接口,但涉及到大批量数据调用,而且还要分页的时候会不会效率很低?

这个方法也有优缺点缺点主要是因为不能连接查询,带来客户端的很多负担,效率瓶颈转移到客户端。
wsh236 2009-02-04
  • 打赏
  • 举报
回复
1,使用sp_addlinkedserver,sp_addlinkedsrvlogin远程连接数据库调用,但访问的帐号要设置为
Setup Administrators和Security Administrators角色,这个会不会很不安全?

链接服务器的方法是可以考虑的,安全性问题可以设置专用的帐号来解决。但是链接服务器的查询效率不高,应该注意不要返回太大数据量,以及不要太多表连接。

2,使用数据同步,将a库的所有表和数据同步到b库,但当所有其他数据库都有一份a库的表而且a库有很多表的时候维护起来会不会很麻烦?

如果经常需要跨库数据调用,同步是最彻底的方法,可以考虑使用事务复制来同步,但是同步可能带来额外的性能负担。

3,在程序上提供数据调用接口,但涉及到大批量数据调用,而且还要分页的时候会不会效率很低?

这个方法也有优缺点缺点主要是因为不能连接查询,带来客户端的很多负担,效率瓶颈转移到客户端。
ChinaJiaBing 2009-02-04
  • 打赏
  • 举报
回复

踩...
nzperfect 2009-02-04
  • 打赏
  • 举报
回复
这个要看你的需求
1可以实时同步数据,至于安全,可以把密码复杂,并且不要在程序里使用
2采用复制订阅,会有一点延时
3这个效率一般不会高

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧