乐趣区

关于tdengine:代替-TimescaleDBTDengine-接管数据量日增-40-亿条的光伏日电系统

小 T 导读:八五信息新能源电力物联网平台采纳 TDengine,存储和查问剖析物联网设施的实时数据,以及光伏设施传感器的遥测数据。需撑持至多 50000 台设施总计 400 万测点的实时数据接入、解决及存储,预计日增量 40 多亿条。之前应用 TimescaleDB,无论在读写性能,还是硬件资源上,都遇到了瓶颈,且没有集群性能。随后切换到了 TDengine,读写性能进步了 10 倍,存储老本升高到原来 1 / 5 左右。

应用场景简介

以后业务场景

咱们首先在新能源电力物联网平台上应用了 TDengine,次要用于光伏设施遥测实时数据的存储、查问和剖析。

新能源物联网生产经营平台通过物联网及大数据技术将现有电站数据进行整合,实现园区设施的对立运行监督,数据集中管理。给不同人员等提供全面、便捷、差异化的数据和服务。

对运维人员提供设施的状态信息、报警信息、近程故障诊断信息、实时数据等数据应用服务;对管理人员和经营人员提供各类检测数据的汇总、变化趋势等应用服务。该平台零碎整体的架构如下:

零碎的总体架构依照分层实现的设计理念,在底层设计上实现各个软件系统的职能拆散,确保各局部高效运行。

数据规模,查问压力等要求

规划设计数据存储规模大略在 16T 左右,目前数据日增量为 1 亿多条,全副测点接入后预计日增量为 40 多亿条左右;零碎需撑持至多 50000 台设施总计 400 万测点(信号量和模拟量)的实时数据接入、解决及存储。

利用零碎的惯例查问在 50QPS 左右,高并发在 100QPS 左右。一次历史数据查问剖析最大跨度为一年且撑持多测点多模式分析形式。时序数据分析界面如下:

工况实时展现界面:

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

目前创立的超级表以及子表数:

数据模型简介

目前依据不同的测点类型建设了不同的超级表。依照不同的测点 ID 以及测点号作为 tag 创立了不同的子表。这样咱们针对于测点能够间接进行单表剖析,解决性能高、速度快。也能够针对多测点进行剖析,间接操作超级表,业务实现简略,同时兼顾了查问性能。

查问需要

· 简略查问

针对于单测点的历史数据查问剖析以及工夫距离聚合剖析。次要是对单测点的异样数据的排查和告警数据的排查确认。TDengine 是把同类设施数据纳入一个超级表,但每个设施都会依据超级表的构造建设本人的一张子表,查问单测点数据实际上只查问一个子表,遍历的数据量大大减少,查问剖析根本毫秒级响应。简略查问 SQL 图例:

· 聚合查问

多测点雷同工夫维度不同聚合类型的工夫迁徙比照剖析。侧重于比照,不便用户更加无效的确认不同测点下的异样和差别状况。

· 大批量测点分组聚合查问

数百测点的分组分时段聚合查问;在肯定时间段内,大批量测点的查问依然能够迅速响应。

查问压力

峰值并发为 100qps,均匀并发量为 20qps,理论场景中并发查问压力较小,未达到 TDengine 的查问瓶颈。

采纳 TDengine 带来的收益

零碎性能

读写性能较原 TimescaleDB 数据库进步 10 倍左右,在数据接入层不必再放心数据库的写入性能瓶颈;数据分析查问应用层也较原零碎有较大晋升,尤其是在时间跨度大的聚合类剖析简直霎时响应。

通过乱序插入性能,解决了边缘侧因为网络问题导致的数据传输不及时造成的乱序写入问题,保障了数据的完整性。

集群性能比照 TimescaleDB 劣势较大,TimescaleDB 没有集群性能但反对流复制形式的主备库;TDengine 集群容易搭建且无主从节点辨别,对利用革新和撑持较敌对,集群版读写性能晋升较大。

数据存储减少集群多正本性能,通过数据冗余晋升了零碎的平安和可靠性,升高了零碎的运维老本。

软硬件资源

节俭了零碎大量的计算资源以及存储资源,升高了大概 4 倍左右的存储老本。

比照未应用 TDengine 之前 TimescaleDB 时序库开启压缩后对 70 亿数据占用磁盘为 165G,且一分钟内无奈查问出一个月的历史数据;而在应用 TDengine 之后磁盘占用空间为 40G 左右,毫秒级返回针对一个月的历史数据的聚合查问。相干查问如下:

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

原有时序库大数据量批量导入 TDengine,在 1.6 版本进行批量导入十分麻烦,一次批量插入只有 200 条左右,前期在降级到了 2.0 版本以上后一次能够插入 1M 数据,大大晋升了不同数据库不同表构造之间的批量导入性能。

将来应用 TDengine 的思考

通过一段时间的线上运行,TDengine 有优异的性能体现,咱们决定将在后续工夫将咱们所有的物联网我的项目逐渐都更新为 TDengine。

TDengine 性能方面的冀望与倡议
剖析型函数加强,心愿减少时序库中实用的罕用剖析函数;

加强间断聚合查问性能,目前间断聚合性能实用性不强;

产品生态,与 Spark、Flink 等开源剖析工具的集成。

作者: 八五信息开发工程师李良政

退出移动版