共计 2012 个字符,预计需要花费 6 分钟才能阅读完成。
在咱们的“海内某储能我的项目”我的项目中,须要实时监测电池平安,采集记录每次应用的充放电过程、电流 / 电压等值,而此类数据都带有工夫戳,是典型的时序数据。为了应答将来海量的用户应用数据,咱们须要抉择一款业余的时序数据库(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 分钟工夫内的单设施输出功率之和:
select FIRST(ts) firstTs, LAST(ts) lastTs, count(*) countVal, sum(input_total_power) totalPower from device_data_58CF7920B63C where ts >= '2023-08-09T00:00:00.000Z' and ts< '2023-08-10T00:00:00.000Z' SESSION(ts, 1m)
-
通过 interval 查看设施输出功率的趋势,并且应用了 offset 时区的偏移:
select _WSTART as ts, avg(inverter_power) avgVal, min(inverter_power) minVal, max(inverter_power) maxVal from gendome.device_data_58CF7920B63C where inverter_power > 0 and ts >= '2023-08-09T00:00:00.000Z' and ts< '2023-08-10T00:00:00.000Z' interval (1d, 960m) FILL (NULL)
因为咱们的利用与 TDengine Cloud 所属同一个 AWS region,所以通过应用 Private Link 性能,咱们的利用网络与云服务进行了私密通信,而无需将数据通过公网传输,大大降低了写入方面的提早,同时也进一步节约了由网络流量产生的费用。
写在最初
TDengine 的定位始终都是“大数据”的解决平台,尤其是 3.0 版本和 2.0 相比有很多的底层变动,甚至能够反对 10 亿级别的表数量。
对咱们这个体量绝对较小的场景来说,TDengine Cloud 按量计费加全托管的企业级服务让咱们用十分小的老本便运行了这个我的项目,并且极大地减少了产品的效率并保留了随时扩张的灵活性。此外,数据分享、流式计算这些乏味的个性也期待咱们进行更深一步地开掘。
对于国轩高科
国轩高科(股票代码:002074),是寰球当先的新能源解决方案提供商,专一于锂离子动力电池和储能电池的研发、生产与销售,综合实力位居中国乃至寰球前列。
对于本文作者
刘志成,国轩高科某储能产品部平台架构师,多年从事能源物联网行业。