高效处理风电时序数据,明阳集团的 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,简称“明阳智能”),是全球新能源装备行业的领军企业和智慧能源整体方案提供商。明阳集团始终坚持创新、坚守实业不动摇,致力于能源的绿色、普惠和智慧化,专注新能源高端装备研发与制造。业务涵盖风能、太阳能、海洋能源、氢能、储能、智能电气和空间能源等清洁能源开发运营、装备研制与工程技术服务领域。