请教SQLSERVER海量数据处理实践!

softlife 2007-08-20 09:48:31
大家好,问题是这样的:
我们设计一套系统,以前是分点实施应用的,共100点,目前需要将100点的异地数据大集中,全部实施联机处理.
数据情况如下:
客户数据大约为2万/点,100点大约为200万

每客户对应的其它情况数据平均为3条,也就是其它情况表中的数据大约为6万/点,100点大约为600万

一个月要多次更新客户其它情况的数据,大约频率为15次/点/月,更新的数据为全部数据,也就是说每次每点更新6万条记录,100点大约为600万.
将这些更新的记录每次记录下来,一个月的数据大约以15*600万=9000万递增.

我们目前所用的数据库为SQL SERVER2000,分点实施的时候,没有任何问题,数据集中后,出现速度慢,连接超时,查询报错,或查询死机等情况!
基于以上情况,我想请问各位大侠:
1:对于这种海量数据,SQL SERVER能处理吗?
2:若能处理,需要采用什么解决方案,怎么处理好啊! 本人原想使用SQL SERVER集群来解决,但SQL SERVER集群无法做到负载平衡,后来想利用SQL SERVER2005表分区来实现,但表分区机制涉及的成本比较高,并且我们都没有实施经验.
烦请各位大侠赐教啊!
...全文
1200 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
Liyingyue_FFS 2008-09-16
  • 打赏
  • 举报
回复
可以这样理解么?
你的系统原来是100个地方局,现在建立一个中心服务器,所有的地方局的数据汇总更新到中心局,所有的数据查询任务在中心局完成

数据集中后,出现速度慢,连接超时,查询报错,或查询死机等情况!请问这些情况是出现是出现在哪个步骤上的,从地方局往中心局汇总数据?还是在中心局查询数据


另外sqlserver对大数据量处理没有问题的。现在我用到的一个系统sqlserver2000大概每15分钟汇总200W数据的
华芸智森 2008-09-16
  • 打赏
  • 举报
回复
如何表整理,我发过一个贴.
http://topic.csdn.net/u/20080522/18/4d6b9c34-bf96-47a3-9ed3-d63be988bfec.html
注意.里面的过程要按你实质的情况修改,不过,最好还是手工操作.过程只是说明了原理.
华芸智森 2008-09-16
  • 打赏
  • 举报
回复
1.你问题的瓶竟就是硬盘,用改为DB2也好,ORACLE也好,MYSQL也好,对于海量数据,在一个台机子上,我估计结果根本就是一个样,没有多大差别的.
2.最好的,就是分区视图,各服务器间用独立的交换机连接.
3.如果是想在一台机上解决,就象上面说的,多装硬盘,表分区或一表一个文件,并且要整理.
Garnett_KG 2008-09-16
  • 打赏
  • 举报
回复

有点不明白哦..

异地数据大集中?合并后每个点的客户需要访问其它点的数据吗?访问的频率有多大呢?

可否就按照目前的架构合并呢,即这100个点的数据还是单独存放,需要访问异地的数据

就用分区视图(Linked server)去抓..这样行不行呢
华芸智森 2008-09-16
  • 打赏
  • 举报
回复
18楼中说的一个月一个表,补充一下:一个月一个表一个文件.
华芸智森 2008-09-16
  • 打赏
  • 举报
回复
还有,把TEMPDB分离到一个独立的硬盘上,把事务和日志分离到另一个独立的硬盘上.硬盘不用太大,你系统要的是硬盘的数量.你这种情况下就算是 RAID 不会给你带来多大的性能提长的.
华芸智森 2008-09-16
  • 打赏
  • 举报
回复

1.装两个SCSI卡,装12个 SCSI 硬盘.用于存放数据.
2.系统按月分表.一个表一个月的数据.每个月完毕后对上个月的数据重新整理.每年的数据按月分在这12个石硬盘上.就是:1月份在一号硬,2月在二号盘.....
3.取数据用过程取.

Mybolg 2008-09-15
  • 打赏
  • 举报
回复
数据真的是很大 要是没有很好的经验真的很难处理好

小弟是菜鸟不能给什么答案 希望早点能解决吧但是听说

oracle很好在处理大数据量的时候

顶了
softlife 2008-09-15
  • 打赏
  • 举报
回复
顶上,希望能得到更好的解决方案
losenetway 2007-09-11
  • 打赏
  • 举报
回复
应该说 修改对于不需要太多的历史数据,
查询需要所有的数据,
可以考虑将报表等定时生成,查询服务器和数据修改服务器分离,
定时将数据修改服务器的数据更新到查询服务器上。
nextflying 2007-09-11
  • 打赏
  • 举报
回复
梦醒了就知道怎么处理了
no_mIss 2007-09-11
  • 打赏
  • 举报
回复
可以考虑将不用的数据转移至其它服务器
softlife 2007-08-21
  • 打赏
  • 举报
回复
自己顶
撸大湿 2007-08-20
  • 打赏
  • 举报
回复
1、优化代码。特别是那些耗时最离谱的操作,跟踪一下就一目了然。再不行看第3条
2、剔除使用最频繁统计实时查询,改为分时、隔天、隔周等方式。
或改为数据仓库形式。
3、投资硬件,架设多台DB同步机,把频繁的业务查询功能分散到不同的同步机上。
主DB只做业务添加、修改和删除操作。
4、建立良好的DB维护计划,从主业务表中定期隔离或删除部分无用的(或垃圾)数据。
定期删除LOG纪录,或把LOG纪录查询单独架在同步机上。定期维护索引,拉长DB备份周期,
如果硬盘做过RAID,一天一次完全备份+N次增量就足够了。







5、再不行只能求神拜佛吧。。。。。
蒋晟 2007-08-20
  • 打赏
  • 举报
回复
增量更新不行么
softlife 2007-08-20
  • 打赏
  • 举报
回复
楼上,所谓的点也就是异地使用系统的端.
这样的数据对于SQL SERVER来说,我认为是很大了
希望有更详细的解决方案
comszsoft 2007-08-20
  • 打赏
  • 举报
回复
没完全看明白,是不是这个意思,
合并后
有一个主表有大概 200w 记录,
一个附表大概 600w 记录,
每月对两表操作大概 9000w 次,
如果是,那相关数据就是800w,好像也不多阿,所谓的点什么我还真不明白。
whw123456 2007-08-20
  • 打赏
  • 举报
回复
路过,帮顶~
mengmou 2007-08-20
  • 打赏
  • 举报
回复
数据集中后,出现速度慢,连接超时,查询报错,或查询死机等情况!
-------
找原因啊
dawugui 2007-08-20
  • 打赏
  • 举报
回复
我个人认为要用到ORACLE了.
加载更多回复(4)

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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