轻量级业务福音!TDengine Cloud 在国轩高科储能项目中的应用

简介: TDengine Cloud 按量计费加全托管的企业级服务让我们用非常小的成本便运转了这个项目,并且极大地增加了产品的效率并保留了随时扩张的灵活性。

在我们的“海外某储能项目”项目中,需要实时监测电池安全,采集记录每次使用的充放电过程、电流/电压等值,而此类数据都带有时间戳,是典型的时序数据。为了应对未来海量的用户使用数据,我们需要选择一款专业的时序数据库Time Series Database)。


我们的业务属于海外,去年是通过 2.x 版本在海外本地化部署,但由于维护团队位于国内,首先在网络通信上就有不小的麻烦。其次,由于部署的是开源版 TDengine ,需要自己部署优化、学习文档、通过社区反馈问题等等,有不少的时间成本。后来, TDengine 官方于今年初发布的时序数据云平台 TDengine Cloud 便进入了我们的视野。由于我们当前业务量并不大,因此对我们来说 TDengine Cloud 最直观的帮助就是:全托管。



云服务附带和 TDengine 企业版同级别的服务,因此我们不再需要担心部署、优化、扩容、备份、异地容灾等事务,减少了我方开发人员的负担,可全心关注核心业务。由于我们的设备量暂时不多,根据官方现有的定价规则,基础版本便可满足。在经过计费方案估算器计算后,最终我们选择了 1200 元/月的基础版规格。



我们针对每个储能设备单独建表,一类储能设备建立一个超级表,包括用电量、充电量、用电状态、充电状态等指标,共一百余列,每个设备 7*24h 地以每 10 秒一行的频率写入数据库。通过“数据浏览器”的页面,可以很轻松地看到库/表的元数据信息:


写入能力分析

TDengine 根据时序数据的特征专门设计的一个设备一张表、列式压缩、标签这几个强大的创新点,从根本上解决了数据写入需要加锁、行式压缩效率低、静态数据冗余存储这几大难题。


我们的数据处理流程如下图所示,某类储能设备产生的时序数据会以 MQTT 方式上传,其中业务数据转发给 PostgreSQL,设备产生的时序数据以及设备运行日志、设备状态数据转给 TDengine。中台各系统则会统一规划使用这些数据库中的数据,来用于分析计算,也可以直接控制设备下发指令。最终,借助 PC Web、APP 以及其他管理平台等软件方式在前端体现。



在测试阶段,TDengine 的数据压缩率可以轻松达到 10% 以内,每秒可以写入数百万行数据。在具体实践中也很好地达到了这个写入效果。


除了写入和压缩性能,TDengine 的查询能力也是我们比较关注的。

查询效果分析

为了提供高质量的售后服务以及提升用户使用体验,科学合理地使用上述写入的数据,我们会做很多类型的查询,比如监测用电产品的健康状态、分析设备用电量趋势、使用寿命等等。


以下是几个典型的查询:


1. 利用会话窗口统计每一段连续时间间隔小于等于 1 分钟时间内的单设备输入功率之和:


  1. select FIRST(ts) firstTs, LAST(ts) lastTs, count(*) countVal, sum(input_total_power) totalPower
  2. from device_data_58CF7920B63C where ts >='2023-08-09T00:00:00.000Z'
  3. and ts<'2023-08-10T00:00:00.000Z' SESSION(ts,1m)


2. 通过 interval 查看设备输入功率的趋势,并且使用了 offset 时区的偏移:


  1. select _WSTART as ts, avg(inverter_power) avgVal, min(inverter_power) minVal, max(inverter_power) maxVal
  2. from gendome.device_data_58CF7920B63C where inverter_power >0and ts >='2023-08-09T00:00:00.000Z'
  3. and ts<'2023-08-10T00:00:00.000Z'
  4. interval (1d,960m) FILL (NULL)


由于我们的应用与 TDengine Cloud 所属同一个 AWS region ,所以通过使用 Private Link 功能,我们的应用网络与云服务进行了私密通信,而无需将数据通过公网传输,大大降低了写入方面的延迟,同时也进一步节约了由网络流量产生的费用。

写在最后

TDengine 的定位一直都是“大数据”的处理平台,尤其是 3.0 版本和 2.0 相比有很多的底层变化,甚至可以支持 10 亿级别的表数量。

对我们这个体量相对较小的场景来说,TDengine Cloud 按量计费加全托管的企业级服务让我们用非常小的成本便运转了这个项目,并且极大地增加了产品的效率并保留了随时扩张的灵活性。此外,数据分享、流式计算这些有趣的特性也等待我们进行更深一步地挖掘。


关于国轩高科

国轩高科(股票代码:002074),是全球领先的新能源解决方案提供商,专注于锂离子动力电池和储能电池的研发、生产与销售,综合实力位居中国乃至全球前列。

关于本文作者

刘志成,国轩高科某储能产品部平台架构师,多年从事能源物联网行业。

目录
相关文章
|
存储 人工智能 搜索推荐
SuperAGI 一个开发优先的开源自主人工智能代理框架
供应、生成和部署自主人工智能代理
|
1月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
101 3
|
21天前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
50 1
|
2月前
|
缓存 测试技术 应用服务中间件
聊聊传统项目与互联网项目
聊聊传统项目与互联网项目
|
3月前
|
Java Spring 传感器
AI 浪潮席卷,Spring 框架配置文件管理与环境感知,为软件稳定护航,你还在等什么?
【8月更文挑战第31天】在软件开发中,配置文件管理至关重要。Spring框架提供强大支持,便于应对不同环境需求,如电商项目的开发、测试与生产环境。它支持多种格式的配置文件(如properties和YAML),并能根据环境加载不同配置,如数据库连接信息。通过`@Profile`注解可指定特定环境下的配置生效,同时支持通过命令行参数或环境变量覆盖配置值,确保应用稳定性和可靠性。
62 0
|
6月前
|
Linux Anolis
龙蜥社区正式推出驱动基线 V1.0,打造更加稳定、高效的生态系统
龙蜥社区正式推出驱动基线 V1.0,打造更加稳定、高效的生态系统。
|
6月前
|
自然语言处理 Cloud Native 开发者
【2023年度技术盘点】「年终盘点后端系列」探索服务架构体系的技术风向,构建微服务核心能力(升级版)
回顾过去的几年,我们目睹了科技界的快速发展,其势头如同一列驶向前方的高速列车。作为后端开发者,我们见证了每一次技术革新所带来的广阔前景。这些创新不仅深刻影响着我们的工作方式,而且不断引领我们走向未来。
153 1
|
缓存 NoSQL 前端开发
基于Springboot构建企业应用系统以及开发高性能的互联网应用
Spring Boot 是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
|
Java 微服务 Spring
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(八) saas平台篇-解决不同租户针定制化开发问题 -完整代码以及案例方案(1)
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(八) saas平台篇-解决不同租户针定制化开发问题 -完整代码以及案例方案(1)
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(八) saas平台篇-解决不同租户针定制化开发问题 -完整代码以及案例方案(1)
|
存储 运维 供应链
更高水准的供应链安全实践:Alibaba Dragonwell 及其 SLSA 2 级认证
日益庞大的Java应用,我们是否真的能切实保证应用的安全?
更高水准的供应链安全实践:Alibaba Dragonwell 及其 SLSA 2 级认证