智能环保系统通常涉及大量的传感器和监测设备,以收集环境数据并对其进行分析和处理,这些数据通常是时序数据,即在一段时间内按时间顺序生成的数据,规模庞大且要求快速准确地进行分析和处理。也因此时序数据处理是智能环保系统面临的一个重要难题,很多项目在创建之初采用了传统的大数据解决方案,随着数据体量的日益增长,性能差、效率低、成本高等问题逐渐显露。在本篇文章中,我们汇总了三个典型的智能环保项目的数据架构升级实践,给到有需要的企业参考。

中科惠软 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 也已经上线,极致的弹性伸缩能进一步提升业务的降本增效,非常欢迎大家来试用~如果你正面临数据处理难题,也可添加小Tvx(tdengine),申请加入 TDengine 技术交流群,和志同道合的开发者共同探讨解决路径。

TDengine 用户案例合集 | 智能环保项目的时序数据处理难点与优化实践的更多相关文章

  1. [转载]HTML5开发入门经典教程和案例合集(含视频教程)

    http://www.iteye.com/topic/1132555 HTML5作为下一代网页语言,对Web开发者而言,是一门必修课.本文档收集了多个HTML5经典技术文档(HTML5入门资料.经典) ...

  2. 双11电商剁手节,最全的H5互动营销案例合集

    距离双11不足一个月! 是否准备好为双十一疯狂剁手! 自从天猫2009年首创双11购物节以来双十一不仅成为了消费者的"剁手日" 更是每年企业营销的"狂欢节" 各 ...

  3. HTML5开发入门经典教程和案例合集(含视频教程)

    HTML5作为下一代网页语言,对Web开发者而言,是一门必修课.本文档收集了多个HTML5经典技术文档(HTML5入门资料.经典)以及游戏开发案例以及教学视频等,帮助同学们掌握这门重要的技术. 资源名 ...

  4. 干货最新版 Spring Boot2.1.5 教程+案例合集

    最近发了一系列的 Spring Boot 教程,但是发的时候没有顺序,有小伙伴反映不知道该从哪篇文章开始看起,刚好最近工作告一个小小段落,松哥就把这些资料按照学习顺序重新整理了一遍,给大家做一个索引, ...

  5. App界面设计利器Sketch 精选案例合集

    第1章 课程介绍主要介绍课程的安排及你将学到哪些使用技巧 1-1 课程介绍第2章 sketch 实例及相关工具本节课你将学到钢笔工具的使用.渐变及填充.投影的使用,体会并观察实际中物品的光影与材质:模 ...

  6. 【前端学习笔记】JavaScript 小案例合集

    获取一个0-9的随机数: Math.round(Math.random()*9); 去除数组中重复的元素: var arr=[1,3,5,4,3,3,1,4] function editArr(arr ...

  7. NLP知识图谱项目合集(信息抽取、文本分类、图神经网络、性能优化等)

    NLP知识图谱项目合集(信息抽取.文本分类.图神经网络.性能优化等) 这段时间完成了很多大大小小的小项目,现在做一个整体归纳方便学习和收藏,有利于持续学习. 1. 信息抽取项目合集 1.PaddleN ...

  8. 【收藏】每天更新!全网热门公共BT种子 BitTorrent Tracker 列表合集

    每天更新!全网热门公共 BitTorrent Tracker 列表合集. 该项目仅将全网热门的公共 Tracker 列表制作成合集方便大家使用,无需再一个个导入了~. 「English」(tracke ...

  9. 最新最全的 Android 开源项目合集

    原文链接:https://github.com/opendigg/awesome-github-android-ui 在 Github 上做了一个很新的 Android 开发相关开源项目汇总,涉及到 ...

  10. 深度学习优质学习项目大放送!-AI Studio精选开源项目合集推荐

    近期 在AI Studio上发现了不少优质的开源深度学习项目,从深度学习入门到进阶,涵盖了CV.NLP.生成对抗网络.强化学习多个研究方向,还有最新的动态图,都以NoteBook的方式直接开源出来,并 ...

随机推荐

  1. flutter系列之:做一个会飞的菜单

    目录 简介 定义一个菜单项目 让menu动起来 添加菜单内部的动画 总结 简介 flutter中自带了drawer组件,可以实现通用的菜单功能,那么有没有一种可能,我们可以通过自定义动画来实现一个别样 ...

  2. 如何使用idea来查找所有未使用的代码?

    背景 项目组需要对开发的项目进行一次清理,把一些未被引用的代码清理掉. 我们知道一段代码未被引用,那么代码通常是灰色的. 但是一个完整的项目,会存在成千上万个Java文件,如果一个一个看去需要花费太多 ...

  3. 前端基于 radio 增强单选框组件

    前端基于radio增强单选框组件, 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12977 效果图如下:       # ## ...

  4. Linux下ElasticSearch及IK分词插件安装

    ElasticSearch及IK分词插件相关安装 一. 简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口. ...

  5. 手机号码吉利数PHP检测算法代码,超级实用

    手机号码吉利数理预测解读:将手机号码末尾的四个数字,先除以八十,再减去整数部分,只使用剩下的小数(小数点反面的数字)乘以八十,然后将所得结果,对表查阅,就知道吉凶.(换句话说就是余数)例如:手机尾号是 ...

  6. Linux 一些常用命令

    Linux命令的分类 1.帮助命令(help) 2.常用系统工作命令 3.常用状态检测命令 4.工作目录切换命令 linux命令在线中文手册 Linux常用命令 echo命令 作用:在终端输出字符串或 ...

  7. 使用Ajax进行数据请求

    ​ 一.Ajax开源库有很多选择,大家可以根据需求自己选择 jQuery:jQuery是一个广泛应用的JavaScript库,它提供了简洁而强大的API来处理Ajax请求.通过$.ajax()方法或其 ...

  8. 【Shell】字符串

    单引号和双引号 shell 字符串可以用单引号 '',也可以用双引号 "",也可以不用引号. 单引号的特点 单引号里不识别变量 单引号里不能出现单独的单引号(使用转义符也不行),但 ...

  9. 2022-1-10 控件学习2 Button、CheckBox、RadioButton、PasswordBox、Image、ToolTip

    Button         设置带图片的按钮: 设置button按钮通用类型:  CheckBox          IsChecked设置是否选中 RadioButton 使用GroupName这 ...

  10. jsp+servlet实战项目

    第一步:新建maven项目,项目中添加dao,entity,service,servlet,util包第二步:导入依赖 第三步:数据库建表 第四步:entity实体包(疯转) 第五步:在util工具包 ...