TDengine在光伏日电系统应用实践

本文介绍了山东八五信息技术有限公司在新能源电力物联网平台中使用TDengine数据库的情况。TDengine提供了高效的实时数据存储和查询分析能力,支持大规模设备数据接入,并在读写性能、数据完整性和集群功能上优于timescaledb。应用TDengine后,系统资源得到显著节省,查询性能大幅提升,未来计划将其应用于更多物联网项目。目前,他们对TDengine的功能增强和生态集成有进一步期待。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 单位简介

山东八五信息技术有限公司(简称“八五创新”)是一家山东省高新技术企业和“双软”企业。公司秉持“赋能数据驱动经营”的企业使命,致力于成为产业数据运营技术和解决方案的引领者。
公司专注数据价值发掘、深耕行业应用,以IOT物联网平台、BI商业智能、AI人工智能的创新应用为产品方向,构建企业核心竞争力。依托深厚的行业背景和领先的产品技术优势,八五创新聚焦工业互联网、智慧化工园区两大核心领域,同时拓展智慧电力、智慧园区、智慧农业、智慧城市等细分领域,致力于打造企业级应用样板,以数据驱动经营、探索行业数字化转型新模式。

2 使用场景简介

2.1 当前业务场景

在新能源电力物联网平台开始由timescaledb时序库切换为TDengine数据库,主要用于物联网设备的实时数据的存储和查询分析,存储光伏设备传感器的遥测数据。
新能源物联网生产运营平台通过物联网及大数据技术将现有电站数据进行整合,实现园区设备的统一运行监视、数据集中管理。给不同人员等提供全面、便捷、差异化的数据和服务。
对运维人员提供设备的状态信息、报警信息、远程故障诊断信息、实时数据等数据应用服务;对管理人员和运营人员提供各类检测数据的汇总、变化趋势等应用服务。
系统整体的架构如下:
平台架构图

系统的总体架构按照分层实现的设计理念,在底层设计上实现各个软件系统的职能分离,确保各部分高效运转。

2.2 数据规模,查询压力等要求

规划设计数据存储规模大概在16T左右,目前数据日增量为1亿多条,全部测点接入后预计日增量为40多亿条左右;系统需支撑至少50000台设备总计400万测点(信号量和模拟量)的实时数据接入、处理及存储。
应用系统的常规查询在50QPS左右,高并发在100QPS左右。一次历史数据查询分析最大跨度为一年且支撑多测点多模式分析方式。
时序数据分析界面如下:
时序分析图
点位实时数据图

工况实时展示界面:
工况图

目前总数据量以及日增量:
总数据量
日增量

目前创建的超级表以及子表数:
在这里插入图片描述

2.3 数据模型简介

目前根据不同的测点类型建立了不同的超级表。按照不同的测点ID以及测点号作为tag创建了不同的子表。这样我们针对于测点可以直接进行单表分析,处理性能高、速度快。也可以针对多测点进行分析,直接操作超级表,业务实现简单,同时兼顾了查询性能。

2.4 查询需求

简单查询
针对于单测点的历史数据查询分析以及时间间隔聚合分析。主要是对单测点的异常数据的排查和告警数据的排查确认。由于使用超级表,查询单测点数据实际上只查询一个子表,数据量相对较小,查询分析基本毫秒级响应。简单查询sql图例:
在这里插入图片描述

聚合查询
多测点相同时间维度不同聚合类型的时间迁移对比分析。侧重于对比,方便用户更加有效的确认不同测点下的异常和差异情况。
在这里插入图片描述

大批量测点分组聚合查询
数百测点的分组分时段聚合查询;在一定时间段内,大批量测点的查询仍然可以迅速响应。

2.5 查询压力

峰值并发为100qps,平均并发量为20qps,实际场景中并发查询压力较小,未达到TDengine的查询瓶颈。

3 采用TDengine带来的收益

3.1 系统功能

读写性能较原timescaledb数据库提高10倍左右,在数据接入层不用再担心数据库的写入性能瓶颈;数据分析查询应用层也较原系统有较大提升,尤其是在时间跨度大的聚合类分析几乎瞬间响应。
通过乱序插入功能,解决了边缘侧由于网络问题导致的数据传输不及时造成的乱序写入问题,保证了数据的完整性。
集群功能对比timescaledb优势较大,timescaledb没有集群功能但支持流复制方式的主备库;tdengine集群容易搭建且无主从节点区分,对应用改造和支撑较友好,集群版读写性能提升较大。
数据存储增加集群多副本功能,通过数据冗余提升了系统的安全和可靠性,降低了系统的运维成本。

3.2 软硬件资源

节省了系统大量的计算资源以及存储资源,降低了大约4倍左右的存储成本。
对比未使用TDengine之前timescaledb时序库开启压缩后对70亿数据占用磁盘为165G,且一分钟内无法查询出一个月的历史数据;而在使用tdengine之后磁盘占用空间为40G左右,毫秒级返回针对一个月的历史数据的聚合查询。
相关查询如下:
在这里插入图片描述

4 应用TDengine遇到的问题与解决思路

原有时序库大数据量批量导入tdengine数据库,在1.6版本进行批量导入非常麻烦,一次批量插入只有200条左右,后期在升级到了2.0版本以上后一次可以插入1M数据,大大提升了不同数据库不同表结构之间的批量导入性能。

5 未来使用TDengine的考虑

经过一段时间的线上运行,TDengine数据库有优异的性能表现,我们决定将在后续时间将我们所有的物联网项目逐步的更新为TDengine数据库。

6 TDengine功能方面的期望与建议

分析型函数增强,希望增加时序库中实用的常用分析函数;
增强连续聚合查询功能,目前连续聚合功能实用性不强;
产品生态,与spark、flink等开源分析工具的集成。

作者简介: 山东八五信息技术有限公司-开发工程师李良政

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fire_in_java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值