大数据量统计运算提速方式探讨
——唐山平升软件部
在软件系统中,经常需要提供各种统计数据,而每次生成这些数据都需要耗费较长的时间。这不但给系统带来了很大的负担,而且用户的体验也不好。可是这类情况在软件系统中应该如何应对呢?
抛开升级硬件,更换开发工具、数据库软件等手段,我们可以通过空间换时间的方式来达到提速的目的。将运算从集中运算分摊到系统的空闲时间来完成,并将中间结果(或最终结果)存储,用于用户统计时使用。对比如下图:
具体实施时我们常用的有两种方式:
方式1:
实时计算中间结果并存储,统计时用中间结果快速生成统计结果。
优点:中间结果可以作为多种统计运算的源数据。
缺点:系统复杂度增加;存储的数据量变大。
关键点:
1.中间结果的量应远小于原始数据,否则达不到加速的目的。
2.中间结果应根据项目情况来选取,没有哪种中间结果是适用所有统计的。
3. 需处理好原始数据与中间结果的一致性问题。
方式2:
计算最终统计结果并存储,使用时直接显示结果。这种方式根据使用情况不同又可分为两种:
实时运算:如当前系统的年总用水量,每次系统中有新数据则累加到总量上即可,系统结果实时更新。
定时运算:如每月20日为结算日,这时可以在20日2点执行结算统计,并将结果存储起来供调用。
优点:仅存储最终结果,系统数据量小;使用时直接显示结果,显示速度快。
缺点:运算模块通用性差,基本上属于定制。
关键点:
1.此种方式适用于不需要外部输入条件的统计。
2.根据用户使用需求,正确选择是实时运算还是定时运算。
以上只是对于大数据量的统计运算的一种处理思路,仅供参考。
相关产品:
云平台软件: http://www.data86.com/?p=5560