高效处理风电时序数据,明阳集团的 TDengine 3.0 应用实录

作为全国 500 强企业,明阳集团在风电行业拥有领先实力。目前全球超过 800 个项目采用明阳各种型号风电机组,安装数量超过 15000 台。每台风电机组配备数百至上千个监测点,生成的时序数据每秒一条,每天产生亿级以上的数据量。这些数据需要实时或定期集中存储,以支持风机的集中监控和数据分析等业务应用,实现数据转化为价值的目标。为了更有效地进行时序数据管理,明阳集团选择采用 TDengine,本文对部署情况及应用效果进行了分析。

应用情况

针对项目现场风机的数据采集工作,我们采取了两种方案,一种方案是通过网络实时传输到大数据中心,写入 TDengine。另一种方案则是按照一定的时间周期,接到数据文件拷贝后,再写入 TDengine 集群。

我们使用了 6 台 24GB 内存 4 核 CPU 10T 硬盘的服务器搭建了 TDengine 3.0 的单副本集群。目前已经接入了 10000+ 台风电机,建库 400 余个。保存数据量总计 40+ 亿行,每行平均测点(列数)700+,磁盘占用 24TB,粗略估算,压缩比达到 10% 以内。

风电机作为一种利用风能来产生电力的大型设备。需要监控的指标十分之多。因此,在建模环节就有不小的难度。以下是一个 describe 超级表的输出,达到了 884 列。

宽列表和常规的窄列表在使用上有很多的差别,很多参数配置都是不一样的。在此基础之上,我们要检测风电机设备的各个点的最新状态。

我们接触 3.0 的时间比较早,从 2022 年其刚刚发布时就在测试了。因此比较完整地见证了 TDengine 对于宽列表场各个方面的优化。以 last 函数的缓存为例(统计表/超级表中某列的值最后写入的非 NULL 值。),对于“宽列表 + 很多列的值以 NULL 为主”的场景,TDengine 的初次 last 查询速度从分钟级别迅速调整优化到了毫秒级。

举例如下 SQL:分组查询 + last/last_row + union all 多个表的查询。  

在“明阳集团能源大数据应用系统”中,TDengine起到了关键作用,实现了数据的高效存储与处理。通过底层的数据分片分区策略,TDengine 能够灵活地动态扩展资源,避免资源瓶颈问题。其高速的查询能力帮助我们实现了风机设备的实时监测与预测,使我们能够及时发现异常和故障,并采取相应的维修或调整策略,结合数据进行其他业务应用也变得更加便捷。

写在最后

作为 TDengine 2.0 时代的资深用户,我们已经使用了这款产品长达 3 年之久。在这段时间里,我们见证了 TDengine 的巨大变革——从一款开源的时序数据库,演变成为专为物联网、工业互联网等场景优化设计的大数据平台。官方团队的开发效率令人惊叹。以我们的宽列表场景为例,仅经过 2-3 个版本的迭代,TDengine 就彻底解决了我们所遇到的各种问题。自 3.0 版本发布以来,TDengine 对各种场景的优化大幅提升,这种变化肉眼可见。未来我们将继续深入挖掘 TDengine 的潜力,在风电领域探索更多可能性。

公司简介:

明阳集团始创于 1993 年,于 2006 年进军风电行业,创立明阳智慧能源集团股份公司(股票代码 601615,简称“明阳智能”),是全球新能源装备行业的领军企业和智慧能源整体方案提供商。明阳集团始终坚持创新、坚守实业不动摇,致力于能源的绿色、普惠和智慧化,专注新能源高端装备研发与制造。业务涵盖风能、太阳能、海洋能源、氢能、储能、智能电气和空间能源等清洁能源开发运营、装备研制与工程技术服务领域。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/851779.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IPv6 ND 协议功能概述

ND 协议功能概述 ND(Neighbor Discovery,邻居发现)协议是 IPv6 的一个关键协议,它综合了 IPv4 中的 ARP,ICMP 路由发现和 ICMP 重定向等协议,并对它们做了改进。 作为 IPv6 的基础性协议,ND 协…

AI 定位!只需一张图片就能找到你,锁定具体位置!精确到经纬度

你能猜到这张自拍的拍摄地点吗?别小瞧了AI的能力,答案可能会让你吓一跳。 这事交给现在的AI来处理,它只需要“看”一眼,就能把照片里的“底裤都给扒出来”: 美国,加利福尼亚州,旧金山机场洗手间,93号登机口…

C++调试打印日志方法

1.使用函数的方法,只能打印 只需要包含:#include <cstdio>头文件即可 #define INFO_LOG(fmt, ...) fprintf(stdout, "[INFO] " fmt "\n", ##__VA_ARGS__) #define WARN_LOG(fmt, ...) fprintf(stdout, "[WARN] " fmt "\n"…

关于Ubuntu24.04嘉立创EDA无法启动的问题

关于Ubuntu24.04嘉立创EDA无法启动的问题 查看无法启动原因解决办法1解决办法2 查看无法启动原因 在终端使用启动文件命令报错 解决办法1 输入如下命令可以正常启动 ./lceda-pro --no-sandbox 解决办法2 找到desktop文件进行修改 cd /usr/share/applications sudo vim lce…

JavaScript数组函数

在JavaScript中&#xff0c;有许多方法可以用来对数组进行操作。下面是详细介绍和举例所有的数组方法函数&#xff1a; push()&#xff1a;将一个或多个元素添加到数组的末尾&#xff0c;并返回新数组的长度。 var fruits [apple, banana]; fruits.push(orange); console.lo…

HTML制作一个日蚀的动画特效

大家好&#xff0c;今天制作一个日蚀动画特效&#xff01; 先看具体效果&#xff1a; 使用一个逐渐扩大的圆形阴影来模拟月亮遮挡太阳的效果。使用了CSS的keyframes动画和border-radius属性来创建一个简单的圆形阴影效果。 HTML <!DOCTYPE html> <html lang"e…

[Cloud Networking] Layer 2 Protocol

文章目录 1. STP / RSTP / MSTP Protocol1.1 STP的作用1.2 STP 生成树算法的三个步骤1.3 STP缺点 2. ARP Protocol3. MACSEC 1. STP / RSTP / MSTP Protocol 1.1 STP的作用 消除二层环路&#xff1a;通过阻断冗余链路来消除网络中可能存在的环路链路备份&#xff1a;当活动链…

freebsd 14.1 简易安全安装步骤

下面安装在真机上进行&#xff0c;安装的是KDE界面&#xff0c;virtual box虚拟机上安装&#xff0c;安装前设置中显示改为VBoxSVGA&#xff0c;缩放设置为150%要不然安装后界面文字非常小看不见&#xff0c;其他基本一样。 总结出来的简易安全快速安装步骤方法&#xff1a; …

PHP Cookies:应用与管理

在Web开发中&#xff0c;Cookies是一种在客户端&#xff08;通常是浏览器&#xff09;存储少量数据的机制。PHP作为一种服务器端脚本语言&#xff0c;提供了对Cookies的全面支持&#xff0c;使得开发者可以轻松地设置、读取和删除Cookies。Cookies通常用于存储用户的会话信息&a…

DC/AC电源模块:为物联网设备提供可靠的电力支持

BOSHIDA DC/AC电源模块&#xff1a;为物联网设备提供可靠的电力支持 DC/AC电源模块是物联网设备中非常重要的组成部分之一&#xff0c;它为设备提供稳定、可靠的电力支持。在物联网应用中&#xff0c;设备通常需要通过无线网络与其他设备或云平台进行通信&#xff0c;而这些设…

【Android面试八股文】volatile和synchronize有什么区别?

volatile和synchronize有什么区别? 在 Java 多线程编程中,volatile 和 synchronized 是两个重要的关键字,它们分别用于处理并发访问共享变量的问题。尽管它们都可以用于确保多线程环境下的数据一致性,但在实际应用中却有着明显的区别和适用场景。 作用范围: volatile 只能…

实践中ES常用命令总结

一.集群状况查看命令 1.1集群健康度 curl http://localhost:9200/_cat/health?v 1.2 集群节点 curl http://localhost:9200/_cat/nodes?v 1.3 集群索引 curl http://localhost:9200/_cat/indices?v 1.4 查看某个索引段 curl http://localhost:9200/_cat/segments/or…

编程初学者用什么软件电脑:全方位指南及深度解析

编程初学者用什么软件电脑&#xff1a;全方位指南及深度解析 在数字化浪潮席卷而来的今天&#xff0c;编程技能逐渐成为了一项必备的基本素养。对于初学者来说&#xff0c;选择一款合适的编程软件电脑至关重要。本文将从四个方面、五个方面、六个方面和七个方面&#xff0c;深…

Photoshop中颜色与色调的调整

Photoshop中颜色与色调的调整 Photoshop中的颜色模式RGB模式灰度模式位图模式索引模式CMYK模式Lab模式 Photoshop中的颜色/色调调整命令颜色/色调调整命令的分类亮度/对比度调整命令色阶命令曲线命令曝光度命令自然饱和度命令色相/饱和度命令色彩平衡命令照片滤镜调整命令通道混…

【个人博客搭建】(23)购买服务器、域名、备案

1、服务器主要是为了有一个公网的IP地址&#xff0c;方便我们可以通过网络随时访问 2、域名是对IP地址的一个替代。简单说IP地址可能不方便记忆&#xff0c;但是自己配置的域名会简单些&#xff0c;另外暴露IP地址也不安全。(虽然也能通过域名找到IP) 3、备案。这是政策。简单所…

运营商三要素核验-手机号实名认证接口-运营商三要素核验接口

手机号三元素实名认证&#xff0c;通过手机号、真实姓名、身份证号来校验三者是否一致。支持三大运营商携号转网查询&#xff0c;姓名、手机号、身份证号码三项验证是否一致&#xff1b;服务器毫秒级响应&#xff0c;信息验证科学严谨&#xff0c;数据安全可靠。 更新周期&…

听说前端都是切图仔,所以学了PS

PS 从零开始-基础篇 什么话都不想说了&#xff0c;前端以死后端已死&#xff0c;毁灭即是新生&#xff0c;我要开始追梦了&#xff0c; 从小就希望&#xff0c;制作一款自己的游戏&#x1f3ae;去学了编程&#xff0c;了解了&#xff1a;Java、C#、前端... 不小心入了web领域…

Leetcode 45. 跳跃游戏 II(DP 双指针)

Leetcode 45. 跳跃游戏 II 动态规划 使用dp [ ] 记录每个位置可达的最小步数&#xff0c;每到达一个点时&#xff0c;更新该点所能跳跃区间内的所有点的dp值 时间复杂度较高 class Solution {public int jump(int[] nums) {int n nums.length;int dp[] new int [n];int N …

谷歌利用人工智能来推动搜索,显示出其组织信息的方式存在问题

谷歌利用人工智能来推动搜索&#xff0c;显示出其组织信息的方式存在问题 从相关文件到新闻报道、商业、音乐和社会互动&#xff0c;世界上的大部分信息现在都在网上。谷歌成立于1998年&#xff0c;其使命是“组织世界上的信息&#xff0c;使其普遍可用和有用”&#xff0c;它…

SpringBoot不用写Controller、不用写Service、不用建表,直接起飞是什么感觉

Spring Data REST 提供了一种简单的方式来暴露 JPA 实体为 RESTful 服务&#xff0c;这使得构建基于 REST 的数据服务变得非常快速和高效。下面是一个使用 Spring Data REST 构建通用架构的基本示例&#xff1a; 首先&#xff0c;我们需要创建一个实体类&#xff08;例如&…