在报表模块,最让人害怕的就是数据查询压力。有可能你辛辛苦苦设计好、测试完成、然后上线了,最后这个模块崩掉了,用不了,这就很让人绝望了。
一般来说,这有可能会是因为查询人数多、查询次数过于频繁,还有可能和数据的存储方式有关。如果查询人数多、查询次数过于频繁而导致的数据压力大,那么这时候就需要对数据查询进行限制。
如果是历史数据,则需要限制数据查询时间,在选择时间的逻辑上增加限制。比如说:时间选择最早只能选择两年前到当天的数据。这样的话,在数据上的数量上限制了可查询的数据,减小了查询压力。而实时数据的限制则会更甚,大多是【今天】、【昨天】、【最近3天】、【最近7天】,更远也只是【最近1个月】。当然如果是数据存储方式所导致数据查询压力大,那可能需要改变数据的存储方式。历史数据当然是存在数据库里的,数据是比较稳定的。但实时数据则不是,实时数据则没办法存在数据库了,它是直接从数据上报系统中拉取数是实时更新的。
同时,从数据量上来比较,历史数据是一天上报一次,数据量比较少,而实时数据则是每隔几分钟上报一次,数据量十分巨大,对存储压力和查询压力来说,都是一个不小的挑战。
如果遇上实时数据表格上线后崩掉了的情况,可以尝试和后端沟通,能不能去掉一些增加数据查询压力的功能,比如:表格里的手动数据排序功能,或者改变一下数据的存储方式,采用更稳定的数据存储。那如果技术方便没办法解决,那可能需要产品自己思考改变方案,采用其他方案来满足需求。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。