news 2026/4/3 3:08:18

IoTDB时序数据模型数据模型相关概念教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IoTDB时序数据模型数据模型相关概念教程

1. 什么叫时序数据?

万物互联的今天,物联网场景、工业场景等各类场景都在进行数字化转型,人们通过在各类设备上安装传感器对设备的各类状态进行采集。如电机采集电压、电流,风机的叶片转速、角速度、发电功率;车辆采集经纬度、速度、油耗;桥梁的振动频率、挠度、位移量等。传感器的数据采集,已经渗透在各个行业中。

通常来说,我们把每个采集点位叫做一个测点( 也叫物理量、时间序列、时间线、信号量、指标、测量值等),每个测点都在随时间的推移不断收集到新的数据信息,从而构成了一条时间序列。用表格的方式,每个时间序列就是一个由时间、值两列形成的表格;用图形化的方式,每个时间序列就是一个随时间推移形成的走势图,也可以形象的称之为设备的“心电图”。

传感器产生的海量时序数据是各行各业数字化转型的基础,因此我们对时序数据的模型梳理主要围绕设备、传感器展开。

2. 时序数据中的关键概念有哪些?

时序数据中主要涉及的概念由下至上可分为:数据点、测点、设备。

2.1 数据点

  • 定义:由一个时间戳和一个数值组成,其中时间戳为 long 类型,数值可以为 BOOLEAN、FLOAT、INT32 等各种类型。
  • 示例:如上图中表格形式的时间序列的一行,或图形形式的时间序列的一个点,就是一个数据点。

2.2 测点

  • 定义:是多个数据点按时间戳递增排列形成的一个时间序列。通常一个测点代表一个采集点位,能够定期采集所在环境的物理量。
  • 又名:物理量、时间序列、时间线、信号量、指标、测量值等
  • 示例:
    • 电力场景:电流、电压
    • 能源场景:风速、转速
    • 车联网场景:油量、车速、经度、维度
    • 工厂场景:温度、湿度

2.3 设备

  • 定义:对应一个实际场景中的物理设备,通常是一组测点的集合,由一到多个标签定位标识
  • 示例
    • 车联网场景:车辆,由车辆识别代码 VIN 标识
    • 工厂场景:机械臂,由物联网平台生成的唯一 ID 标识
    • 能源场景:风机,由区域、场站、线路、机型、实例等标识
    • 监控场景:CPU,由机房、机架、Hostname、设备类型等标识

3. 数据模型相关概念

3.1 数据模型(sql_dialect)

IoTDB 支持两种时序数据模型(SQL语法),管理的对象均为设备和测点树:以层级路径的方式管理数据,一条路径对应一个设备的一个测点表;以关系表的方式管理数据,一张表对应一类设备。

3.2 元数据(Schema)

元数据是数据库的数据模型信息,即树形结构或表结构。包括测点的名称、数据类型等定义。

3.3 设备(Device)

对应一个实际场景中的物理设备,通常包含多个测点。

3.4 测点(Timeseries)

又名:物理量、时间序列、时间线、点位、信号量、指标、测量值等。

测点是多个数据点按时间戳递增排列形成的一个时间序列。通常一个测点代表一个采集点位,能够定期采集所在环境的物理量。

3.5 编码(Encoding)

编码是一种压缩技术,将数据以二进制的形式进行表示,可以提高存储效率。IoTDB 支持多种针对不同类型的数据的编码方法,详细信息请查看:压缩和编码。

3.6 压缩(Compression)

IoTDB 在数据编码后,使用压缩技术进一步压缩二进制数据,提升存储效率。IoTDB 支持多种压缩方法,详细信息请查看:压缩和编码。

4. 分布式相关概念

下图展示了一个常见的 IoTDB 3C3D(3 个 ConfigNode、3 个 DataNode)的集群部署模式:

IoTDB 的集群包括如下常见概念:

  • 节点(ConfigNode、DataNode、AINode)
  • Region(SchemaRegion、DataRegion)
  • 多副本

下文将对以上概念进行介绍。

4.1 节点

IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),DataNode(数据节点)和 AINode(分析节点),如下所示:

  • ConfigNode:管理集群的节点信息、配置信息、用户权限、元数据、分区信息等,负责分布式操作的调度和负载均衡,所有 ConfigNode 之间互为全量备份,如上图中的 ConfigNode-1,ConfigNode-2 和 ConfigNode-3 所示。
  • DataNode:服务客户端请求,负责数据的存储和计算,如上图中的 DataNode-1,DataNode-2 和 DataNode-3 所示。
  • AINode:负责提供机器学习能力,支持注册已训练好的机器学习模型,并通过 SQL 调用模型进行推理,目前已内置自研时序大模型和常见的机器学习算法(如预测与异常检测)。

4.2 数据分区

在 IoTDB 中,元数据和数据都被分为小的分区,即 Region,由集群的各个 DataNode 进行管理。

  • SchemaRegion:元数据分区,管理一部分设备和测点的元数据。不同 DataNode 相同 RegionID 的 SchemaRegion 互为副本,如上图中 SchemaRegion-1 拥有三个副本,分别放置于 DataNode-1,DataNode-2 和 DataNode-3。
  • DataRegion:数据分区,管理一部分设备的一段时间的数据。不同 DataNode 相同 RegionID 的 DataRegion 互为副本,如上图中 DataRegion-2 拥有两个副本,分别放置于 DataNode-1 和 DataNode-2。
  • 具体分区算法可参考:数据分区

2.3 多副本

数据和元数据的副本数可配置,不同部署模式下的副本数推荐如下配置,其中多副本时可提供高可用服务。

类别配置项单机推荐配置集群推荐配置
元数据schema_replication_factor13
数据data_replication_factor12

5. 部署相关概念

IoTDB 有两种运行模式:单机模式、集群模式。

5.1 单机模式

IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D;

  • 特点:便于开发者安装部署,部署和维护成本较低,操作方便。
  • 适用场景:资源有限或对高可用要求不高的场景,例如边缘端服务器。
  • 部署方法:单机版部署

5.2 集群模式

IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 个 DataNode,即3C3D;当部分节点出现故障时,剩余节点仍然能对外提供服务,保证数据库服务的高可用性,且可随节点增加提升数据库性能。

  • 特点:具有高可用性、高扩展性,可通过增加 DataNode 提高系统性能。
  • 适用场景:需要提供高可用和可靠性的企业级应用场景。
  • 部署方法:集群版部署

5.3 特点总结

维度单机模式集群模式
适用场景边缘侧部署、对高可用要求不高高可用性业务、容灾场景等
所需机器数量1≥3
安全可靠性无法容忍单点故障高,可容忍单点故障
扩展性可扩展 DataNode 提升性能可扩展 DataNode 提升性能
性能可随 DataNode 数量扩展可随 DataNode 数量扩展
  • 单机模式和集群模式,部署步骤类似(逐个增加 ConfigNode 和 DataNode),仅副本数和可提供服务的最少节点数不同。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/2 21:47:49

Tiny11Builder实战手册:打造极致精简的Windows 11系统优化方案

Tiny11Builder实战手册:打造极致精简的Windows 11系统优化方案 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder 在数字设备性能日益重要的今天&#xf…

作者头像 李华
网站建设 2026/4/3 2:51:50

如何快速退出Windows Insider计划:离线工具完整指南

如何快速退出Windows Insider计划:离线工具完整指南 【免费下载链接】offlineinsiderenroll 项目地址: https://gitcode.com/gh_mirrors/of/offlineinsiderenroll 厌倦了Windows预览版的频繁蓝屏和系统不稳定?OfflineInsiderEnroll这款免费离线退…

作者头像 李华
网站建设 2026/3/31 23:32:07

Windows系统安装安卓应用全攻略:APK Installer实用指南

Windows系统安装安卓应用全攻略:APK Installer实用指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为Windows电脑无法运行安卓应用而烦恼吗&#x…

作者头像 李华
网站建设 2026/3/30 19:45:55

终极粒子动画教程:用particles.js打造专业级网页特效

终极粒子动画教程:用particles.js打造专业级网页特效 【免费下载链接】particles.js A lightweight JavaScript library for creating particles 项目地址: https://gitcode.com/gh_mirrors/pa/particles.js particles.js是一个轻量级JavaScript粒子动画库&a…

作者头像 李华
网站建设 2026/4/1 3:02:36

MyBatisPlus自动填充创建时间等审计字段

MyBatisPlus自动填充创建时间等审计字段 在现代Java企业开发中,几乎每个数据表都会包含“创建时间”、“更新时间”、“创建人”、“更新人”这类字段。它们看似简单,却承载着重要的业务意义:追踪数据生命周期、支持操作审计、满足合规要求。…

作者头像 李华
网站建设 2026/4/2 17:41:01

R语言系统发育模型比较全流程详解(从数据准备到AIC/BIC决策)

第一章:R语言系统发育模型比较概述在进化生物学与系统发育分析中,选择合适的进化模型对构建准确的系统发育树至关重要。R语言凭借其强大的统计计算能力和丰富的生物信息学包(如ape、phangorn和geiger),成为进行模型比较…

作者头像 李华