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 @@ -80,7 +80,7 @@
- 在通过客户端工具 Cli 或 SDK 建立数据库连接时,需要通过 sql_dialect 参数指定使用的模型语法(默认使用树语法进行操作)。


## 应用场景
## 3 应用场景

应用场景主要包括两类:

Expand All @@ -89,43 +89,43 @@
- 场景二:使用表模型进行数据的读写


### 3 场景一:树模型
### 3.1 场景一:树模型

#### 3.1 特点
#### 3.1.1 特点

- 简单直观,和物理世界的监测点位一一对应

- 类似文件系统一样灵活,可以设计任意分支结构

- 适用 DCS、SCADA 等工业监控场景

#### 3.2 基础概念
#### 3.1.2 基础概念

| **概念** | **定义** |
| -------------------- | ------------------------------------------------------------ |
| **数据库** | 定义:一个以 root. 为前缀的路径<br>命名推荐:仅包含 root 的下一级节点,如 root.db<br>数量推荐:上限和内存相关,一个数据库也可以充分利用机器资源,无需为性能原因创建多个数据库<br>创建方式:推荐手动创建,也可创建时间序列时自动创建(默认为 root 的下一级节点) |
| **时间序列(测点)** | 定义:<br>1. 一个以数据库路径为前缀的、由 . 分割的路径,可包含任意多个层级,如 root.db.turbine.device1.metric1 <br>2. 每个时间序列可以有不同的数据类型。<br>命名推荐:<br>1. 仅将唯一定位时间序列的标签(类似联合主键)放入路径中,一般不超过10层<br>2. 通常将基数(不同的取值数量)少的标签放在前面,便于系统将公共前缀进行压缩<br>数量推荐:<br>1. 集群可管理的时间序列总量和总内存相关,可参考资源推荐章节<br>2. 任一层级的子节点数量没有限制<br>创建方式:可手动创建或在数据写入时自动创建。 |
| **设备** | 定义:倒数第二级为设备,如 root.db.turbine.**device1**.metric1中的“device1”这一层级即为设备<br>创建方式:无法仅创建设备,随时间序列创建而存在 |

#### 3.3 建模示例
#### 3.1.3 建模示例

##### 3.3.1 有多种类型的设备需要管理,如何建模?
##### 3.1.3.1 有多种类型的设备需要管理,如何建模?

- 如场景中不同类型的设备具备不同的层级路径和测点集合,可以在数据库节点下按设备类型创建分支。每种设备下可以有不同的测点结构。

<div style="text-align: center;">
<img src="/img/Modeling-scheme04.png" alt="" style="width: 70%;"/>
</div>

##### 3.3.2 如果场景中没有设备,只有测点,如何建模?
##### 3.1.3.2 如果场景中没有设备,只有测点,如何建模?

- 如场站的监控系统中,每个测点都有唯一编号,但无法对应到某些设备。

<div style="text-align: center;">
<img src="/img/data-modeling04.png" alt="" style="width: 70%;"/>
</div>

##### 3.3.3 如果在一个设备下,既有子设备,也有测点,如何建模?
##### 3.1.3.3 如果在一个设备下,既有子设备,也有测点,如何建模?

- 如在储能场景中,每一层结构都要监控其电压和电流,可以采用如下建模方式。

Expand All @@ -134,15 +134,15 @@
</div>


### 4 场景二:表模型
### 3.2 场景二:表模型

#### 4.1 特点
#### 3.2.1 特点

- 以时序表建模管理设备时序数据,便于使用标准 SQL 进行分析

- 适用于设备数据分析或从其他数据库迁移至 IoTDB 的场景

#### 4.2 基础概念
#### 3.2.2 基础概念

- 数据库:可管理多类设备

Expand All @@ -158,9 +158,9 @@

数据筛选效率:时间列=标签列>属性列>测点列

#### 4.3 建模示例
#### 3.2.3 建模示例

##### 4.3.1 有多种类型的设备需要管理,如何建模?
##### 3.2.3.1 有多种类型的设备需要管理,如何建模?

- 推荐为每一类型的设备建立一张表,每个表可以具有不同的标签和测点集合。
- 即使设备之间有联系,或有层级关系,也推荐为每一类设备建一张表。
Expand All @@ -169,15 +169,15 @@
<img src="/img/data-modeling06.png" alt="" style="width: 70%;"/>
</div>

##### 4.3.2 如果没有设备标识列和属性列,如何建模?
##### 3.2.3.2 如果没有设备标识列和属性列,如何建模?

- 列数没有数量限制,可以达到数十万以上。

<div style="text-align: center;">
<img src="/img/data-modeling07.png" alt="" style="width: 70%;"/>
</div>

##### 4.3.3 如果在一个设备下,既有子设备,也有测点,如何建模?
##### 3.2.3.3 如果在一个设备下,既有子设备,也有测点,如何建模?

- 每个设备有多个子设备及测点信息,推荐为每类设备建一个表进行管理。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
- 在通过客户端工具 Cli 或 SDK 建立数据库连接时,需要通过 sql_dialect 参数指定使用的模型语法(默认使用树语法进行操作)。


## 应用场景
## 3 应用场景

应用场景主要包括三类:

Expand All @@ -90,43 +90,43 @@

- 场景三:共用一份数据,使用树模型进行数据读写、使用表模型进行数据分析

### 3 场景一:树模型
### 3.1 场景一:树模型

#### 3.1 特点
#### 3.1.1 特点

- 简单直观,和物理世界的监测点位一一对应

- 类似文件系统一样灵活,可以设计任意分支结构

- 适用 DCS、SCADA 等工业监控场景

#### 3.2 基础概念
#### 3.1.2 基础概念

| **概念** | **定义** |
| -------------------- | ------------------------------------------------------------ |
| **数据库** | 定义:一个以 root. 为前缀的路径<br>命名推荐:仅包含 root 的下一级节点,如 root.db<br>数量推荐:上限和内存相关,一个数据库也可以充分利用机器资源,无需为性能原因创建多个数据库<br>创建方式:推荐手动创建,也可创建时间序列时自动创建(默认为 root 的下一级节点) |
| **时间序列(测点)** | 定义:<br>1. 一个以数据库路径为前缀的、由 . 分割的路径,可包含任意多个层级,如 root.db.turbine.device1.metric1 <br>2. 每个时间序列可以有不同的数据类型。<br>命名推荐:<br>1. 仅将唯一定位时间序列的标签(类似联合主键)放入路径中,一般不超过10层<br>2. 通常将基数(不同的取值数量)少的标签放在前面,便于系统将公共前缀进行压缩<br>数量推荐:<br>1. 集群可管理的时间序列总量和总内存相关,可参考资源推荐章节<br>2. 任一层级的子节点数量没有限制<br>创建方式:可手动创建或在数据写入时自动创建。 |
| **设备** | 定义:倒数第二级为设备,如 root.db.turbine.**device1**.metric1中的“device1”这一层级即为设备<br>创建方式:无法仅创建设备,随时间序列创建而存在 |

#### 3.3 建模示例
#### 3.1.3 建模示例

##### 3.3.1 有多种类型的设备需要管理,如何建模?
##### 3.1.3.1 有多种类型的设备需要管理,如何建模?

- 如场景中不同类型的设备具备不同的层级路径和测点集合,可以在数据库节点下按设备类型创建分支。每种设备下可以有不同的测点结构。

<div style="text-align: center;">
<img src="/img/Modeling-scheme04.png" alt="" style="width: 70%;"/>
</div>

##### 3.3.2 如果场景中没有设备,只有测点,如何建模?
##### 3.1.3.2 如果场景中没有设备,只有测点,如何建模?

- 如场站的监控系统中,每个测点都有唯一编号,但无法对应到某些设备。

<div style="text-align: center;">
<img src="/img/data-modeling04.png" alt="" style="width: 70%;"/>
</div>

##### 3.3.3 如果在一个设备下,既有子设备,也有测点,如何建模?
##### 3.1.3.3 如果在一个设备下,既有子设备,也有测点,如何建模?

- 如在储能场景中,每一层结构都要监控其电压和电流,可以采用如下建模方式。

Expand All @@ -135,15 +135,15 @@
</div>


### 4 场景二:表模型
### 3.2 场景二:表模型

#### 4.1 特点
#### 3.2.1 特点

- 以时序表建模管理设备时序数据,便于使用标准 SQL 进行分析

- 适用于设备数据分析或从其他数据库迁移至 IoTDB 的场景

#### 4.2 基础概念
#### 3.2.2 基础概念

- 数据库:可管理多类设备

Expand All @@ -159,9 +159,9 @@

数据筛选效率:时间列=标签列>属性列>测点列

#### 4.3 建模示例
#### 3.2.3 建模示例

##### 4.3.1 有多种类型的设备需要管理,如何建模?
##### 3.2.3.1 有多种类型的设备需要管理,如何建模?

- 推荐为每一类型的设备建立一张表,每个表可以具有不同的标签和测点集合。
- 即使设备之间有联系,或有层级关系,也推荐为每一类设备建一张表。
Expand All @@ -170,35 +170,35 @@
<img src="/img/data-modeling06.png" alt="" style="width: 70%;"/>
</div>

##### 4.3.2 如果没有设备标识列和属性列,如何建模?
##### 3.2.3.2 如果没有设备标识列和属性列,如何建模?

- 列数没有数量限制,可以达到数十万以上。

<div style="text-align: center;">
<img src="/img/data-modeling07.png" alt="" style="width: 70%;"/>
</div>

##### 4.3.3 如果在一个设备下,既有子设备,也有测点,如何建模?
##### 3.2.3.3 如果在一个设备下,既有子设备,也有测点,如何建模?

- 每个设备有多个子设备及测点信息,推荐为每类设备建一个表进行管理。

<div style="text-align: center;">
<img src="/img/Modeling-scheme06.png" alt="" style="width: 70%;"/>
</div>

### 5 场景三:双模型结合(企业版功能)
### 3.3 场景三:双模型结合(企业版功能)

#### 5.1 特点
#### 3.3.1 特点

- 巧妙融合了树模型与表模型的优点,共用一份数据,写入灵活,查询丰富。

- 数据写入阶段,采用树模型语法,支持数据灵活接入和扩展。

- 数据分析阶段,采用表模型语法,允许用户通过标准 SQL 查询语言,执行复杂的数据分析。

#### 5.2 建模示例
#### 3.3.2 建模示例

##### 5.2.1 有多种类型的设备需要管理,如何建模?
##### 3.3.2.1 有多种类型的设备需要管理,如何建模?

- 场景中不同类型的设备具备不同的层级路径和测点集合。

Expand All @@ -210,7 +210,7 @@
<img src="/img/Modeling-scheme01.png" alt="" style="width: 70%;"/>
</div>

##### 5.2.2 如果没有设备标识列和属性列,如何建模?
##### 3.3.2.2 如果没有设备标识列和属性列,如何建模?

- 树模型:每个测点都有唯一编号,但无法对应到某些设备。

Expand All @@ -220,7 +220,7 @@
<img src="/img/Modeling-scheme02.png" alt="" style="width: 70%;"/>
</div>

##### 5.2.3 如果在一个设备下,既有子设备,也有测点,如何建模?
##### 3.3.2.3 如果在一个设备下,既有子设备,也有测点,如何建模?

- 树模型:按照物理世界的监测点,对每一层结构进行建模。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
- 在通过客户端工具 Cli 或 SDK 建立数据库连接时,需要通过 sql_dialect 参数指定使用的模型语法(默认使用树语法进行操作)。


## 应用场景
## 3 应用场景

应用场景主要包括两类:

Expand All @@ -89,43 +89,43 @@
- 场景二:使用表模型进行数据的读写


### 3 场景一:树模型
### 3.1 场景一:树模型

#### 3.1 特点
#### 3.1.1 特点

- 简单直观,和物理世界的监测点位一一对应

- 类似文件系统一样灵活,可以设计任意分支结构

- 适用 DCS、SCADA 等工业监控场景

#### 3.2 基础概念
#### 3.1.2 基础概念

| **概念** | **定义** |
| -------------------- | ------------------------------------------------------------ |
| **数据库** | 定义:一个以 root. 为前缀的路径<br>命名推荐:仅包含 root 的下一级节点,如 root.db<br>数量推荐:上限和内存相关,一个数据库也可以充分利用机器资源,无需为性能原因创建多个数据库<br>创建方式:推荐手动创建,也可创建时间序列时自动创建(默认为 root 的下一级节点) |
| **时间序列(测点)** | 定义:<br>1. 一个以数据库路径为前缀的、由 . 分割的路径,可包含任意多个层级,如 root.db.turbine.device1.metric1 <br>2. 每个时间序列可以有不同的数据类型。<br>命名推荐:<br>1. 仅将唯一定位时间序列的标签(类似联合主键)放入路径中,一般不超过10层<br>2. 通常将基数(不同的取值数量)少的标签放在前面,便于系统将公共前缀进行压缩<br>数量推荐:<br>1. 集群可管理的时间序列总量和总内存相关,可参考资源推荐章节<br>2. 任一层级的子节点数量没有限制<br>创建方式:可手动创建或在数据写入时自动创建。 |
| **设备** | 定义:倒数第二级为设备,如 root.db.turbine.**device1**.metric1中的“device1”这一层级即为设备<br>创建方式:无法仅创建设备,随时间序列创建而存在 |

#### 3.3 建模示例
#### 3.1.3 建模示例

##### 3.3.1 有多种类型的设备需要管理,如何建模?
##### 3.1.3.1 有多种类型的设备需要管理,如何建模?

- 如场景中不同类型的设备具备不同的层级路径和测点集合,可以在数据库节点下按设备类型创建分支。每种设备下可以有不同的测点结构。

<div style="text-align: center;">
<img src="/img/Modeling-scheme04.png" alt="" style="width: 70%;"/>
</div>

##### 3.3.2 如果场景中没有设备,只有测点,如何建模?
##### 3.1.3.2 如果场景中没有设备,只有测点,如何建模?

- 如场站的监控系统中,每个测点都有唯一编号,但无法对应到某些设备。

<div style="text-align: center;">
<img src="/img/data-modeling04.png" alt="" style="width: 70%;"/>
</div>

##### 3.3.3 如果在一个设备下,既有子设备,也有测点,如何建模?
##### 3.1.3.3 如果在一个设备下,既有子设备,也有测点,如何建模?

- 如在储能场景中,每一层结构都要监控其电压和电流,可以采用如下建模方式。

Expand All @@ -134,15 +134,15 @@
</div>


### 4 场景二:表模型
### 3.2 场景二:表模型

#### 4.1 特点
#### 3.2.1 特点

- 以时序表建模管理设备时序数据,便于使用标准 SQL 进行分析

- 适用于设备数据分析或从其他数据库迁移至 IoTDB 的场景

#### 4.2 基础概念
#### 3.2.2 基础概念

- 数据库:可管理多类设备

Expand All @@ -158,9 +158,9 @@

数据筛选效率:时间列=标签列>属性列>测点列

#### 4.3 建模示例
#### 3.2.3 建模示例

##### 4.3.1 有多种类型的设备需要管理,如何建模?
##### 3.2.3.1 有多种类型的设备需要管理,如何建模?

- 推荐为每一类型的设备建立一张表,每个表可以具有不同的标签和测点集合。
- 即使设备之间有联系,或有层级关系,也推荐为每一类设备建一张表。
Expand All @@ -169,15 +169,15 @@
<img src="/img/data-modeling06.png" alt="" style="width: 70%;"/>
</div>

##### 4.3.2 如果没有设备标识列和属性列,如何建模?
##### 3.2.3.2 如果没有设备标识列和属性列,如何建模?

- 列数没有数量限制,可以达到数十万以上。

<div style="text-align: center;">
<img src="/img/data-modeling07.png" alt="" style="width: 70%;"/>
</div>

##### 4.3.3 如果在一个设备下,既有子设备,也有测点,如何建模?
##### 3.2.3.3 如果在一个设备下,既有子设备,也有测点,如何建模?

- 每个设备有多个子设备及测点信息,推荐为每类设备建一个表进行管理。

Expand Down
Loading