TDengine 助力曲靖卷烟厂有效提升时序数据存取效率

作者:曲烟信息化小组

小 T 导读:作为云南中烟核心生产厂之一,曲靖卷烟厂基于中国制造 2025 的政策号召,不断完善的网络基础设施,梳理数据采集节点,丰富数据采集手段,逐步打通制丝、卷接、包装、成型、能源等卷烟生产及保障过程中相关设备与现场终端的局域互联,构建全面覆盖生产重要区域的数据采集网络,形成卷烟工厂《制造过程数据采集标准》,实现高效稳定的数据采集,为实现全面智能化制造奠定了数据基础。

近年来,曲烟围绕工业数据的“取、存、管、用”四个方面,搭建工业大数据集群及数据共享服务中台,依托两化融合、数据管理能力评估标准体系,开展工业数据采集、数据建模、数据利用、技术开发、数据安全及平台运维等研究。

在数据“取、存、管、用”中,“存”为基石。卷烟工业数据具有时效性强、实时数据量大等特点。而随着业务的发展,生产中需要监测的指标从几万个增加到几十万甚至百万个以上,曲烟过去使用的某国外时序数据库软件在性能和扩展能力上,越来越难以为继,在对生产设备进行产量、材料消耗、工艺效率等大数据量存储、统计分析、跨长时间段的查询操作时,耗费成本越来越高,无法支撑起日益增长的业务、效率需求,“如何有效提升时序数据存取效率”成为了挡在曲烟数字化转型路上的拦路虎。

为提升数据存取效率、打破传统数据孤岛、提升数据有效利用率,曲烟决定从当前市面上流行的时序数据库重新进行选型,具体的选型思考和实践效果将在下文中一一进行阐述。

从原有时序数据库到 TDengine

在进行数据库选型之前,我们对当前曲烟生产设备进行了一些特点分析。在多年发展下,设备类型越来越繁多,不同设备的通讯接口、采集协议、采集参数都各不相同,单个工厂的设备数量在几十到几千之间,单台设备的采集参数数量有上百之多,参数类型包含数值和文本两种,基本的采集频次要求每两秒采集一次,同时支持变化上报。由此可见,每天产生的数据量有多么庞大,在这种体量的数据量基数下,存储和查询等操作也会频频出现问题。

此前曲烟使用的国外某时序数据库Time Series Database)是一款非开源软件,其在软件使用上,写入速度满足需求,但查询速度却太慢,同时缺乏统计工具,数据统计效率较低。在软件运维层面,软件体量大,运维成本高;过于受限,永久授权也不能自由修改数据点;支持 OPC DA 数据采集,但稳定性较差、安全性不足。

曲烟改造后的系统需要支持的特性如下:

  1. 功能稳定
  2. 高效的数据写入
  3. 高效的数据查询,包括最新数据和历史数据
  4. 可云化部署
  5. 可私有化部署
  6. 线性扩展
  7. 高可用

TDengine Database 于 2019 年下半年刚推出第一个开源版本时,我们就从开源社区了解到这个国产的高性能时序数据库,很快就开始进行测试试用,并持续保持着和涛思团队的技术交流。作为第一个吃螃蟹的烟草企业,我们也综合考量了 TDengine 的业务场景匹配度、产品市场成熟度等因素。尽管当时 TDengine 还是一款相对比较“年轻”的时序数据库,市场份额也暂不如一些老牌工业库,但它的核心代码完全开源,社区活跃度非常高。

在内部对比测试了 OpenTSDB、InfluxDB 等开源时序数据库后,我们发现 TDengine 的综合表现最优。而涛思团队也在 2020 年发布了 TDengine 2.0 版本,将老牌工业库以及 InfluxDB 开源版不具备的分布式集群扩展能力也开源了,这也进一步增加了我们采用 TDengine 做烟厂标准时序引擎的信心。很快我们的信息技术团队便基于卷包车间的数据采集存储需求,对 TDengine 又进行了一系列生产级别的测评,经验证后它的写入速度和查询速度都满足我们的生产需求。

其中给我们印象最深刻的是,那时候 TDengine 的安装包大小才不到 5MB,竟能提供这么强劲的性能——10 亿级别的数据量做聚合计算只需要 2 秒,而在之前使用的国外某时序数据库中,对全量(不足 1 亿条记录)的均值计算需要 2-3 分钟。此外,TDengine 数据库内置时间窗口自动分割和统计机制,让后期报表数据统计更加快捷方便,而且这款软件上手使用很简单,通过命令行能直接以 SQL 语法进行交互,和 Grafana 也可以无缝对接。在扫除了开发成本的疑虑后,我们很快就使用 TDengine + Grafana 搭建起了卷包车间的数据存储和可视化平台。

目前,曲烟卷包、制丝车间均使用的是国产时序数据库 TDengine,逐渐替代了之前使用的时序数据库。

技术架构与落地效果

基于曲烟已搭建的私有云平台,我们将 TDengine 部署到云端,中间借助 Kafka 作为消息中间件作为系统消息总线,将数采软件采集到的卷烟机、包装机等实时工作状态数据推送到其中,之后通过多个消费者消费入库 TDengine,进而支撑上层的 MES、风险预警、切丝机水分预测、零配件需求预测等业务应用服务。具体架构如下:

TDengine Database

测试结果中,TDengine 的写入和查询的效率非常高,平均在 10ms 以内,性能完全满足曲烟的要求。

TDengine Database

目前 TDengine 已经接入曲烟卷包车间数据并持续稳定运行超过半年,已存储曲烟卷包部所有卷接包设备,每张子表超过 150 列数据,总计累计数据量:5 亿 5 千万条(553,666,828),而落盘后的磁盘空间使用只有 1.9GB,极大节省了存储空间。

测试结果TDengine Database
测试结果TDengine Database

目前我们搭载 TDengine 时序数据库构建的系统已充分满足曲烟提出的需求特性。在 TDengine 的有力支撑下,曲烟重点围绕工业数据“取、存、管、用”四个方面,重构了移动平台及 MES 现场操作站架构,重点打造了“一部手机管生产”,以打通企业内部不同层级、不同系统之间的数据壁垒,实现对内支撑业务应用和管理决策、对外提供数据共享及服务能力。

搭载 TDengine 的应用介绍

在业务层面,曲烟的各个系统也均获得了 TDengine 非常硬核的助力,数字化进程加速推进,目前也达成了以下各项应用成果:

1、基于二维码的产品全生命周期系统:将一包烟从制丝、卷包、成型生产环节的工艺信息、质检信息、原料信息、辅料信息、设备信息等多方数据进行平台汇聚,通过烟包唯一二维码进行关联,实现了产品的数字化,为协同提升产品内在品质形成数据支撑。

TDengine Database

2、质量风险预警系统:曲烟将沉淀的大量工业数据进行数学建模,构建起质量风险预警模型,对设备剔除、停机、消耗甚至外挂设备状态等关键数据进行实时监控,若出现异常将以短信、微信、大屏推送的方式将信息传送到相关职能人员手中,形成 PDCA 的管理闭环,将传统人找事转变为事找人的工作模式。

TDengine 时序数据库 - TDengine 助力曲靖卷烟厂有效提升时序数据存取效率 6
TDengine Database

写在最后

我们非常高兴有幸“结识”了 TDengine Database,并且将其应用到了我们的系统改造中,事实证明,这是一项非常正确的决策。TDengine 不仅轻量级好运维,同时它的性能之高、硬件成本之低也让人印象深刻。在搭载 TDengine 的这段时间,感谢涛思数据的各位小伙伴带给我们的支持,希望未来 TDengine 能够更新出越来越多优秀的特性,我们之间的合作也能更加深入。