当前位置:网站首页>总数据量超万亿行,玉溪卷烟厂通过正确选择时序数据库轻松应对
总数据量超万亿行,玉溪卷烟厂通过正确选择时序数据库轻松应对
2022-07-28 16:13:00 【涛思数据TDengine】

截至 2021 年底,玉溪卷烟厂拥有完备的打叶复烤线、制丝生产线、梗丝生产线、卷接机组、包装机组、滤棒成型机组,年卷烟生产能力 220 万箱以上,厂区占地面积 134.04 万平方米,在岗员工数千人。工厂 22 项对标指标同比提升 18 项,其中 4 项排名行业第一、13 项排名行业前十,前十指标数量在行业卷烟工厂中排名第二、在云南中烟所属卷烟工厂中排名第一。
后面切换到 TDengine 后,凭借着从时序数据特点出发设计的超级表机制,以及按照时间分片的存储引擎,即便是单表千亿级别的总数据量,TDengine 也可以在物理逻辑上完成划分,直接操作对应时间段的数据文件,摒弃无效的搜索消耗,这一点解决了我们最大的难题。另外基于高效的列式压缩设计,数据的存储成本也显著降低了。
为推进高端高档精品线建设,提升高端卷烟加工的内在品质,精品线智能制造试点项目以提升精品线生产过程制造能力、工艺技术水平为目标,充分应用新的工艺技术、前沿的信息化手段,打造全流程感知、全产业链协同、决策过程实时、IOT融合的前沿生产制造车间,确保生产全过程批内批间品质的稳定性和一致性。全过程感知架构如下图所示:




创建一张超级表存储所有采集点的数据,一个采集点一张子表。超级表采用单列模型,采集值类型为字符串。
优点:在获取某个 MES 业务计算所需要的 n 个测点全量数据时,可以用一条 SQL 查出,不需 join
缺点:布尔、浮点数也会作为字符串存储,压缩比会受影响,且无法使用预计算,还可能需要对结果集做列转行操作
创建多张超级表,单列模式,针对每一种数据类型创建一张超级表,一个采集点一张子表,采集点根据对应数据类型使用对应类型超级表。
优点:采集点增减可以灵活匹配,且数值型采集值有预聚和优化
缺点:获取某个 MES 业务计算所需要的 n 个测点全量数据时,需要分别从三个超级表中查询,后期考虑用 join,但仍会有结果集列转行的工作
为每个 MES 业务计算任务(比如产品质量计算)所涉及的采集点建超级表(也可能是普通表),采用多列模式。
优点:MES 业务涉及到的查询可以直接从对应表按时间段查出来,且不同测点的数据类型可以保留,预计算优化也会被保留
缺点:表结构固定,不同 MES 业务系统之间的超级表可能会用到相同的指标,这些指标的数据就会反复存储。如果 MES 业务计算需求变化,则需要修改表结构,写入时要求所有采集点字段同时写入
4. 根据数据的重要程度和采集频率分库存储,对每一个进行采集存储程序的单独维护,互不干扰,有效保障存储稳定性,一个库的存储故障不会影响其他库。
最终,我们按照上述方案进行分库建表。


其中既有单个字段 16 KB 的大表,也有只存单列数字类型数据的表:





1. 对超级表 voltage_prop 表执行时间段查询。
select * from yjpzsa_phm_opc.voltage_prop where ts >'2022-06-22 10:00:000' and ts <'2022-06-22 15:10:000';



以上便是我们使用 TDengine 的落地过程与应用展示。
本文分享自微信公众号 - TDengine(taosdata_news)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
边栏推荐
- Text filtering skills
- 13 differences between MySQL and Oracle
- Record the processing process of CEPH two RBDS that cannot be deleted
- ERROR: transport library not found: dt_ socket
- SUSE Storage6 环境搭建详细步骤 – Win10 + VMware WorkStation
- 做题笔记5(有序数组的平方)
- Applet: scroll view slides to the bottom by default
- 【深度学习】:《PyTorch入门到项目实战》第六天:多层感知机(含代码)
- 记录开发问题
- 概率论与数理统计第一章
猜你喜欢

结构化设计的概要与原理--模块化

Re11: read EPM legal judgment prediction via event extraction with constraints

Re13: read the paper gender and racial stereotype detection in legal opinion word embeddings

Quickly master kotlin set functions

College students participated in six Star Education PHP training and found jobs with salaries far higher than those of their peers

Technology sharing | how to recover the erroneously deleted table and the data in the table?

MySQL 5.7 and sqlyogv12 installation and use cracking and common commands

Tcp/ip related

【深度学习】:《PyTorch入门到项目实战》:简洁代码实现线性神经网络(附代码)

【深度学习】:《PyTorch入门到项目实战》第四天:从0到1实现logistic回归(附源码)
随机推荐
How should I understand craft
SUSE CEPH add nodes, reduce nodes, delete OSD disks and other operations – storage6
Some opinions on bug handling
关于 CMS 垃圾回收器,你真的懂了吗?
Egg (19): use egg redis performance optimization to cache data and improve response efficiency
Technology sharing | how to recover the erroneously deleted table and the data in the table?
MD5加密验证
阿里大哥教你如何正确认识关于标准IO缓冲区的问题
Semtech推出物联网地理定位解决方案LoRa Edge,首款芯片LR1110现已上市
Programmers from entry to roast!!!!
Leetcode70 suppose you are climbing stairs. You need n steps to reach the roof. You can climb one or two steps at a time. How many different ways can you climb to the roof?
leetcode647. 回文子串
技术分享 | 误删表以及表中数据,该如何恢复?
Outline and principle of structured design -- modularization
负整数及浮点数的二进制表示
Easypoi multi sheet export by template
累计出货130亿颗Flash,4亿颗MCU!深度解析兆易创新的三大产品线
阿里云-武林头条-建站小能手争霸赛
Oracle system composition
Do you really understand CMS garbage collector?