积极答复者
各位大师,这样的“数据分层汇总”过程应该怎样优化???

问题
-
各位大师,这样的“数据分层汇总”过程应该怎样优化???
1、数据由“采集端”过来,一天大概有“6500*24*4=624000”条数据写入数据库。 一天86400秒,这样一秒要写“624000/86400=8”条数据。
2、一条数据过来,要经过一系列复杂的过程。过程如下:
(1)判断数据的合法性,处理报警信息。
(2)数据插入历史数据表。
(3)判断数据是否需要计算“增量”。不需要计算的话,插入另一个表。
(4)需要计算的话,判断增量是否为“0”。
(5)增量不为零,数据插入基础表的“年表、月表、日表、时表”。
(6)分别计算,“A、B、C、D、E”类对应的“年表、月表、日表、时表”数据,也就是“20张表”数据的计算、插入、更新。需要计算“年、月、日、时”的“同比、环比”,单位转化值等,有大量的计算和查询。几乎查表的库中所有的信息表,完成了汇总。
3、这样的汇总现在由“一个存储过程”完成,“计算量、查询量”都非常的大。写入一条数据要“30”到“60”秒,离一秒钟“8”条数据的要求差别太大。
要确保展示的是最新的数据,所以数据又必须实时的汇总,也就是及时的汇总,因此不能采用“作业”进行批量处理。
这样的话应该怎么办呢?这样的“及时的大量的数据”应该如何处理??? 还请各位大师多多指教。Science and technology is my lover.
答案
-
可以考虑用 SSIS 去处理里面的大部分步骤
- 已建议为答案 Amy PengMicrosoft employee, Moderator 2012年10月30日 7:08
- 已标记为答案 Amy PengMicrosoft employee, Moderator 2012年11月5日 1:25
-
- 已建议为答案 Amy PengMicrosoft employee, Moderator 2012年10月30日 7:08
- 已标记为答案 Amy PengMicrosoft employee, Moderator 2012年11月5日 1:25
-
各施各法,良好设计能解决90%的问题。主要还是关注数据的特点
比如是7*24的写入数据?还是有空余时间不写。。若是,则利用空余时间做聚集汇总,就不需要每一条去更新一次汇总
方式、手段多,只能说实事求是。。。
Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com
- 已建议为答案 Amy PengMicrosoft employee, Moderator 2012年10月30日 7:08
- 已标记为答案 Amy PengMicrosoft employee, Moderator 2012年11月5日 1:25
全部回复
-
可以考虑用 SSIS 去处理里面的大部分步骤
- 已建议为答案 Amy PengMicrosoft employee, Moderator 2012年10月30日 7:08
- 已标记为答案 Amy PengMicrosoft employee, Moderator 2012年11月5日 1:25
-
- 已建议为答案 Amy PengMicrosoft employee, Moderator 2012年10月30日 7:08
- 已标记为答案 Amy PengMicrosoft employee, Moderator 2012年11月5日 1:25
-
-
各施各法,良好设计能解决90%的问题。主要还是关注数据的特点
比如是7*24的写入数据?还是有空余时间不写。。若是,则利用空余时间做聚集汇总,就不需要每一条去更新一次汇总
方式、手段多,只能说实事求是。。。
Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com
- 已建议为答案 Amy PengMicrosoft employee, Moderator 2012年10月30日 7:08
- 已标记为答案 Amy PengMicrosoft employee, Moderator 2012年11月5日 1:25