小 T 导读:昆岳互联的“a环保”APP基于自主打造的环保产业互联网平台(INECO平台),对环境基础设施海量数据实时处理与分析,可以秒级实时采集工业大气环保各项监控指标的数据,分别通过年、月、日三个维度,结合不同的采集频率周期,对采集到的海量数据进行分析、展示,在时序数据库的选型中,经过对比,最终选择了TDengine。
程序设计
整个数据采集服务基于MQTT协议开发,通过阿里巴巴的nacos集群实现配置和服务发现,通过feign模式调用其他微服务模块的业务数据,来对上报的数据进行业务解析,并将解析的结果存入对应监控指标对应的点位表中。采集服务采用mybatis-plus的多数据源配置,使用的是目前性能最佳的HikariCP数据连接池,分别配置MySQL和TDengine两个数据库连接,实现了多数据源的无缝切换。整个采集服务基于容器化部署,采用Kubernetes进行容器编排,通过分布式锁方式避免了数据重复入库,提高了数据的解析速度,实现MQTT的分布式分组采集。
数据库选型
我们公司对比了阿里的时序时空数据库TSDB、传统的 MySQL 以及 TDengine。
与传统数据库对比
-
MySQL :查询效率低,需要按数据时间分库分表,应用场景不合适,