超级表

超级表

在海量设备的数据管理场景中,既要保证写入效率和查询性能,又要简化建模与管理,是时序数据库架构面临的核心挑战。TDengine 结合“一个数据采集点一张表”的设计理念,引入了具有创新性的“超级表”(Super Table,简称 STable)机制,从根本上解决了大规模时序数据结构不统一、聚合困难、运维复杂等问题。

一个数据采集点一张表:性能最大化的基础设计

TDengine 采用“一个数据采集点一张表”的架构,每个采集点的数据独立存储,天然具备写入无锁、数据顺序追加、块状连续存储等优势。这种设计方式不仅提升了写入与查询性能,还带来了极高的数据压缩效率。但随着设备数量的增长,表的数量也会成倍增长,表结构一致但标签属性不同,如何统一建模、批量管理并实现灵活查询,成为亟待解决的问题。

超级表:结构统一,便于聚合

为此,TDengine 引入了超级表机制,将具有相同结构的一类数据采集点聚合在一起,构成逻辑上的统一表。这些数据采集点拥有相同的表结构,但各自的静态属性(如标签)可能不同。创建超级表时,除了需要定义采集量的列结构,还需同时定义标签字段。每张超级表至少包含一个时间戳列、一个或多个采集量列,以及一个或多个标签列。标签支持灵活管理,用户可根据需要对其进行新增、修改或删除。

在 TDengine 中,表代表具体的数据采集点,而超级表则代表一组具有相同属性的数据采集点集合。举例来说,在管理成千上万块智能电表时,可以为这类设备建立一张超级表,仅需一次定义采集结构和标签字段,即可通过标签区分各个电表的静态属性。所有智能电表的动态时序数据与静态标签数据统一管理,既简化了表的创建与维护,也大幅提升了跨设备聚合分析的效率。

灵活标签,易于扩展与管理

TDengine 支持对超级表标签进行动态的添加、修改与删除操作,满足设备属性变更、系统扩展等业务需求。用户可以通过标签进行筛选、分组、聚合等操作,实现更精细化的数据分析与可视化。通过超级表机制,TDengine 在保持高性能写入和查询能力的基础上,也大幅降低了运维和建模成本。