日期:2014-05-18  浏览次数:20521 次

求对实时大量数据插入的表,同时又需要不间断查询的解决方案
后台有一个vc做的日志分析程序,只要日志满足了一定条件,就会往sqlserver里面插数据,插入的方式是bulk insert,而且是几台不同的服务器分析程序同时往一个数据库里面插入数据,量也非常的大。
另外有一台分析服务器通过ssis每隔半小时会从这个插入的表里抽取数据,这样的结果就是这个表的插入和查询非常频繁,效率非常低。
跪求一个比较好的解决方案,感激不尽。。。

------解决方案--------------------
引用楼主 deleteall8 的帖子:
后台有一个vc做的日志分析程序,只要日志满足了一定条件,就会往sqlserver里面插数据,插入的方式是bulk insert,而且是几台不同的服务器分析程序同时往一个数据库里面插入数据,量也非常的大。
另外有一台分析服务器通过ssis每隔半小时会从这个插入的表里抽取数据,这样的结果就是这个表的插入和查询非常频繁,效率非常低。
跪求一个比较好的解决方案,感激不尽。。。

------解决方案--------------------

插入前需要优化下,例如插入前去重,防止重复插入等等
------解决方案--------------------
探讨
引用楼主 deleteall8 的帖子:
后台有一个vc做的日志分析程序,只要日志满足了一定条件,就会往sqlserver里面插数据,插入的方式是bulk insert,而且是几台不同的服务器分析程序同时往一个数据库里面插入数据,量也非常的大。
另外有一台分析服务器通过ssis每隔半小时会从这个插入的表里抽取数据,这样的结果就是这个表的插入和查询非常频繁,效率非常低。
跪求一个比较好的解决方案,感激不尽。。。


插入数据,不建…

------解决方案--------------------
探讨
引用楼主 deleteall8 的帖子:
后台有一个vc做的日志分析程序,只要日志满足了一定条件,就会往sqlserver里面插数据,插入的方式是bulk insert,而且是几台不同的服务器分析程序同时往一个数据库里面插入数据,量也非常的大。
另外有一台分析服务器通过ssis每隔半小时会从这个插入的表里抽取数据,这样的结果就是这个表的插入和查询非常频繁,效率非常低。
跪求一个比较好的解决方案,感激不尽。。。


插入数据,不建…

------解决方案--------------------
引用楼主 deleteall8 的帖子:
后台有一个vc做的日志分析程序,只要日志满足了一定条件,就会往sqlserver里面插数据,插入的方式是bulk insert,而且是几台不同的服务器分析程序同时往一个数据库里面插入数据,量也非常的大。
另外有一台分析服务器通过ssis每隔半小时会从这个插入的表里抽取数据,这样的结果就是这个表的插入和查询非常频繁,效率非常低。
跪求一个比较好的解决方案,感激不尽。。。

------解决方案--------------------
问题是 
1,数据处理程序是不是读的你插入的那个表? 
2,那个表是不停的在插入的 
3,不建索引读取是不是很忙慢? 
-----------------------------------------
之所以要建立插入的数据存放表是为了确保数据插入的速度。
其实就是插入数据的缓冲区,每半小时的插入量应该不会太大吧。
因为读取后就删除,应该不需要索引,由于是整表读取和删除,索引也没有用呀。
之所以建立这样的缓冲区,就为了隔离事务,将数据采集与数据处理进行隔离,
这样才能确保数据采集不受阻,保障采集数据不丢失。


------解决方案--------------------
做镜像至少有下面好处

1 分担负载 一台服务器主insert 一台主query 且两台基本实时同步
2 避免lock阻碍 大量insert过程耗时较长 如此时进行涉及rid级x锁的query会等待锁释放从而大大降低效率 当然允许脏读也是一种办法