小T导读:在宁夏新能源集控项目中,区域集控中心的建设遇到了持续写入压力大、数据存储时间长以及业务实时性要求高这三大难题,经过选型,华东院在区域集控中心使用 TDengine TSDB 管理 9 个新能源场站的风电、光伏、储能数据。依托 TDengine TSDB 集群的高性能,集控中心能够支持所有场站超过 80 万测点的数据实时写入;采用多级存储的方式,将久远历史数据存储在廉价介质上,节省了大量存储成本;利用 TDengine TSDB 的数据订阅功能,集控中心实现了场站数据的实时应用与展示,成功支持全局监视系统和数据分析系统的业务运行,助力新能源场站安全生产、高效运维。
项目背景
在宁夏新能源集控项目中,华东院为电建新能源集团打造的区域集控中心,围绕集中监控、场站协管、资源共享、维检支持及电力交易等方面进行建设。该中心依托集控平台汇聚运维资源,开展专业化能力建设,通过集约化、标准化、共享化与专业化的运营模式,实现降本增效,助力下属新能源场站安全生产与高效运维。
目前,宁夏集控中心共接入 9 个新能源场站,涵盖风电、光伏、储能等多种类型,总发电装机达 1039.8MW,储能总装机达 100MW。数据测点经场站侧筛选与边缘处理后,约有 80 万测点进入集控中心数据库。
对集控中心数据库而言,需要解决以下三大技术问题:
- 持续写入问题:当前有 80 万测点持续写入,考虑后续扩容需求,中心数据库需要承接 ≥100万点的持续写入压力;
- 长期存储问题:历史数据存储时间 ≥ 6 年;
- 实时性问题:画面数据实时刷新周期 1s~3s。
也就是说,我们面临的并不是单一性能问题,而是持续写入、长期存储、实时应用三者并存的综合性挑战,这对数据库提出了很高的要求。
选型 TDengine 的原因
集控中心的数据库需要满足持续写入、长期存储和查询实时性的技术要求,同时还要综合考虑成本、国产化以及技术服务支持能力。我们调研了多家数据库竞品,经过综合对比后选择了 TDengine TSDB。主要考虑因素有以下几点:
- TDengine TSDB 的读写性能十分优异,能够满足集控中心对数据持续写入以及实时、历史数据快速查询的业务需求;
- TDengine TSDB 作为一款开源产品,能够免费下载和试用,选型初期我们在社区版上进行了基础功能和性能的测试验证,为后续的沟通交流打下了良好基础;
- TDengine TSDB 作为一款开源产品,能够免费下载和试用,选型初期我们在社区版上进行了基础功能和性能的测试验证,为后续的沟通交流打下了良好基础;
- TDengine TSDB 企业版带有完善的售后服务支持,对于追求业务稳定性的我们而言,能够得到原厂快速、专业支持十分重要。
TDengine 实施策略
整体架构
宁夏新能源集控中心需要接入 9 个新能源场站超过 80 万测点的数据,数据写入 TDengine TSDB 集群的压力约为 20 万条/秒。结合业务分区要求,我们将集控中心安全一区与三区的数据分别存储,同时实现一区数据向三区的实时同步。其中,一区主要支撑远程控制系统,三区主要支撑集中监视系统以及高阶分析系统。

一三区整体架构示意
数据建模
时序数据库与传统关系型数据库的建模理念与方法完全不同,好的数据建模能够使将来的业务应用做到事半功倍。
建库策略
我们考虑了多种数据组织方式,优劣分析如下:
| 组织方式 | 优势 | 劣势 |
| 按系统组织 | 对业务侧友好 | 实际采集中很难区分数据来自哪个系统 |
| 便于按场站进行管理 | 场站数据筛选困难,业务系统需要配置多数据源并进⾏合理的切换 | 全放⼀个库 |
| 便于实施 |
经过与涛思数据专家讨论,我们最终确定采用按场站组织数据存储的方式,即 1 个场站对应 1 个数据库实例。每个数据库默认包含 104 和 modbus 两类数据,其他数据后期按需增加。9 个站的数据库名称如下:

建表策略
我们的业务要求之一,是能够根据通道 ID、公共地址(从机地址)和信息体地址快速定位到测点,或者能够通过这些字段实现高效表过滤。
在 TDengine TSDB 的设念中,我们业务上所说的 “测点” ,实际上对应 TDengine TSDB 中的 “子表” 概念,TDengine TSDB 将数据字段分为数据列与标签列,并为标签列过滤进行了特殊优化,我们只需把上述筛选字段作为超级表的标签列,即可很方便地对测点进行条件筛选。
例如对于 st_telemetry_short_float 超级表,将常用的测点(子表)筛选条件 channel_id、 common_address、 object_address 作为 tag(标签) 列,就能通过超级表快速筛选涉及的一张或一批子表,并执行数据查询。

TDengine TSDB 这种针对物联网设备的特殊建模方式,对我们进行数据建模以及后续应用提供了很多便利。
TDengine TSDB 针对这种查询专门进行了优化,可以配置最新值缓存策略,将所有子表的最新一条非空值或最新一行记录缓存到 cache 中,从而在查询时获得更快的响应速度和更好的并发支持能力。
具体来说,我们通过建库参数 cachemodel 和 cachesize 来设置缓存策略以及缓存占用空间大小。
由于我们的业务对 last 和 last_row 都有需求,因此所有场站数据库都开启了缓存策略,并将 cachemodel 统一设置为 both,也就是同时缓存 last 与 last_row。
不过,缓存并不是越大越好。由于每个数据库的子表数量和表结构都不完全相同,缓存空间需要结合实际情况进行配置:设置过大会浪费内存,设置过小则会导致缓存频繁刷新,反而影响写入效率并浪费系统资源。
经过持续调整,目前三区的缓存配置如下图所示:

数据订阅
为了实现大屏组态的实现数据刷新,我们通过订阅方式实时获取所关注子表数据的最新记录。
在 TDengine TSDB 中,我们可以直接通过 SQL 语句创建带筛选条件的 topic。业务程序只需要订阅对应 topic,就能够持续获取符合条件的最新数据。
例如,我们创建 topic 的 SQL 如下:
create topic prod_djnx_zwdwse_lg_st_telemetry_short_float as select ts,`channel_id`,`object_address`, `r32` from db_solar_wz52.st_telemetry_short_float;
TDengine TSDB 的数据订阅依赖 WAL 文件。由于数据写入后会第一时间进入 WAL,数据订阅能够保障订阅程序第一时间获取更新的数据内容,这对于需要实时刷新的监视类应用非常关键。
目前,三区正在使用的 topic 一共有 29 个:

多级存储节省存储成本
为了节省存储成本,我们采购了 NAS 来存储长期历史数据,结合 TDengine TSDB 的多级存储功能,利用不同的存储介质存储不同时间段、不同访问频率的数据,有效降低了数据存储成本。
NAS(Network Attached Storage,网络附加存储)是一种专门用于数据存储和共享的网络设备,它通过局域网(LAN)为多用户或其他设备提供集中化的存储空间。TDengine TSDB 只能支持 iSCSI 挂载方式,不支持 NFS、CIFS 等挂载方式。
在涛思服务中心专家的支持下,通过增加 NAS 设备挂载点、修改数据库的 KEEP 参数以及 taos.cfg 配置文件操作,实现了数据的多级存储。具体操作步骤如下:
1. 在服务器上增加 NAS 挂载点 data1;
2. 修改 KEEP 参数,修改策略为:8 个月 (240 天)之内的数据存储在本机磁盘上,超过 240 天的数据会存储到 NAS 上;

3. 修改 taos.cfg配置文件,指定 0 级存储与 1 级存储路径。

通过上述配置,即可实现数据按照时间范围的多级存储。
TDengine 业务应用
全局监视系统
依托 TDengine TSDB ,全局监视系统实现了监视页面数据实时刷新以及历史数据查询快速响应。
如下图所示,在场站监视页面,通过实时数据订阅,监视画面就能够实时获取所有场站当前的状态信息以及关键的统计信息、告警内容等。

数据分析系统
依托 TDengine TSDB 的高性能查询能力,数据分析系统实现了大量统计指标的定期更新。
如图所示,数据分析系统主要用于定时统计任务,会按照固定时间周期从 TDengine TSDB 中进行大量数据查询。例如在电厂生产对标应用场景中,将各种关键指标与去年同期进行对比分析,计算同比,为经营分析与生产优化提供支撑。

未来展望
宁夏新能源集控中心自投入运行以来,TDengine TSDB 集群整体保持稳定运行。在集控中心成功应用 TDengine TSDB 的经验,进一步坚定了电建新能源集团深耕新能源数字化领域的信心。后续,集团计划将 TDengine TSDB 的应用范围拓展至电力交易等更多业务环节,与 TDengine 携手为新能源领域客户创造更大价值。
关于华东院
中国电建集团华东勘测设计研究院有限公司(简称华东院)成立于 1954 年,具有工程设计综合甲级、工程勘察综合甲级、工程咨询综合甲级、工程总承包与设备成套等十多个国家最高等级的资质证书。全院新能源从业人员达 1000 余人,业务涉及海上风电、陆上风电、光伏、储能、微电网、地热能、海洋能等。凭借着工程 + IT 的优势,自 2012 年启动海上风电三维数字化设计以来,持续深耕风电、光伏、综合能源领域的数字化,具备顶层规划、方案设计、产品研发、工程交付、实施运维等全链路的服务能力。
作者:林子义,刘艺博(涛思数据)
























