“
小T导读
/ TDengine Story
这篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品之一。作者通过自身实践,详细分享了 TDengine 在高端装备运维服务平台中的应用,涵盖架构改造、性能测试、功能实现等多个方面。从压缩效率到查询性能,从功能优化到使用体验,文章不仅展示了 TDengine 的技术优势,也提出了许多宝贵的改进建议,给人以深刻启发。
01
为什么选择 TDengine?
高并发写入:需要支持每条记录附带时间戳的高频数据写入。
灵活表设计:不同传感器设备的数据字段各不相同,需要针对每个设备灵活建表。
长期存储与压缩:原始数据需存储至少 5 年,要求具备高效的数据压缩能力以降低存储成本。
国产化支持:需满足国产化要求,并能提供快速响应的厂商服务。
我们选择使用 TDengine 社区版 2.2.1.1 进行分布式模拟测试,实验环境搭建在以下配置的三台服务器上:
select * from d0 where ts >= ‘2017-07-14 10:40:00.000’ and ts <= ’2017-07-14 10:40:10.000’ >> /dev/null;

02
TDengine 在 3H1 上的落地实践
企业驾驶舱:专为设备制造企业的管理者设计,便于全面掌握平台数据和关键业务流程指标。通过直观的界面,管理者可以轻松了解设备销售情况、企业接入信息以及平台数据的采集情况。同时,驾驶舱支持对关键业务流程进行管理,包括设备监控、报警信息展示、维修效率分析、设备故障情况以及三包任务的追踪和管理。

设备资源管理:旨在为每台高端成形装备建立电子档案,便于全面了解设备的历史状态、当前运行情况,并优化设备运行与未来状况预测。在查看具体设备信息时,系统主要呈现以下四个维度:当前工况、健康分析、维修情况和历史工况。
其中,当前工况为用户提供设备的基本信息、关键指标和报警情况的总览,帮助快速掌握设备的实时运行状态。
维修服务管理:面向维修服务部门,提供维修任务的实时状态和历史效率分析。系统展示当前待处理任务数量,例如待接单、待派单和待回访任务,并支持查看和操作每项任务,详尽覆盖维修流程的每个环节。

设备健康分析:通过分析设备的历史和当前运行数据,预测设备未来可能发生的故障,并提供故障的可能性和类型评估,帮助维修部门为用户制定维保策略,提前主动联系用户,提升服务效率。

三包服务管理:服务于三包部门,提供当前维保活动提醒、设备维保活动记录、设备维保到期预警等功能。
-
备品备件管理:通过建立与维修保养相关的备品备件档案,用户和相关部门人员可在移动端和系统端进行备件的查询、申请和审批操作,简化流程,提高维修保养效率。此外,利用数据分析预测备品备件需求,既能满足需求,又能有效降低库存成本。
引入 TDengine 后,这六大功能模块的使用效果显著提升,不仅在数据写入和查询性能上表现优异,高效的压缩效率也进一步优化了性能与成本的平衡,实现了最佳的系统效能。
03
分析思路环节
开发人员现在可以自己电脑上搭建一套环境,随便折腾,不用担心跑不起来,也不用担心影响别人;
性能测试的时候,用配置低一些的机器也没问题,照样能做出压测效果;
遇到技术难题,原来通过 Google、百度、StackOverflow 寻找答案,现在可以直接在官方渠道 https://github.com/taosdata/TDengine 提 issue,也可以在 TDengine 的技术社区进行提问,TDengine 的技术专家亲自答复,响应非常快;
TDengine 的体积小,上传起来非常快,有些私有化部署项目,不允许访问外网,只能手动上传,体积小的优势就非常明显;
安装部署简单,配合 Docker 容器,可以在几分钟内完成安装部署;
运营监控工作变简单了,只需要对 TDengine 的几个进程进行监控;
占用的磁盘空间明显变小了,减少到原来的 1/5;
使用的主机减少到原来的 1/5,相应的费用支出也减少了。
04
总结思考
JDBC-JNI 依赖动态库,导致安装和部署较为繁琐。虽然通过 JDBC-RESTful 解决了这个问题,但多了一层 RESTful Connector,性能略有下降。理想的解决方案是开发一个基于纯 Java 的 JDBC 驱动,直接连接后端服务。
客户端以命令行形式为主,对开发者,尤其是初学者或习惯图形界面的用户并不友好。图形界面支持如语法高亮、语法检查等功能非常实用。目前已有社区开发者贡献了两个 GUI 工具,但如果能由官方提供支持,体验会更佳。
总而言之,在引入 TDengine 后,3H1 原有业务系统通过升级改造实现了显著提升,不仅大幅降低了研发和维护成本,还成功实现了横向扩展。TDengine 出色的查询性能令人惊喜,其卓越的压缩效率也显著节省了存储资源。未来,我们计划在更多应用场景中探索 TDengine 的潜力,并进一步深化与 TDengine 的合作。
05
TDengine 知识点
安装 TDengine
运行 TDengine

执行 TDengine 命令行
taos,即可进入命令行界面开始操作。
新建数据库(脚本文件)
source 命令运行脚本文件中的多条 SQL 命令,实现批量执行操作。
taos> source <filename>;source test.txt;
test.txt 内容如下:
CREATE DATABASE demo2;USE demo2;CREATE TABLE t (ts TIMESTAMP, speed INT);INSERT INTO t VALUES ('2019-07-15 00:00:00', 10);INSERT INTO t VALUES ('2019-07-15 01:00:00', 20);SELECT * FROM t;

taosBenchmark 命令(体验写入速度)
taosBenchmark(前身为 taosdemo)即可体验。
taosBenchmark --helptaosBenchmark

表管理
# 创建表use testdb;create table t1 (ts TIMESTAMP,name1 BINARY(100)) ;# 查看表结构describe t1;# 插入数据insert into t1 values(‘2021-03-10 22:37:36.100’,‘test’);# 查询表select * from t1;# 查看当前所有表show tables;
TDengine 典型的操作流程

多表聚合查询
END
往期推荐
客户盘点:北微传感、青山钢铁、首自信、国电投、江河信息、寓信科技、前晨汽车、华风数据、协鑫鑫光、双合电气、路特斯、昆船电子、天合富家、红有软件、上海晶澳太阳能、极氪汽车、威士顿、树根互联、福州城建、积成电子、西电电力、中船九院、大唐水电院
Use Case:泛能网产业智能平台、电芯容量预测系统、煤矿安全生产综合管控平台、虚拟电厂运营管理平台、明阳集团能源大数据应用系统、知轮智慧轮胎系统、中国地震台网中心、中移物联智慧出行场景、搜狐基金、智光电气、黑格智能设备追踪场景、韵达订单扫描系统、顺丰大数据监控平台、车辆轨迹定位存储引擎项目、西门子轻量级数字化解决方案
技术分享:TDengine S3 存储、TDengine 流计算、TDengine 建模实战、与工业 SCADA 深度融合、TDengine 与新型电力系统、TDgpt 如何助力数据预测、Historian Connector+TDengine、长查询问题实战分享、TDengine 数据订阅、TDengine SQL 查询规则、万字长文解读怎样激活 TDengine 最高性价比
测试报告:TDengine 线性扩展能力测试、IoT 场景下 TDengine 3.0 性能对比分析报告、DevOps 场景下 TDengine 3.0 性能对比分析报告
👇 点击阅读原文,立即体验 TDgpt!


