清安储能 *IoTDB | 多个核心查询场景实现毫秒级结果返回,平均压缩比达到 90+ 倍
1
清安储能业务场景
清安储能技术(重庆)有限公司(以下简称清安储能)总部位于西部(重庆)科学城,是专业从事能源存储与智慧管理的新能源科技型企业,也是重庆首家聚焦储能系统安全集成的领军企业。清安储能由首席科学家欧阳明高院士团队孵化,具有国际一流的研发队伍,现已实现储能系统关键核心部件及集成系统的自研和制造,并面向“源-网-荷”全场景需求,深耕电池系统安全、电力电子、分布式发电及能源管理等领域,致力于为大电网、新能源电厂、工商企业、工业园区以及家庭用户等提供储能系统解决方案与综合能源技术服务。
为帮助用户实现对储能系统及能源系统的全面监控、调度与管理,清安储能核心研发团队构建了 PC 端和 APP 端的储能云平台。储能云平台运用数字孪生技术,将储能场景状态保真还原,达到能源管理定制化,并从能源管理维度对储能设备、光伏设备等进行远程监控告警和精准运维,为用户提供一系列可定制的云平台解决方案。而储能云平台主要管理各类能源设备上报的时序数据,为实现储能云平台的性能高稳定性与处理高实时性,清安储能需要寻求对于能源领域时序数据更优的写入、存储、查询、分析方案。
基于 IoTDB 时序数据库自身的先进特性,清安储能选择使用 IoTDB 作为储能云平台时序数据接入、存储、查询的核心组件,有效支持多个核心查询场景的低延迟查询返回,并实现高速写入性能与超高压缩比,能够满足不断增长的海量时序数据管理业务需求。
2
业务需求痛点
2.1 单设备最高数十万测点
清安储能目前需要管理储能设备共计 50 余台,记录温度、电压、电流等电池数据,并预计在一年中实现设备量翻倍。因储能设备运行状态需进行全方位监测,单设备数据量很大,最高测点数可达到几十万,以 5 秒为频次进行实时上报。随着未来可预见的数据量增长,清安储能对于时序数据库的实时数据写入及海量数据压缩能力均要求较高。
2.2 自动挂载困难
清安储能的数据上报链路为主设备及多个子设备集成为大字段,进而进行传输上报。设备测点多且各个设备点位、字段存在差异,因此很难将上报数据抽取为固定模型。这就对于选型时序数据库的挂载功能提出了挑战,需要具备安全隔离,并唯一定位存储设备、测点等层级的架构,采取固定模型之外的其他方式,高效标记存储设备和文件系统的位置。
2.3 复杂字段实时查询
清安储能能源设备目前上报的字段数众多,经常需要在查询中涉及多个字段或多层路径,并实现储能云平台各类监控场景的实时数据反馈,因此对时序数据库的查询实时返回性能有较高的要求。同时,对于包含多个关键词的复杂查询,清安储能还希望时序数据库实现针对此类查询的语句优化,以节省查询语句编写所需时间。
3
选型 IoTDB 原因
3.1 树状架构方便自动挂载
IoTDB 的底层时序数据结构采用物联网专属的树形结构管理,并支持设备模板化管理、序列标签、元数据自动识别与生成等便捷的数据与模型管理功能。针对清安储能不同设备点位、字段的差异现状,IoTDB 的树形结构并不需要将数据抽取为固定模型,即可将数据以工厂、设备等设备进行分类,方便进行自动挂载的同时也可唯一确定 IoTDB 中存储的时序数据,方便精细查询。
3.2 千万点每秒写入,10 倍无损压缩比
IoTDB 能够实现每秒千万数据点写入、处理多设备亿级点位的能力,且写入速率不随数据量增长而下降,能够满足清安储能单设备数据量大、业务数据体量持续增长的数据接入需求。同时,IoTDB 独创针对时间序列优化的列式文件存储格式 TsFile,支持多种高效编码、压缩方法,可以达到 10X 倍无损压缩比,有效降低时序数据存储成本。
3.3 丰富的低延迟查询功能
IoTDB 通过预聚合和时序索引支持快速数据过滤、最新值查询、聚合查询、降采样查询等典型时序数据查询种类,使筛选后的数据以更小的数据量,达到更快的查询速度,且不影响查询者的输出需求,达到 TB 数据毫秒级响应。并且,IoTDB 可用 * 号做为通配符,针对设备字段多的复杂时序数据查询场景,能够在日常业务场景中进行更方便地查询。
3.4 积极更新版本,运维无误
清安储能在选型调研时了解到,IoTDB 研发团队由多位数据库核心技术科学家和工业资深专家组成,并在开源社区持续更新版本功能,相关技术文档较为清晰,清安储能认为 IoTDB 团队可以保障数据库产品落地的运维、管理工作的高效可靠。
4
解决方案架构
清安储能构建的储能云平台目前全部部署于云上环境,将储能设备、TCP/UDP 设备及三方平台上报的主设备及多个子设备集成的大字段数据,通过 MQTT 等协议压缩上云后,在设备接入层进行解压,并将不同协议数据转换为统一数据格式。转换完成后,按照单个线程一次性写入 20 万+测点为单位,进行批处理打包,传输至云上部署的 IoTDB 进行数据存储。同时,储能云平台基于 IoTDB 与其他组件,也支持数据清洗、数据缓存、数据订阅、任务调度等数据处理功能,并可支持异步队列应对耗时较长的任务。
业务层,清安储能针对储能云平台构建了专属监控平台,以将不同厂区设备运行情况(告警、异常等)进行实时反馈,并依托云端进行处理。运用 IoTDB 的丰富查询功能,可以达到应用服务实时最新值查询、时间聚合统计查询、关键部件运行状态查询等场景的毫秒级响应,也可以灵活定义按分钟/秒/小时等不同区间进行时序数据聚合,并支持接入 Java、Python 等多语言客户端进行算法分析。IoTDB 的查询性能可使监控平台达到实时数据可视化查询,并进一步支撑用户依据数据结果进行价值效益计算、控制下发等操作。
目前,清安储能使用 IoTDB V0.13 单机版半年以上,运行效果稳定,单机服务器配置为 8H64G,硬盘目前在 2T 以上。IoTDB 目前可以稳定达到毫秒级数据写入与业务常用查询场景毫秒级相应,历史数据目前一直进行存储,平均压缩比达到 90.375,后续数据量增长后将考虑数据迁移与分级存储实现。
5
查询应用场景
5.1 IoTDB Client 客户端查询
场景一 监控运行状态查询
清安储能在 IoTDB 客户端查询各部件不同时间段的最新数据,以此实现数据实时监控,方便运维人员随时掌控各关键部件实时运行状态。
查询语句及耗时见下:
场景二 数据统计趋势查询
清安储能在 IoTDB 客户端通过查询进行数据统计,实现对储能系统运行趋势,关键部件传感器数值变动趋势的分析展示。例如,监测电池 SOC 24 小时/7 天内变化趋势、充放电功率变化趋势,用以掌握储能每日充放电时间范围,功率变动的情况。
查询语句及耗时见下:
5.2 应用服务端内部查询
同时,清安储能也通过 IoTDB 在应用服务端进行监控运行状态查询与数据统计趋势查询。
查询语句及耗时见下:
通过以上的查询类型语句返回的结果耗时可以看出,IoTDB 在客户端与服务端均可支持清安储能最常用的查询场景,并稳定实现毫秒级返回数据。
6
未来展望
目前,IoTDB 已协助清安储能在其研发的储能云平台构建了稳定、高效的时序数据管理方案。针对未来不断增大的时序数据体量,清安储能表示未来将考虑升级至 IoTDB 集群版本。IoTDB 团队将和清安储能继续深度合作,协助打造专属适配清安储能运行状态的 IoTDB 数据实时迁移方案,在不停止运行程序影响产能的情况下,完成单机版向企业版的数据高速导入与架构无缝切换,以帮助清安储能实现对更庞大时序数据量的灵活、便捷、高效能管理。
版权声明: 本文为 InfoQ 作者【Apache IoTDB】的原创文章。
原文链接:【http://xie.infoq.cn/article/617542f1c7a86c9ed6637fd69】。文章转载请联系作者。
评论