统计项目开发总结

本文分享了在统计项目中采用的各种优化技巧,包括利用定时任务进行数据预处理,使用存储过程加速复杂查询,以及通过ehCache和springcache实现数据缓存。同时,探讨了项目在复杂统计逻辑上存在的延时问题,并提出了引入大数据技术提升性能,实现数据价值挖掘的未来方向。
摘要由CSDN通过智能技术生成

最近一直在做统计相关的项目,项目背景和行业方向就不做过多的描述,针对已经做过的工作,整理下开发中的得与失,以及常见的统计技巧。

一、项目架构。

项目开发工具:IDEA2018-02

开发语言:java1.8_131

数据库:mysql5.7.1

项目架构:springboot(后端)+bootstrap、thymeleaf(前端)。

二、数据库统计技巧

1.建立统计表,程序或数据库执行定时任务跑出数据,通过执行统计sql将数据插入统计表。报表统计直接查询统计表。

方案优点:大量数据下查询速度快,数据响应及时。方案缺点:定时任务需控制时间,做不到实时查询。

2.建立存储过程,对执行统计sql语句相对复杂但并不耗时的数据库操作,建立对应的存储过程。本人测试过,存储过程对且繁调调用20秒左右的sql,可提高查询时间3-5秒,具体根据数据量而定。

方案优点:一定程度提高查询效率,sql错误直接修改数据库,程序0改动。方案缺点:无法显著提高查询时间,复杂sql实时查询依旧慢。

三、程序缓存

1.ehCache+springcache做程序缓存,对界面查询缓慢的数据,可放在程序缓存中。在查询条件不改变时,可直接先查询缓存取出数据。

方案优点:直接从内存或磁盘取出,查询速度快。方案缺点:数据非实时,更改查询条件依然查询慢。

目前项目采用的基本还是传统的java项目实现思路,除部分统计做到实时查询,相对复杂的运算统计逻辑存在一定延时。未来更近一步的解决思路,借助大数据相关的技术,提高项目的性能,做出根据数据特征的态势感知,真正去挖掘数据背后的价值。

开发总结:

1.数据统计一定建立在对数据结构,业务方向逻辑充分了解的前提下。预先理清需求,时间维度可能变化的量,统计项中不确定的量。

2.动手写统计sql之前,一定要弄清对照数据的来源,在写好统计后对照来源数据,确保数据的准确性。

3.设计不合理之处及时指出,统计项要有数据来源,数据出处,即追溯到元数据,无原始特征数据协调解决。数据发掘不能时空中楼阁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值