日志监控系统中,大批量查询mysql方案

最近开发遇到一个问题:需要查询一个大时间段内的数据,分1000个小段,即为1000个点。X轴是时间,Y轴是该小时间段内统计后数据。注意:数据返回是一个list,其中每个对象返回值都是该小时间段内数据统计出来的,且需要根据入参顺序返回(这样前端展示就方便)。举例,查询12点到1点的数据,查询频率是30分钟,那么就需要查询11:30-12:00,12:00-12:30,12:30-1:00这三段数据(因为监控系统都是查询过去的数据,所以12点的那个值应该是之前半个小时的)。问题来了,

方案一:直接热查数据库,1000次,最终30s+,淘汰!

方案二:由于多次查库,1000次肯定耗时多,所以采用一次查库,把条件凭借成一个sql,用union all 把每个小时间段查询出来的数据并集,耗时20S,且存在sql过长报错的问题(默认1M)

方案三:直接查询一个大时间段的数据,不统计,直接把库内数据返回,在代码中(即内存中)遍历一遍返回list,对每一个实体,遍历时间段,把这个实体匹配到这个时间段内,map(key,List),key是段号,List存该时间段内的实体。最终统计每个时间段内的数据。第三种方案,耗时1-2秒,再次证明了耗时IO>内存的真理。其中这里有一个细节:为了保证返回数据有序(时间段先后),这里map采用了TreeMap,自然排序即可。

时间: 2024-10-14 01:32:44

日志监控系统中,大批量查询mysql方案的相关文章

【转】Spark Streaming 实时计算在甜橙金融监控系统中的应用及优化

系统架构介绍 整个实时监控系统的架构是先由 Flume 收集服务器产生的日志 Log 和前端埋点数据, 然后实时把这些信息发送到 Kafka 分布式发布订阅消息系统,接着由 Spark Streaming 消费 Kafka 中的消息,同时消费记录由 Zookeeper 集群统一管理,这样即使 Kafka 宕机重启后也能找到上次的消费记录继而进行消费.在这里 Spark Streaming 首先从 MySQL 读取规则然后进行 ETL 清洗并计算多个聚合指标,最后将结果的一部分存储到 Hbase

Centos系统中彻底删除Mysql数据库

步骤: 1.输入命令查询系统中已安装的mysql. rpm -qa |grep -i mysql 2.逐个卸载mysql. yum remove 系统显示已安装的mysql 比如:yum remove mysql-community-server-5.7.19-1.el7.x86_64 3.卸载完成后使用find命令来查找系统中存在的mysql文件夹. find / -name mysql 4.使用rm -rf命令逐个删除文件夹路径即可. 比如:rm -rf /etc/logrotate.d/m

“北斗”导航系统和无线电台在无人机监控系统中的应用

针对GPS系统为美国军方控制的现状,研究了以我国已具备区域导航定位的能力的"北斗"卫星导航系统和无线数传电台为核心的无人机状 态监控系统.系统以MSP430系列处理器为控制单元,利用UM220"北斗"导航接收机获取无人机的状态信息,通过无线数传电台EL805将机载信息发 送至地面监控中心以及接收地面监控中心的控制指令,并利用虚拟仪器软件LabVIEW开发无人机监控平台,实现无人机飞行姿态的监控.引入范数的概念对" 北斗"导航定位性能进行分析.实验

高清网络视频监控系统中交换机的选择

目前视频监控系统已经完成从传统模拟视频监控到数字视频监控的全面升级,并逐渐发展到高清网络数字视频监控阶段,利用现有的办公网络.行业专网.光纤专网,甚至互联网和无线网络等基础架构,搭建以区域安防.生产监视等不同目的的高清网络视频监控系统.其中百万级像素网络摄像机的大规模普及,既解决了传统模拟视频监控系统清晰度不足的尴尬局面也提高了监控系统的便捷性和安全性. 高清网络视频监控系统优势 先进性:利用现有的综合布线网络传输图像,进行实时监控系统所需的前端设备少,连线简洁,后端仅需一套软件系统即可; 可靠

mac系统中搭建apache+mysql+php的开发环境,安装mysql后,登录报错:mac ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

php新手在mac系统中搭建apache+mysql+php的开发环境(按照这篇博客来操作的:http://my.oschina.net/joanfen/blog/171109?fromerr=xvCsafCe),在安装配置mysql完毕后,登录mysql,报错:mac ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO),折腾很久,终于解决,随手记录下,备忘. 解决方法: 第一步:如

Elasticsearch and kibana and filebeat 轻量级日志监控系统

Elasticsearch and kibana and filebeat Elasticsearch and kibana and filebeat 轻量级日志监控系统 说明: elasticsearch 依赖java Logstash 依赖于JVM,内存消耗比较高 filebeat go语言轻量级日志监控系统 安装 elasticsearch-6.2.3.tar.gz filebeat-6.2.3-linux-x86_64.tar.gz kibana-6.2.3-linux-x86_64.t

组态软件在电动汽车充电站监控系统中的应用

一.概述 电动汽车充电站是电动汽车使用过程的一个支撑部分,也是电动汽车商业化.产业化过程中的重要环节.充电站工作的性能直接影响动力电池的使用寿命和安全性,建立一套充电站监控系统,通过监视充电设备对动力电池进行充电的过程,采集充电设备状态.动力电池的电压.电流.容量以及电池温度等信息,对采集的信息进行快速入库,并建立一个可以高效查询和数据处理分析的信息管理系统,对电动汽车运行安全,改进动力电池质量,提高充电站运行效率具有非常重要的意义. 图形.声音和列表方式的多种报警方式,直观.及时的根据设置进行

CentOS 6.5系统中安装配置MySQL数据库

就像Windows server 2003,2008中一般安装的是Sql Server 数据库,在linux系统中一般安装的是mysql数据库,而且Mysql数据库的第一个版本就是发行在Linux系统上的. 一.mysql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.MySQL的SQL语言是用于访问数据库的

M1306B-GPRS模块在煤矿税收监控系统中的应用

一. 前言 煤炭采掘行业产量难以核实,计量不准确,税务部门很难掌握其生产情况,税务部门在加强煤炭行业税收征管方面尽管采取了多种措施,但是煤炭行业税收管理中的问题仍没得到根本的解决,煤矿企业偷逃税款的现象比较严重,煤炭行业已成为税务管理的一个难点.据国内某产煤大省有关部门的调查报告显示:这个省“小煤窑”一年偷逃的国家税款保守估计也在亿元以上.煤矿企业税收到底为什么这么难管,主要存在以下三大原因: 1.煤炭行业生产经营情况复杂,税务机关不易控管.煤炭生产属地下作业,生产时间.工人数量.产量难以监控: