日期:2014-05-17  浏览次数:20426 次

****** 这样的 SQL 数据库要如何设计?******
我要用 VC# 程序来访问 SQL,大部份是 C/S 结构。

如果这样做可以么?例如:

1. 总部放一台 SQL 服务器,会存放所有分部的数据量,数据库的表不超过 50 个。
2. 各分部(数量以后可能达 1000 个),都会访问总部的 SQL,每分部约 3 台电脑。

3. 各分部的数据量不大,数据相对独立,实时性也一般即可,但分部桌面程序需时时连着 SQL。

想问?

1. 可以将所有数据都放在总部的 SQL 服务器中供访问么?能承受得了么?

2. 如果不可以,在每一分部都设一个SQL服务器,假如可以将总部必要的 SQL 数据同步到 分部的 SQL 里,供各自分部的桌面程序来访问,待空闲时再同步给总部的 SQL。
这样可以么?

3. 或者,你也什么好的建议,也请说说?

谢谢!
SQL?数据库 SQL 数据库 C/S

------解决方案--------------------
1. 可以将所有数据都放在总部的 SQL 服务器中供访问么?能承受得了么?
1.首先分布到总部的宽带如何?如果延迟大的话,分部到总部的查询性能会有影响。2.这么多的分部都来访问一台机器(并发会非常大的),对总部的压力会非常大,可能会影响总部应用重新的性能。3.如果可以的话最好能总部的机器同步到分部,这样性能会比较好(宽带是否可以保证) 就是你提到的第二个问题

------解决方案--------------------
1、不行,承受不了
MSSQL的连接数有个600-800好点的服务器1000就受不了,更别说你程序可能有多线程
2、就算你设置再分布,,然后每个分布300个访问点,你程序来个多线程就出问题,也不利于后续扩展
3、用B/S架构吧,或者你数据库访问部分全部做成webservice
------解决方案--------------------
1、从描述看,数据量不大,访问量也不大,可以只有一个总部数据库服务器,关键是需要保证总部服务器配置足够以及网络的质量,前者需要评估总数据量和访问量,选择足够的硬件,后者需要使用诸如vpn或者专线来解决。
2、每个分部分别放数据库的方案也是可以考虑的,这个方案的关键在于数据同步,用数据库复制或者编写同步程序都可实现。

------解决方案--------------------
引用:
1、不行,承受不了
MSSQL的连接数有个600-800好点的服务器1000就受不了,更别说你程序可能有多线程
2、就算你设置再分布,,然后每个分布300个访问点,你程序来个多线程就出问题,也不利于后续扩展
3、用B/S架构吧,或者你数据库访问部分全部做成webservice

使用短连接应该足够的

------解决方案--------------------
祝你成功!
------解决方案--------------------
引用:
先谢谢各位,我想这样做了:

1. 将所有分部数据库 分成 5~10 个左右,这几个数据库各自独立。

2. 用一个程序负责将这几个数据库汇集到一个总的 SQL 服务器中,如果需要查询总数据是就用这个库。

这样应当就减轻了不少吧?


我看行,可以通过SSB将分部的数据发送到总部。
------解决方案--------------------
引用:
祝你成功!
纠正以下,是SSD不是SSB?