Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,34 +21,35 @@

# 常见概念

## 数据模型相关概念
## 1 数据模型相关概念

### 数据模型(sql_dialect)
### 1.1 数据模型(sql_dialect)

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

### 元数据(Schema)
### 1.2 元数据(Schema)

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

### 设备(Device)
### 1.3 设备(Device)

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

### 测点(Timeseries)
### 1.4 测点(Timeseries)

又名:物理量、时间序列、时间线、点位、信号量、指标、测量值等。<br>
测点是多个数据点按时间戳递增排列形成的一个时间序列。通常一个测点代表一个采集点位,能够定期采集所在环境的物理量。

### 编码(Encoding)
### 1.5 编码(Encoding)

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

### 压缩(Compression)
### 1.6 压缩(Compression)

IoTDB 在数据编码后,使用压缩技术进一步压缩二进制数据,提升存储效率。IoTDB 支持多种压缩方法,详细信息请查看:[压缩和编码](../Technical-Insider/Encoding-and-Compression.md)。

## 分布式相关概念

## 2 分布式相关概念

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

Expand All @@ -63,23 +64,23 @@ IoTDB 的集群包括如下常见概念:
下文将对以上概念进行介绍。


### 节点
### 2.1 节点

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

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

### 数据分区
### 2.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。
- 具体分区算法可参考:[数据分区](../Technical-Insider/Cluster-data-partitioning.md)

### 多副本
### 2.3 多副本

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

Expand All @@ -89,27 +90,27 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data
| 数据 | data_replication_factor | 1 | 2 |


## 部署相关概念
## 3 部署相关概念

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

### 单机模式
### 3.1 单机模式

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

- **特点**:便于开发者安装部署,部署和维护成本较低,操作方便。
- **适用场景**:资源有限或对高可用要求不高的场景,例如边缘端服务器。
- **部署方法**:[单机版部署](../Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md)

### 集群模式
### 3.2 集群模式

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

- **特点**:具有高可用性、高扩展性,可通过增加 DataNode 提高系统性能。
- **适用场景**:需要提供高可用和可靠性的企业级应用场景。
- **部署方法**:[集群版部署](../Deployment-and-Maintenance/Cluster-Deployment_apache.md)

### 特点总结
### 3.3 特点总结

| 维度 | 单机模式 | 集群模式 |
| ------------ | ---------------------------- | ------------------------ |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,34 +21,34 @@

# 常见概念

## 数据模型相关概念
## 1 数据模型相关概念

### 数据模型(sql_dialect)
### 1.1 数据模型(sql_dialect)

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

### 元数据(Schema)
### 1.2 元数据(Schema)

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

### 设备(Device)
### 1.3 设备(Device)

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

### 测点(Timeseries)
### 1.4 测点(Timeseries)

又名:物理量、时间序列、时间线、点位、信号量、指标、测量值等。<br>
测点是多个数据点按时间戳递增排列形成的一个时间序列。通常一个测点代表一个采集点位,能够定期采集所在环境的物理量。

### 编码(Encoding)
### 1.5 编码(Encoding)

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

### 压缩(Compression)
### 1.6 压缩(Compression)

IoTDB 在数据编码后,使用压缩技术进一步压缩二进制数据,提升存储效率。IoTDB 支持多种压缩方法,详细信息请查看:[压缩和编码](../Technical-Insider/Encoding-and-Compression.md)。

## 分布式相关概念
## 2 分布式相关概念

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

Expand All @@ -63,23 +63,23 @@ IoTDB 的集群包括如下常见概念:
下文将对以上概念进行介绍。


### 节点
### 2.1 节点

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

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

### 数据分区
### 2.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。
- 具体分区算法可参考:[数据分区](../Technical-Insider/Cluster-data-partitioning.md)

### 多副本
### 2.3 多副本

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

Expand All @@ -89,19 +89,19 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data
| 数据 | data_replication_factor | 1 | 2 |


## 部署相关概念
## 3 部署相关概念

IoTDB 有三种运行模式:单机模式、集群模式和双活模式。

### 单机模式
### 3.1 单机模式

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

- **特点**:便于开发者安装部署,部署和维护成本较低,操作方便。
- **适用场景**:资源有限或对高可用要求不高的场景,例如边缘端服务器。
- **部署方法**:[单机版部署](../Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md)

### 双活模式
### 3.2 双活模式

双活版部署为 TimechoDB 企业版功能,是指两个独立的实例进行双向同步,能同时对外提供服务。当一台停机重启后,另一个实例会将缺失数据断点续传。

Expand All @@ -111,15 +111,15 @@ IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D;
- **适用场景**:资源有限(仅有两台服务器),但希望获得高可用能力。
- **部署方法**:[双活版部署](../Deployment-and-Maintenance/Dual-Active-Deployment_timecho.md)

### 集群模式
### 3.3 集群模式

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

- **特点**:具有高可用性、高扩展性,可通过增加 DataNode 提高系统性能。
- **适用场景**:需要提供高可用和可靠性的企业级应用场景。
- **部署方法**:[集群版部署](../Deployment-and-Maintenance/Cluster-Deployment_timecho.md)

### 特点总结
### 3.4 特点总结

| 维度 | 单机模式 | 双活模式 | 集群模式 |
| ------------ | ---------------------------- | ------------------------ | ------------------------ |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@

IoTDB 模型结构涉及的基本概念在下文将做详细叙述。

## 数据库(Database)
## 1 数据库(Database)

用户可以将任意前缀路径设置成数据库。如有 4 条时间序列`root.ln.wf01.wt01.status`, `root.ln.wf01.wt01.temperature`, `root.ln.wf02.wt02.hardware`, `root.ln.wf02.wt02.status`,路径`root.ln`下的两个实体 `wf01`, `wf02`可能属于同一个业主,或者同一个制造商,这时候就可以将前缀路径`root.ln`指定为一个数据库。未来`root.ln`下增加了新的实体,也将属于该数据库。

Expand All @@ -51,26 +51,26 @@ Database 节点名只支持中英文字符、数字和下划线的组合。例

**无模式写入**:可以在未定义元数据时, 通过 insert 语句直接写入数据,数据库中将自动识别并注册所需的元数据,实现自动建模。

## 设备(Device)
## 2 设备(Device)

**一个物理设备**,也称实体(Entity),是在实际场景中拥有物理量的设备或装置。在 IoTDB 当中,所有的物理量都有其对应的归属实体。实体无需手动创建,默认为倒数第二层。实体是管理的一组时间序列的组合,可以是一个物理设备、测量装置、传感器集合等。


## 物理量(Measurement)
## 3 物理量(Measurement)

**物理量**,也称工况或字段(field),是在实际场景中检测装置所记录的测量信息,且可以按一定规律变换成为电信号或其他所需形式的信息输出并发送给 IoTDB。在 IoTDB 当中,存储的所有数据及路径,都是以物理量为单位进行组织。

## 时间序列
## 4 时间序列

### 时间戳 (Timestamp)
### 4.1 时间戳 (Timestamp)

时间戳是一个数据到来的时间点,其中包括绝对时间戳和相对时间戳,详细描述参见 [数据类型文档](../Background-knowledge/Data-Type.md)。

### 数据点(Data Point)
### 4.2 数据点(Data Point)

**一个“时间戳-值”对**。

### 时间序列(Timeseries)
### 4.3 时间序列(Timeseries)

**一个物理实体的某个物理量在时间轴上的记录**,是数据点的序列。

Expand All @@ -80,7 +80,7 @@ Database 节点名只支持中英文字符、数字和下划线的组合。例

例如,ln 电力集团、wf01 风电场的实体 wt01 有名为 status 的物理量,则它的时间序列可以表示为:`root.ln.wf01.wt01.status`。

### 对齐时间序列(Aligned Timeseries)
### 4.4 对齐时间序列(Aligned Timeseries)

在实际应用中,存在某些实体的多个物理量**同时采样**,形成一组时间列相同的时间序列,这样的一组时间序列在Apache IoTDB中可以建模为对齐时间序列。

Expand All @@ -98,7 +98,7 @@ Database 节点名只支持中英文字符、数字和下划线的组合。例

在后续数据定义语言、数据操作语言和 Java 原生接口章节,将对涉及到对齐时间序列的各种操作进行逐一介绍。

## 路径(Path)
## 5 路径(Path)

路径(`path`)是指符合以下约束的表达式:

Expand Down Expand Up @@ -128,11 +128,11 @@ wildcard
* ['\u2E80'..'\u9FFF'] (UNICODE 中文字符)
* 特别地,如果系统在 Windows 系统上部署,那么 database 路径结点名是大小写不敏感的。例如,同时创建`root.ln` 和 `root.LN` 是不被允许的。

### 特殊字符(反引号)
### 5.1 特殊字符(反引号)

如果需要在路径结点名中用特殊字符,可以用反引号引用路径结点名,具体使用方法可以参考[反引号](../Reference/Syntax-Rule.md#反引号)。
如果需要在路径结点名中用特殊字符,可以用反引号引用路径结点名,具体使用方法可以参考[反引号](../SQL-Manual/Syntax-Rule.md#反引号)。

## 路径模式(Path Pattern)
## 6 路径模式(Path Pattern)

为了使得在表达多个时间序列的时候更加方便快捷,IoTDB 为用户提供带通配符`*`或`**`的路径。用户可以利用两种通配符构造出期望的路径模式。通配符可以出现在路径中的任何层。

Expand Down
12 changes: 6 additions & 6 deletions src/zh/UserGuide/Master/Tree/Background-knowledge/Data-Type.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

# 数据类型

## 基本数据类型
## 1 基本数据类型

IoTDB 支持以下十种数据类型:

Expand All @@ -38,7 +38,7 @@ IoTDB 支持以下十种数据类型:

其中,STRING 和 TEXT 类型的区别在于,STRING 类型具有更多的统计信息,能够用于优化值过滤查询。TEXT 类型适合用于存储长字符串。

### 浮点数精度配置
### 1.1 浮点数精度配置

对于 **FLOAT** 与 **DOUBLE** 类型的序列,如果编码方式采用 `RLE`或 `TS_2DIFF`,可以在创建序列时通过 `MAX_POINT_NUMBER` 属性指定浮点数的小数点后位数。

Expand All @@ -49,7 +49,7 @@ CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=FLOAT, ENCODING=RLE, 'MAX_POI

若不指定,系统会按照配置文件 `iotdb-system.properties` 中的 [float_precision](../Reference/Common-Config-Manual.md) 项配置(默认为 2 位)。

### 数据类型兼容性
### 1.2 数据类型兼容性

当写入数据的类型与序列注册的数据类型不一致时,
- 如果序列数据类型不兼容写入数据类型,系统会给出错误提示。
Expand All @@ -70,11 +70,11 @@ CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=FLOAT, ENCODING=RLE, 'MAX_POI
| TIMESTAMP | INT32 INT64 TIMESTAMP |
| DATE | DATE |

## 时间戳类型
## 2 时间戳类型

时间戳是一个数据到来的时间点,其中包括绝对时间戳和相对时间戳。

### 绝对时间戳
### 2.1 绝对时间戳

IOTDB 中绝对时间戳分为二种,一种为 LONG 类型,一种为 DATETIME 类型(包含 DATETIME-INPUT, DATETIME-DISPLAY 两个小类)。

Expand Down Expand Up @@ -146,7 +146,7 @@ IoTDB 在显示时间戳时可以支持 LONG 类型以及 DATETIME-DISPLAY 类

</div>

### 相对时间戳
### 2.2 相对时间戳

相对时间是指与服务器时间```now()```和```DATETIME```类型时间相差一定时间间隔的时间。
形式化定义为:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
-->
# 走进时序数据

## 什么叫时序数据?
## 1 什么叫时序数据?

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

Expand All @@ -34,20 +34,20 @@

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

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

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

![](/img/%E7%99%BD%E6%9D%BF.png)

### 数据点
### 2.1 数据点

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

![](/img/%E6%95%B0%E6%8D%AE%E7%82%B9.png)

### 测点
### 2.2 测点

- 定义:是多个数据点按时间戳递增排列形成的一个时间序列。通常一个测点代表一个采集点位,能够定期采集所在环境的物理量。
- 又名:物理量、时间序列、时间线、信号量、指标、测量值等
Expand All @@ -57,7 +57,7 @@
- 车联网场景:油量、车速、经度、维度
- 工厂场景:温度、湿度

### 设备
### 2.3 设备

- 定义:对应一个实际场景中的物理设备,通常是一组测点的集合,由一到多个标签定位标识
- 示例
Expand Down
Loading