智能环保系统通常涉及大量的传感器和监测设备,以收集环境数据并对其进行分析和处理,这些数据通常是时序数据,即在一段时间内按时间顺序生成的数据,规模庞大且要求快速准确地进行分析和处理。也因此时序数据处理是智能环保系统面临的一个重要难题,很多项目在创建之初采用了传统的大数据解决方案,随着数据体量的日益增长,性能差、效率低、成本高等问题逐渐显露。在本篇文章中,我们汇总了三个典型的智能环保项目的数据架构升级实践,给到有需要的企业参考。
中科惠软 x TDengine
“以往智慧环保项目我们采用传统数据库架构设计,对在海量秒级监测数据实时统计和分析耗时长、CPU 和内存利用率低、磁盘 IO 超负荷。在 A 市智慧环保物联网应用项目我们创新使用了 TDengine,利用了实时流式计算相关函数,解决了大数据存储和计算,降低了代码开发复杂度,让运维工作变得极为简单,极大降低了运营成本。”
业务背景
中科惠软承建的 A 市“智慧环保”物联网应用项目需要采集各类感知设备产生的监测数据和监控设备各种运行状态,项目每天采集各类监测数据 2 亿余条,如果使用公司原架构,可以勉强将每天的数据存储下来,但如果需要实现“某天下午两点 A 路段有多少辆渣土车通过”类似条件的多纬度分组聚合查询,那么采用传统的数据库就无法达成这类查询需求了。考虑到各类感知监测设备会时刻产生大量秒级和分钟级监测数据存储和实时计算,在经过多个时序数据库(Time Series Database)之间的性能和稳定性方面对比,最终,中科惠软采用了 TDengine 对生态环境监测数据进行实时存储、计算。
中科惠软选型测试结果
昆岳互联 x TDengine
“应用 TDengine 后,在进行每分钟的平均量进行实时计算时,我们只需要简单的定义时间窗口和滑动增量,数据库就能返回每分钟的平均量;在处理实时监测、预警的指标上,可以专门为这类数据建立流计算,并将计算结果写入新的表(如下strm_pt_0304)中存储,这样整个实时计算的结果也可以做历史回顾。原本很多需要在程序中处理的数值计算,现在完全都由 TDengine 承担,不仅分担了程序的计算压力,更重要的是聚合结果可以自动持久化存储,支持历史数据即时回看。”
业务背景
昆岳互联的“a 环保”APP 基于自主打造的环保产业互联网平台(INECO 平台),对环境基础设施海量数据实时处理与分析,可以秒级实时采集工业大气环保各项监控指标的数据,分别通过年、月、日三个维度,结合不同的采集频率周期,对采集到的海量数据进行分析、展示。在进行数据库选型中,分别对比了阿里的时序数据库 TSDB、传统的 MySQL 以及 TDengine 后,最终 TDengine 凭借着高效的性能和独特的设计思路脱颖而出。
架构图
广东环境科学研究院 x TDengine
“我们的一张超级表中存储了 76.5 亿条数据(四张超级表总共 160 亿条数据),分散在 19,419 张子表中,平均每张表 39 万行。由于 TDengine 超级表特性,再加上列式存储和超高的压缩能力,这些数据仅占用了 240GB 内存,不仅帮助我们节省了大量的存储空间,也为数据查询性能打下了良好的基础:对于 76 亿行的超级表,分组 TOP 查询仅用了 0.2 秒;基于 TDengine 返回 2,968 行,仅用了 0.06 秒。”
业务背景
为解决国内环境质量管理、污染源监管和数字政府等生态环境数据的管理工作,广东科学研究院创建了生态环境数据治理服务项目,帮助企业打通所有相关的业务信息系统、建立数据仓库。与一般的数据存储要求不同,该项目感知层的存储方案对数据读写频度和低延时要求更高,同时由于数据量极大,还需要更高的存储效率,此前采用关系型数据库进行数据存储,最多只能保留 3-5 天的数据,不得不按天删除旧数据。之后考虑过采用 PostgreSQL 的 TimescaleDB 扩展,但却不满足政务信息化自主可控的要求。在经过很长一段时间的研究和测试后,TDengine 被成功应用。
架构图
结语
从上述企业实践来看,TDengine 在智能环保项目上的应用具有很大的优势,可以实现高效的数据采集、存储、分析和展示等功能,为环保系统提供有力的技术支持。目前,全托管的时序数据云服务平台 TDengine Cloud 也已经上线,极致的弹性伸缩能进一步提升业务的降本增效,非常欢迎大家来试用~如果你正面临数据处理难题,也可以联系我们,和志同道合的开发者共同探讨解决路径。