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

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

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

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

从安全性,部署容易性,效率等方面综合考虑哪种好点?还是还有其他更好的方法?
...全文
266 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiang5311 2009-02-06
  • 打赏
  • 举报
回复
用复制吧,大多数企业级别都是用这个的,包括我们公司,呵呵
claro 2009-02-05
  • 打赏
  • 举报
回复
帮顶
Formular1 2009-02-04
  • 打赏
  • 举报
回复
复制是最常用的模式,ms优化的重点,放心用吧
fantuan 2009-02-04
  • 打赏
  • 举报
回复
复制是个好办法。
Yang_ 2009-02-04
  • 打赏
  • 举报
回复
1,使用sp_addlinkedserver,sp_addlinkedsrvlogin远程连接数据库调用,但访问的帐号要设置为
Setup Administrators和Security Administrators角色,这个会不会很不安全?

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

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

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

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

这个方法也有优缺点缺点主要是因为不能连接查询,带来客户端的很多负担,效率瓶颈转移到客户端。


zhnzzy 2009-02-04
  • 打赏
  • 举报
回复
所以3也是可以考虑的
zhnzzy 2009-02-04
  • 打赏
  • 举报
回复
我觉得你还可以在应用程序里面弄2个连接字符串,想查那个查那个
lchstudy 2009-02-04
  • 打赏
  • 举报
回复
复制也具有可维护性(增加表,修改表等都行),没事。用吧!
但当数据量很大时,会有延时。各个库数据会暂时不一致。
chen2319 2009-02-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Yang_ 的回复:]
1,使用sp_addlinkedserver,sp_addlinkedsrvlogin远程连接数据库调用,但访问的帐号要设置为
Setup Administrators和Security Administrators角色,这个会不会很不安全?

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

2,使用数据同步,将a库的所有表和数据同步到b库,但当所有其他数据库都有一份a库的表…
[/Quote]

顶 学习
zjcxc 元老 2009-02-04
  • 打赏
  • 举报
回复
经常查询的话, 一般采用2
偶尔查询, 或者查询的数据量不多, 可以考虑1

34,594

社区成员

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

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