4

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

 2 years ago
source link: https://my.oschina.net/u/4248671/blog/5311721
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

作者:曲烟信息化小组

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

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

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

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

从原有时序数据库到 TDengine

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

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

曲烟改造后的系统需要支持的特性如下:
1. 功能稳定
2. 高效的数据写入
3. 高效的数据查询,包括最新数据和历史数据
4. 可云化部署
5. 可私有化部署
6. 线性扩展
7. 高可用

在 TDengine 于 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 的写入和查询的效率非常高,平均在 10ms 以内,性能完全满足曲烟的要求。

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

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

搭载 TDengine 的应用介绍

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

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

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

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


✨想了解更多TDengine的具体细节,欢迎大家在GitHub上查看相关源代码哦。✨


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK