diff --git a/src/zh/UserGuide/Master/Table/Background-knowledge/Cluster-Concept_apache.md b/src/zh/UserGuide/Master/Table/Background-knowledge/Cluster-Concept_apache.md index 0ec59a31f..ff3ff2727 100644 --- a/src/zh/UserGuide/Master/Table/Background-knowledge/Cluster-Concept_apache.md +++ b/src/zh/UserGuide/Master/Table/Background-knowledge/Cluster-Concept_apache.md @@ -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) 又名:物理量、时间序列、时间线、点位、信号量、指标、测量值等。
测点是多个数据点按时间戳递增排列形成的一个时间序列。通常一个测点代表一个采集点位,能够定期采集所在环境的物理量。 -### 编码(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)的集群部署模式: @@ -63,7 +63,7 @@ IoTDB 的集群包括如下常见概念: 下文将对以上概念进行介绍。 -### 节点 +### 2.1 节点 IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),DataNode(数据节点)和 AINode(分析节点),如下所示: @@ -71,7 +71,7 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data - DataNode:服务客户端请求,负责数据的存储和计算,如上图中的 DataNode-1,DataNode-2 和 DataNode-3 所示。 - AINode:负责提供机器学习能力,支持注册已训练好的机器学习模型,并通过 SQL 调用模型进行推理,目前已内置自研时序大模型和常见的机器学习算法(如预测与异常检测)。 -### 数据分区 +### 2.2 数据分区 在 IoTDB 中,元数据和数据都被分为小的分区,即 Region,由集群的各个 DataNode 进行管理。 @@ -79,7 +79,7 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data - DataRegion:数据分区,管理一部分设备的一段时间的数据。不同 DataNode 相同 RegionID 的 DataRegion 互为副本,如上图中 DataRegion-2 拥有两个副本,分别放置于 DataNode-1 和 DataNode-2。 - 具体分区算法可参考:[数据分区](../Technical-Insider/Cluster-data-partitioning.md) -### 多副本 +### 2.3 多副本 数据和元数据的副本数可配置,不同部署模式下的副本数推荐如下配置,其中多副本时可提供高可用服务。 @@ -89,28 +89,28 @@ 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) +- **部署方法**:[单机版部署](../Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md) -### 集群模式 +### 3.2 集群模式 IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 个 DataNode,即3C3D;当部分节点出现故障时,剩余节点仍然能对外提供服务,保证数据库服务的高可用性,且可随节点增加提升数据库性能。 - **特点**:具有高可用性、高扩展性,可通过增加 DataNode 提高系统性能。 - **适用场景**:需要提供高可用和可靠性的企业级应用场景。 -- **部署方法**:[集群版部署](../Deployment-and-Maintenance/Cluster-Deployment_timecho.md) +- **部署方法**:[集群版部署](../Deployment-and-Maintenance/Cluster-Deployment_apache.md) -### 特点总结 +### 3.3 特点总结 | 维度 | 单机模式 | 集群模式 | | ------------ | ---------------------------- | ------------------------ | diff --git a/src/zh/UserGuide/Master/Table/Background-knowledge/Cluster-Concept_timecho.md b/src/zh/UserGuide/Master/Table/Background-knowledge/Cluster-Concept_timecho.md index ad0e513f4..1a4de58e5 100644 --- a/src/zh/UserGuide/Master/Table/Background-knowledge/Cluster-Concept_timecho.md +++ b/src/zh/UserGuide/Master/Table/Background-knowledge/Cluster-Concept_timecho.md @@ -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) 又名:物理量、时间序列、时间线、点位、信号量、指标、测量值等。
测点是多个数据点按时间戳递增排列形成的一个时间序列。通常一个测点代表一个采集点位,能够定期采集所在环境的物理量。 -### 编码(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)的集群部署模式: @@ -63,7 +63,7 @@ IoTDB 的集群包括如下常见概念: 下文将对以上概念进行介绍。 -### 节点 +### 2.1 节点 IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),DataNode(数据节点)和 AINode(分析节点),如下所示: @@ -71,7 +71,7 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data - DataNode:服务客户端请求,负责数据的存储和计算,如上图中的 DataNode-1,DataNode-2 和 DataNode-3 所示。 - AINode:负责提供机器学习能力,支持注册已训练好的机器学习模型,并通过 SQL 调用模型进行推理,目前已内置自研时序大模型和常见的机器学习算法(如预测与异常检测)。 -### 数据分区 +### 2.2 数据分区 在 IoTDB 中,元数据和数据都被分为小的分区,即 Region,由集群的各个 DataNode 进行管理。 @@ -79,7 +79,7 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data - DataRegion:数据分区,管理一部分设备的一段时间的数据。不同 DataNode 相同 RegionID 的 DataRegion 互为副本,如上图中 DataRegion-2 拥有两个副本,分别放置于 DataNode-1 和 DataNode-2。 - 具体分区算法可参考:[数据分区](../Technical-Insider/Cluster-data-partitioning.md) -### 多副本 +### 2.3 多副本 数据和元数据的副本数可配置,不同部署模式下的副本数推荐如下配置,其中多副本时可提供高可用服务。 @@ -89,11 +89,11 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data | 数据 | data_replication_factor | 1 | 2 | -## 部署相关概念 +## 3 部署相关概念 IoTDB 有三种运行模式:单机模式、集群模式和双活模式。 -### 单机模式 +### 3.1 单机模式 IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; @@ -101,7 +101,7 @@ IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; - **适用场景**:资源有限或对高可用要求不高的场景,例如边缘端服务器。 - **部署方法**:[单机版部署](../Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md) -### 双活模式 +### 3.2 双活模式 双活版部署为 TimechoDB 企业版功能,是指两个独立的实例进行双向同步,能同时对外提供服务。当一台停机重启后,另一个实例会将缺失数据断点续传。 @@ -111,7 +111,7 @@ IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; - **适用场景**:资源有限(仅有两台服务器),但希望获得高可用能力。 - **部署方法**:[双活版部署](../Deployment-and-Maintenance/Dual-Active-Deployment_timecho.md) -### 集群模式 +### 3.3 集群模式 IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 个 DataNode,即3C3D;当部分节点出现故障时,剩余节点仍然能对外提供服务,保证数据库服务的高可用性,且可随节点增加提升数据库性能。 @@ -119,7 +119,7 @@ IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 - **适用场景**:需要提供高可用和可靠性的企业级应用场景。 - **部署方法**:[集群版部署](../Deployment-and-Maintenance/Cluster-Deployment_timecho.md) -### 特点总结 +### 3.4 特点总结 | 维度 | 单机模式 | 双活模式 | 集群模式 | | ------------ | ---------------------------- | ------------------------ | ------------------------ | diff --git a/src/zh/UserGuide/Master/Table/Background-knowledge/Navigating_Time_Series_Data.md b/src/zh/UserGuide/Master/Table/Background-knowledge/Navigating_Time_Series_Data.md index f965eb055..49d9edfb2 100644 --- a/src/zh/UserGuide/Master/Table/Background-knowledge/Navigating_Time_Series_Data.md +++ b/src/zh/UserGuide/Master/Table/Background-knowledge/Navigating_Time_Series_Data.md @@ -20,7 +20,7 @@ --> # 时序数据模型 -## 1. 什么叫时序数据? +## 1 什么叫时序数据? 万物互联的今天,物联网场景、工业场景等各类场景都在进行数字化转型,人们通过在各类设备上安装传感器对设备的各类状态进行采集。如电机采集电压、电流,风机的叶片转速、角速度、发电功率;车辆采集经纬度、速度、油耗;桥梁的振动频率、挠度、位移量等。传感器的数据采集,已经渗透在各个行业中。 @@ -33,7 +33,7 @@ 传感器产生的海量时序数据是各行各业数字化转型的基础,因此我们对时序数据的模型梳理主要围绕设备、传感器展开。 -## 2. 时序数据中的关键概念有哪些? +## 2 时序数据中的关键概念有哪些? 时序数据中主要涉及的概念如下。 diff --git a/src/zh/UserGuide/Master/Table/Basic-Concept/Database-Management.md b/src/zh/UserGuide/Master/Table/Basic-Concept/Database-Management.md index 842de6137..0589b65c1 100644 --- a/src/zh/UserGuide/Master/Table/Basic-Concept/Database-Management.md +++ b/src/zh/UserGuide/Master/Table/Basic-Concept/Database-Management.md @@ -21,7 +21,7 @@ # 数据库管理 -## 1. 数据库管理 +## 1 数据库管理 ### 1.1 创建数据库 diff --git a/src/zh/UserGuide/Master/Table/Basic-Concept/Delete-Data.md b/src/zh/UserGuide/Master/Table/Basic-Concept/Delete-Data.md index dce9c095c..fdd45cc15 100644 --- a/src/zh/UserGuide/Master/Table/Basic-Concept/Delete-Data.md +++ b/src/zh/UserGuide/Master/Table/Basic-Concept/Delete-Data.md @@ -21,7 +21,7 @@ # 数据删除 -## 1. 数据删除: +## 1 数据删除: 数据删除可以通过 delete 语句来完成,其中可以通过指定标签和时间的过滤条件来删除部分数据。 @@ -92,7 +92,7 @@ DELETE FROM table1 DELETE FROM table1 WHERE model_id = 'B' ``` -## 2. 设备删除: +## 2 设备删除: 当一个设备写入后,在 IoTDB 中即保留了其元数据,数据删除语句无法删除设备的元数据,可以使用设备删除语句删除设备的所有数据和元数据。 diff --git a/src/zh/UserGuide/Master/Table/Basic-Concept/Query-Data.md b/src/zh/UserGuide/Master/Table/Basic-Concept/Query-Data.md index d0bcc465b..40180ce77 100644 --- a/src/zh/UserGuide/Master/Table/Basic-Concept/Query-Data.md +++ b/src/zh/UserGuide/Master/Table/Basic-Concept/Query-Data.md @@ -21,7 +21,7 @@ # 数据查询 -## 1. 语法概览 +## 1 语法概览 ```SQL SELECT ⟨select_list⟩ @@ -47,12 +47,13 @@ IoTDB 查询语法提供以下子句: - OFFSET 子句:用于指定查询结果的起始位置,即跳过前 OFFSET 行。与 LIMIT 子句配合使用。详细语法见:[LIMIT 和 OFFSET 子句](../SQL-Manual/Limit-Offset-Clause.md) - LIMIT 子句:限制查询结果的行数,通常与 OFFSET 子句一起使用以实现分页功能。详细语法见:[LIMIT 和 OFFSET 子句](../SQL-Manual/Limit-Offset-Clause.md) -## 2. 子句执行顺序 +## 2 子句执行顺序 ![](/img/%E5%AD%90%E5%8F%A5%E6%89%A7%E8%A1%8C%E9%A1%BA%E5%BA%8F01.png) -## 3. 常见查询示例 + +## 3 常见查询示例 ### 3.1 示例数据 diff --git a/src/zh/UserGuide/Master/Table/Basic-Concept/TTL-Delete-Data.md b/src/zh/UserGuide/Master/Table/Basic-Concept/TTL-Delete-Data.md index 38ea245f5..79d484945 100644 --- a/src/zh/UserGuide/Master/Table/Basic-Concept/TTL-Delete-Data.md +++ b/src/zh/UserGuide/Master/Table/Basic-Concept/TTL-Delete-Data.md @@ -21,7 +21,7 @@ # 过期自动删除(TTL) -## 1. 概览 +## 1 概览 IoTDB支持表级的数据自动过期删除(TTL)设置,允许系统自动定期删除旧数据,以有效控制磁盘空间并维护高性能查询和低内存占用。TTL默认以毫秒为单位,数据过期后不可查询且禁止写入,但物理删除会延迟至压缩时。需注意,TTL变更可能导致短暂数据可查询性变化。 @@ -31,7 +31,7 @@ IoTDB支持表级的数据自动过期删除(TTL)设置,允许系统自动 2. TTL变更可能影响数据的可查询性。 3. 系统最终会移除过期数据,但存在延迟。 -## 2. 设置 TTL +## 2 设置 TTL 在表模型中,IoTDB 的 TTL 是按照表的粒度生效的。可以直接在表上设置 TTL,或者在数据库级别设置 TTL。当在数据库级别设置了TTL时,在创建新表的过程中,系统会自动采用这个TTL值作为新表的默认设置,但每个表仍然可以独立地被设置或覆盖该值。 @@ -89,7 +89,7 @@ use db CREATE TABLE test3 ("场站" string id, "温度" int32) with (ttl='INF') ``` -## 3. 取消 TTL +## 3 取消 TTL 取消 TTL 设置,可以修改表的 TTL 设置为 'INF'。目前,IoTDB 不支持修改数据库的 TTL。 @@ -97,7 +97,7 @@ CREATE TABLE test3 ("场站" string id, "温度" int32) with (ttl='INF') ALTER TABLE tableB set properties TTL='INF' ``` -## 4. 查看 TTL 信息 +## 4 查看 TTL 信息 使用 "SHOW DATABASES" 和 "SHOW TABLES" 命令可以直接显示数据库和表的 TTL 详情。数据库和表管理语句详情可见:[数据库管理](../Basic-Concept/Database-Management.md)、[表管理](../Basic-Concept/Table-Management.md) diff --git a/src/zh/UserGuide/Master/Table/Basic-Concept/Table-Management.md b/src/zh/UserGuide/Master/Table/Basic-Concept/Table-Management.md index c2b59707a..9b6dede6a 100644 --- a/src/zh/UserGuide/Master/Table/Basic-Concept/Table-Management.md +++ b/src/zh/UserGuide/Master/Table/Basic-Concept/Table-Management.md @@ -21,7 +21,7 @@ # 表管理 -## 1. 表管理 +## 1 表管理 ### 1.1 创建表 diff --git a/src/zh/UserGuide/Master/Table/Basic-Concept/Write-Updata-Data.md b/src/zh/UserGuide/Master/Table/Basic-Concept/Write-Updata-Data.md index 2b82430ae..3f957eba7 100644 --- a/src/zh/UserGuide/Master/Table/Basic-Concept/Write-Updata-Data.md +++ b/src/zh/UserGuide/Master/Table/Basic-Concept/Write-Updata-Data.md @@ -21,7 +21,7 @@ # 数据写入&更新 -## 1. 数据写入 +## 1 数据写入 ### 1.1 语法 @@ -178,7 +178,7 @@ values - 如果在 SQL 语句中引用了表中不存在的列,IoTDB 将返回错误码 `COLUMN_NOT_EXIST(616)`。 - 如果写入的数据类型与表中列的数据类型不一致,将报错 `DATA_TYPE_MISMATCH(507)`。 -## 2. 数据更新 +## 2 数据更新 ### 2.1 语法 diff --git a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Deployment-form_apache.md b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Deployment-form_apache.md index c9c3da182..984b5fb3d 100644 --- a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Deployment-form_apache.md +++ b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Deployment-form_apache.md @@ -22,7 +22,7 @@ IoTDB 有两种运行模式:单机模式、集群模式。 -## 单机模式 +## 1 单机模式 IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; @@ -30,7 +30,7 @@ IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; - **适用场景**:资源有限或对高可用要求不高的场景,例如边缘端服务器。 - **部署方法**:[单机版部署](../Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md) -## 集群模式 +## 2 集群模式 IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 个 DataNode,即3C3D;当部分节点出现故障时,剩余节点仍然能对外提供服务,保证数据库服务的高可用性,且可随节点增加提升数据库性能。 @@ -38,7 +38,7 @@ IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 - **适用场景**:需要提供高可用和可靠性的企业级应用场景。 - **部署方法**:[集群版部署](../Deployment-and-Maintenance/Cluster-Deployment_apache.md) -## 特点总结 +## 3 特点总结 | 维度 | 单机模式 | 集群模式 | | ------------ | ---------------------------- | ------------------------ | diff --git a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Deployment-form_timecho.md b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Deployment-form_timecho.md index d47a92fd7..d4a78a6b5 100644 --- a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Deployment-form_timecho.md +++ b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/Deployment-form_timecho.md @@ -22,7 +22,7 @@ IoTDB 有三种运行模式:单机模式、集群模式和双活模式。 -## 单机模式 +## 1 单机模式 IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; @@ -30,7 +30,7 @@ IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; - **适用场景**:资源有限或对高可用要求不高的场景,例如边缘端服务器。 - **部署方法**:[单机版部署](../Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md) -## 双活模式 +## 2 双活模式 双活版部署为 TimechoDB 企业版功能,是指两个独立的实例进行双向同步,能同时对外提供服务。当一台停机重启后,另一个实例会将缺失数据断点续传。 @@ -40,7 +40,7 @@ IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; - **适用场景**:资源有限(仅有两台服务器),但希望获得高可用能力。 - **部署方法**:[双活版部署](../Deployment-and-Maintenance/Dual-Active-Deployment_timecho.md) -## 集群模式 +## 3 集群模式 IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 个 DataNode,即3C3D;当部分节点出现故障时,剩余节点仍然能对外提供服务,保证数据库服务的高可用性,且可随节点增加提升数据库性能。 @@ -48,7 +48,7 @@ IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 - **适用场景**:需要提供高可用和可靠性的企业级应用场景。 - **部署方法**:[集群版部署](../Deployment-and-Maintenance/Cluster-Deployment_timecho.md) -## 特点总结 +## 4 特点总结 | 维度 | 单机模式 | 双活模式 | 集群模式 | | ------------ | ---------------------------- | ------------------------ | ------------------------ | diff --git a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/IoTDB-Package_apache.md b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/IoTDB-Package_apache.md index 9e3270818..e3f14a95d 100644 --- a/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/IoTDB-Package_apache.md +++ b/src/zh/UserGuide/Master/Table/Deployment-and-Maintenance/IoTDB-Package_apache.md @@ -19,11 +19,11 @@ --> # 安装包获取 -## 安装包获取方式 +## 1 安装包获取方式 安装包可直接在Apache IoTDB官网获取:https://iotdb.apache.org/zh/Download/ -## 安装包结构 +## 2 安装包结构 解压后安装包(`apache-iotdb--all-bin.zip`),安装包解压后目录结构如下: diff --git a/src/zh/UserGuide/Master/Table/IoTDB-Introduction/IoTDB-Introduction_apache.md b/src/zh/UserGuide/Master/Table/IoTDB-Introduction/IoTDB-Introduction_apache.md index e5855ae05..d7fdda7f1 100644 --- a/src/zh/UserGuide/Master/Table/IoTDB-Introduction/IoTDB-Introduction_apache.md +++ b/src/zh/UserGuide/Master/Table/IoTDB-Introduction/IoTDB-Introduction_apache.md @@ -27,10 +27,10 @@ Apache IoTDB 是一款低成本、高性能的物联网原生时序数据库。 - 开源安装包下载:https://iotdb.apache.org/zh/Download/ -- 安装部署与使用文档:[快速上手](../QuickStart/QuickStart_apache.md) +- 安装部署与使用文档:[快速上手](../QuickStart/QuickStart.md) -## 产品体系 +## 1 产品体系 IoTDB 体系由若干个组件构成,帮助用户高效地管理和分析物联网产生的海量时序数据。 @@ -44,13 +44,13 @@ IoTDB 体系由若干个组件构成,帮助用户高效地管理和分析物 2. **时序数据标准文件格式(Apache TsFile)**:该文件格式是一种专为时序数据设计的存储格式,可以高效地存储和查询海量时序数据。目前 IoTDB、AINode 等模块的底层存储文件均由 Apache TsFile 进行支撑。通过 TsFile,用户可以在采集、管理、应用&分析阶段统一使用相同的文件格式进行数据管理,极大简化了数据采集到分析的整个流程,提高时序数据管理的效率和便捷度。 3. **时序模型训推一体化引擎(IoTDB AINode)**:针对智能分析场景,IoTDB 提供 AINode 时序模型训推一体化引擎,它提供了一套完整的时序数据分析工具,底层为模型训练引擎,支持训练任务与数据管理,与包括机器学习、深度学习等。通过这些工具,用户可以对存储在 IoTDB 中的数据进行深入分析,挖掘出其中的价值。 -## TimechoDB 整体架构 +## 2 TimechoDB 整体架构 下图展示了一个常见的 IoTDB 3C3D(3 个 ConfigNode、3 个 DataNode)的集群部署模式: -## 产品特性 +## 3 产品特性 Apache IoTDB 具备以下优势和特性: @@ -70,7 +70,7 @@ Apache IoTDB 具备以下优势和特性: - 丰富的生态环境对接:支持Hadoop、Spark等大数据生态系统组件对接,支持Grafana、Thingsboard、DataEase等设备管理和可视化工具 -## 商业版本 +## 4 商业版本 天谋科技在 Apache IoTDB 开源版本的基础上提供了原厂商业化产品 TimechoDB,为企业、商业客户提供企业级产品和服务,它可以解决企业组建物联网大数据平台管理时序数据时所遇到的应用场景复杂、数据体量大、采样频率高、数据乱序多、数据处理耗时长、分析需求多样、存储与运维成本高等多种问题。 diff --git a/src/zh/UserGuide/Master/Table/IoTDB-Introduction/IoTDB-Introduction_timecho.md b/src/zh/UserGuide/Master/Table/IoTDB-Introduction/IoTDB-Introduction_timecho.md index 8bbd61f78..8ecf2b001 100644 --- a/src/zh/UserGuide/Master/Table/IoTDB-Introduction/IoTDB-Introduction_timecho.md +++ b/src/zh/UserGuide/Master/Table/IoTDB-Introduction/IoTDB-Introduction_timecho.md @@ -27,7 +27,7 @@ TimechoDB 是一款低成本、高性能的物联网原生时序数据库,是 - 下载、部署与使用:[快速上手](../QuickStart/QuickStart_timecho.md) -## 产品体系 +## 1 产品体系 天谋产品体系由若干个组件构成,覆盖由【数据采集】到【数据管理】到【数据分析&应用】的全时序数据生命周期,做到“采-存-用”一体化时序数据解决方案,帮助用户高效地管理和分析物联网产生的海量时序数据。 @@ -43,13 +43,13 @@ TimechoDB 是一款低成本、高性能的物联网原生时序数据库,是 3. **时序模型训推一体化引擎(AINode)**:针对智能分析场景,TimechoDB 提供 AINode 时序模型训推一体化引擎,它提供了一套完整的时序数据分析工具,底层为模型训练引擎,支持训练任务与数据管理,与包括机器学习、深度学习等。通过这些工具,用户可以对存储在 TimechoDB 中的数据进行深入分析,挖掘出其中的价值。 4. **数据采集**:为了更加便捷的对接各类工业采集场景, 天谋科技提供数据采集接入服务,支持多种协议和格式,可以接入各种传感器、设备产生的数据,同时支持断点续传、网闸穿透等特性。更加适配工业领域采集过程中配置难、传输慢、网络弱的特点,让用户的数采变得更加简单、高效。 -## TimechoDB 整体架构 +## 2 TimechoDB 整体架构 下图展示了一个常见的 IoTDB 3C3D(3 个 ConfigNode、3 个 DataNode)的集群部署模式: -## 产品特性 +## 3 产品特性 TimechoDB 具备以下优势和特性: @@ -69,9 +69,9 @@ TimechoDB 具备以下优势和特性: - 丰富的生态环境对接:支持Hadoop、Spark等大数据生态系统组件对接,支持Grafana、Thingsboard、DataEase等设备管理和可视化工具 -## 企业特性 +## 4 企业特性 -### 更高阶的产品功能 +### 4.1 更高阶的产品功能 TimechoDB 在开源版基础上提供了更多高阶产品功能,在内核层面针对工业生产场景进行原生升级和优化,如多级存储、云边协同、可视化工具、安全增强等功能,能够让用户无需过多关注底层逻辑,将精力聚焦在业务开发中,让工业生产更简单更高效,为企业带来更多的经济效益。如: @@ -214,11 +214,11 @@ TimechoDB 在开源版基础上提供了更多高阶产品功能,在内核层 -### 更高效/稳定的产品性能 +### 4.2 更高效/稳定的产品性能 TimechoDB 在开源版的基础上优化了稳定性与性能,经过企业版技术支持,能够实现10倍以上性能提升,并具有故障及时恢复的性能优势。 -### 更用户友好的工具体系 +### 4.3 更用户友好的工具体系 TimechoDB 将为用户提供更简单、易用的工具体系,通过集群监控面板(IoTDB Grafana)、数据库控制台(IoTDB Workbench)、集群管理工具(IoTDB Deploy Tool,简称 IoTD)等产品帮助用户快速部署、管理、监控数据库集群,降低运维人员工作/学习成本,简化数据库运维工作,使运维过程更加方便、快捷。 @@ -259,13 +259,13 @@ TimechoDB 将为用户提供更简单、易用的工具体系,通过集群监  -### 更专业的企业技术服务 +### 4.4 更专业的企业技术服务 TimechoDB 客户提供强大的原厂服务,包括但不限于现场安装及培训、专家顾问咨询、现场紧急救助、软件升级、在线自助服务、远程支持、最新开发版使用指导等服务。同时,为了使 IoTDB 更契合工业生产场景,我们会根据企业实际数据结构和读写负载,进行建模方案推荐、读写性能调优、压缩比调优、数据库配置推荐及其他的技术支持。如遇到部分产品未覆盖的工业化定制场景,TimechoDB 将根据用户特点提供定制化开发工具。 相较于开源版本,每 2-3 个月一个发版周期,TimechoDB 提供周期更快的发版频率,同时针对客户现场紧急问题,提供天级别的专属修复,确保生产环境稳定。 -### 更兼容的国产化适配 +### 4.5 更兼容的国产化适配 TimechoDB 代码自研可控,同时兼容大部分主流信创产品(CPU、操作系统等),并完成与多个厂家的兼容认证,确保产品的合规性和安全性。 \ No newline at end of file diff --git a/src/zh/UserGuide/Master/Table/IoTDB-Introduction/Release-history_timecho.md b/src/zh/UserGuide/Master/Table/IoTDB-Introduction/Release-history_timecho.md index cff39be78..a07bcc8b4 100644 --- a/src/zh/UserGuide/Master/Table/IoTDB-Introduction/Release-history_timecho.md +++ b/src/zh/UserGuide/Master/Table/IoTDB-Introduction/Release-history_timecho.md @@ -20,7 +20,7 @@ --> # 发版历史 -## TimechoDB(数据库内核) +## 1 TimechoDB(数据库内核) ### V1.3.4.1 > 发版时间:2025.01.08 > @@ -202,7 +202,7 @@ V1.0.0.1主要修复分区计算及查询执行时的相关问题,历史快照 - 流处理模块:支持流处理框架 - 流处理模块:支持集群间数据同步功能 -## Workbench(控制台工具) +## 2 Workbench(控制台工具) | **控制台版本号** | **版本说明** | **可支持IoTDB版本** | | ---------------- | ------------------------------------------------------------ | ------------------- | diff --git a/src/zh/UserGuide/Master/Table/IoTDB-Introduction/Scenario.md b/src/zh/UserGuide/Master/Table/IoTDB-Introduction/Scenario.md index 5a7798089..fc2e90d87 100644 --- a/src/zh/UserGuide/Master/Table/IoTDB-Introduction/Scenario.md +++ b/src/zh/UserGuide/Master/Table/IoTDB-Introduction/Scenario.md @@ -21,65 +21,65 @@ # 应用场景 -## 应用1——能源电力 +## 1 应用1——能源电力 -### 背景: +### 1.1 背景 通过对电力生产、传输、存储和消费过程中的海量时序数据进行采集、存储、分析以及对电力系统的实时监控、精准预测和智能调度,企业可以有效提升能源利用效率,降低运营成本,确保能源生产的安全性和可持续性,保障电网的安全稳定运行。 -### 架构 +### 1.2 架构 IoTDB 凭借集群高可用、低流量数据同步、跨网闸支持和优异的性能为企业提供国产化自主可控的时序数据管理解决方案,支撑企业应对大规模时序数据管理挑战,推动传统能源和可再生能源的高效管理与整合。 ![img](/img/scenarios01.png) -## 应用2——航空航天 +## 2 应用2——航空航天 -### 背景 +### 2.1 背景 近年来,随着科技的不断进步,航空航天领域正进一步加快数字化与智能化建设。先进的数据采集和处理技术逐渐成为提升飞行安全、优化系统性能的重要手段。通过对飞机、火箭、卫星等设备在设计、制造、试飞、运行等全流程中产生的海量时序数据进行高效管理,企业能实现对飞行任务中关键系统的精准监测与分析,通过遥测数据实时回传、试飞数据快速导入,实现航空信息的监测和设计改进,确保飞行任务的安全可靠执行。 -### 架构 +### 2.2 架构 IoTDB 凭借其国产自研的高效低流量数据同步、离线数据迁移、丰富的部署选择和低资源占用等特点,为行业的数据管理和业务扩展提供了数据基础,为航空航天领域的技术创新和持续发展提供有力支撑。 ![img](/img/scenarios02.png) -## 应用3——交通运输 +## 3 应用3——交通运输 -### 背景 +### 3.1 背景 交通运输行业的快速发展带来了对多样化交通数据管理的需求,尤其在铁路、地铁等关键枢纽中,数据的实时性、可靠性和精准性至关重要。通过对列车、地铁、船舶、汽车等设备的运行、状态、位置信息等多维数据进行实时采集、存储与分析,企业可实现智能调度、故障预警、线路优化和高效运维。企业不仅可以提升交通系统的运转效率,还降低了运营管理成本。 -### 架构 +### 3.2 架构 IoTDB 凭借其高效的时序数据管理和低延迟查询能力,有效应对交通运输行业中的数据爆发式增长,实现多源异构数据高效流转和管理,为铁路、船舶等构建起稳定可靠的智能交通系统管理基础,为行业向智能化和自动化方向发展提供了重要支撑。 ![img](/img/scenarios03.png) -## 应用4——钢铁冶炼 +## 4 应用4——钢铁冶炼 -### 背景 +### 4.1 背景 作为传统制造业的典型代表,钢铁冶炼行业近年来逐步推进数字化转型和智能化改造,以应对日益增长的市场竞争和环保、安全等要求。特别是工业物联网平台的部署,已成为钢铁冶炼企业在生产环节中提升产能、优化产品质量、降低能耗的关键手段。通过工业物联网平台,企业能够对冶炼设备和生产线进行实时数据采集、存储和分析,从而实现对核心生产环节的智能监测、精准控制与高效管理。 -### 架构 +### 4.2 架构 IoTDB 通过其强大的数据存储与计算能力,为钢铁冶炼场景提供跨平台支持、低资源占用的灵活部署方案,丰富的外部接口也使其可以与其他系统高效集成,助力钢铁冶炼行业构建智慧工厂,进一步支撑传统工业加快形成新质生产力。 ![img](/img/scenarios04.png) -## 应用5——物联网 +## 5 应用5——物联网 -### 背景 +### 5.1 背景 物联网(IoT)正在从根本上改变各个行业的运行方式,通过连接海量设备和深度数据分析实现智能化管理。随着物联网设备接入规模的不断扩大,对数据管理系统的处理、存储和分析能力提出了更高要求。企业需要高效管理来自边缘设备和云端的数据流,保证系统的实时性、稳定性和可扩展性,以支持设备状态监测、故障诊断、预测性维护等核心业务应用。 -### 架构 +### 5.2 架构 作为物联网原生的高性能时序数据库,IoTDB 支持从边缘设备到云端的全链路数据同步和存储分析,具备高并发处理能力,能够满足大规模设备接入的需求。IoTDB为企业提供灵活的数据解决方案,助力发掘设备运行数据中的深层次价值,提升运营效率,推动企业物联网业务的全面发展。 diff --git a/src/zh/UserGuide/Master/Table/QuickStart/QuickStart_apache.md b/src/zh/UserGuide/Master/Table/QuickStart/QuickStart_apache.md index 03b788d7e..096c85184 100644 --- a/src/zh/UserGuide/Master/Table/QuickStart/QuickStart_apache.md +++ b/src/zh/UserGuide/Master/Table/QuickStart/QuickStart_apache.md @@ -23,7 +23,7 @@ 本篇文档将帮助您了解快速入门 IoTDB 的方法。 -## 如何安装部署? +## 1 如何安装部署? 本篇文档将帮助您快速安装部署 IoTDB,您可以通过以下文档的链接快速定位到所需要查看的内容: @@ -41,7 +41,7 @@ > ❗️注意:目前我们仍然推荐直接在物理机/虚拟机上安装部署,如需要 docker 部署,可参考:[Docker 部署](../Deployment-and-Maintenance/Docker-Deployment_apache.md) -## 如何使用? +## 2 如何使用? 1. 数据库建模设计:数据库建模是创建数据库系统的重要步骤,它涉及到设计数据的结构和关系,以确保数据的组织方式能够满足特定应用的需求,下面的文档将会帮助您快速了解 IoTDB 的建模设计: @@ -53,7 +53,6 @@ - 表介绍:[表管理](../Basic-Concept/Table-Management.md) - 2. 数据写入&更新:在数据写入&更新方面,IoTDB 提供了多种方式来插入实时数据,基本的数据写入&更新操作请查看 [数据写入&更新](../Basic-Concept/Write-Updata-Data.md) 3. 数据查询:IoTDB 提供了丰富的数据查询功能,数据查询的基本介绍请查看 [数据查询](../Basic-Concept/Query-Data.md) @@ -69,7 +68,7 @@ 6. 应用编程接口: IoTDB 提供了多种应用编程接口(API),以便于开发者在应用程序中与 IoTDB 进行交互,目前支持[ Java 原生接口](../API/Programming-Java-Native-API.md)、[Python 原生接口](../API/Programming-Python-Native-API.md)、[JDBC](../API/Programming-JDBC.md)等,更多编程接口可参见官网【应用编程接口】其他章节 -## 想了解更多技术细节? +## 3 想了解更多技术细节? 如果您想了解 IoTDB 的更多技术内幕,可以移步至下面的文档: diff --git a/src/zh/UserGuide/Master/Table/QuickStart/QuickStart_timecho.md b/src/zh/UserGuide/Master/Table/QuickStart/QuickStart_timecho.md index 83b6eab7c..db26e49ce 100644 --- a/src/zh/UserGuide/Master/Table/QuickStart/QuickStart_timecho.md +++ b/src/zh/UserGuide/Master/Table/QuickStart/QuickStart_timecho.md @@ -23,7 +23,7 @@ 本篇文档将帮助您了解快速入门 IoTDB 的方法。 -## 如何安装部署? +## 1 如何安装部署? 本篇文档将帮助您快速安装部署 IoTDB,您可以通过以下文档的链接快速定位到所需要查看的内容: @@ -48,7 +48,7 @@ - 监控面板:提供了上百个数据库监控指标,用来对 IoTDB 及其所在操作系统进行细致监控,从而进行系统优化、性能优化、发现瓶颈等,安装步骤可查看 [监控面板部署](../Deployment-and-Maintenance/Monitoring-panel-deployment.md) -## 如何使用? +## 2 如何使用? 1. 数据库建模设计:数据库建模是创建数据库系统的重要步骤,它涉及到设计数据的结构和关系,以确保数据的组织方式能够满足特定应用的需求,下面的文档将会帮助您快速了解 IoTDB 的建模设计: @@ -75,14 +75,14 @@ 6. 应用编程接口: IoTDB 提供了多种应用编程接口(API),以便于开发者在应用程序中与 IoTDB 进行交互,目前支持[ Java 原生接口](../API/Programming-Java-Native-API.md)、[Python 原生接口](../API/Programming-Python-Native-API.md)、[JDBC](../API/Programming-JDBC.md)等,更多编程接口可参见官网【应用编程接口】其他章节 -## 还有哪些便捷的周边工具? +## 3 还有哪些便捷的周边工具? IoTDB 除了自身拥有丰富的功能外,其周边的工具体系包含的种类十分齐全。本篇文档将帮助您快速使用周边工具体系: - 监控面板:是一个对 IoTDB 及其所在操作系统进行细致监控的工具,涵盖数据库性能、系统资源等上百个数据库监控指标,助力系统优化与瓶颈识别等,具体使用介绍请查看 [监控面板部署](../Tools-System/Monitor-Tool_timecho.md) -## 想了解更多技术细节? +## 4 想了解更多技术细节? 如果您想了解 IoTDB 的更多技术内幕,可以移步至下面的文档: diff --git a/src/zh/UserGuide/Master/Table/Reference/Sample-Data.md b/src/zh/UserGuide/Master/Table/Reference/Sample-Data.md index 24f85071f..f7feec9b2 100644 --- a/src/zh/UserGuide/Master/Table/Reference/Sample-Data.md +++ b/src/zh/UserGuide/Master/Table/Reference/Sample-Data.md @@ -23,13 +23,13 @@ 本章节主要介绍一个简单的时序数据应用场景以及在此场景下的建模与示例数据,IoTDB 表模型用户手册中所有的示例 SQL 语句都可以在此建模和示例数据下执行。 -## 1. 数据结构 +## 1 数据结构 table1和table2均为如下表结构: ![](/img/Sample_data01.png) -## 2. 导入语句 +## 2 导入语句 以下为构建上述表结构及数据的SQL语句,您可以点此([sample_data.sql](/img/sample_data.sql))下载全部SQL并在CLI中执行,从而将数据导入您的IoTDB。 diff --git a/src/zh/UserGuide/Master/Table/SQL-Manual/Basis-Function.md b/src/zh/UserGuide/Master/Table/SQL-Manual/Basis-Function.md index 22240098f..7a3699266 100644 --- a/src/zh/UserGuide/Master/Table/SQL-Manual/Basis-Function.md +++ b/src/zh/UserGuide/Master/Table/SQL-Manual/Basis-Function.md @@ -21,9 +21,9 @@ # 基础函数 -## 比较函数和运算符 +## 1 比较函数和运算符 -### 1. 基本比较运算符 +### 1.1 基本比较运算符 比较运算符用于比较两个值,并返回比较结果(true或false)。 @@ -37,14 +37,14 @@ | <> | 不等于 | | != | 不等于 | -#### 1.1 比较规则: +#### 1.1.1 比较规则: 1. 所有类型都可以与自身进行比较 2. 数值类型(INT32, INT64, FLOAT, DOUBLE, TIMESTAMP)之间可以相互比较 3. 字符类型(STRING, TEXT)之间也可以相互比较 4. 除上述规则外的类型进行比较时,均会报错。 -### 2. BETWEEN 运算符 +### 1.2 BETWEEN 运算符 1. `BETWEEN` 操作符用于判断一个值是否在指定的范围内。 2. `NOT BETWEEN`操作符用于判断一个值是否不在指定范围内。 @@ -72,7 +72,7 @@ SELECT * FROM table1 WHERE temperature BETWEEN 85.0 AND 90.0; SELECT * FROM table1 WHERE humidity NOT BETWEEN 35.0 AND 40.0; ``` -### 3. IS NULL 运算符 +### 1.3 IS NULL 运算符 1. `IS NULL` 和 `IS NOT NULL` 运算符用于判断一个值是否为 NULL。 2. 这两个运算符适用于所有数据类型。 @@ -89,7 +89,7 @@ SELECT * FROM table1 WHERE temperature IS NULL; SELECT * FROM table1 WHERE humidity IS NOT NULL; ``` -### 4. IN 运算符 +### 1.4 IN 运算符 1. `IN` 操作符可用于 `WHERE` 子句中,比较一列中的一些值。 2. 这些值可以由静态数组、标量表达式。 @@ -120,14 +120,14 @@ SELECT * FROM table1 WHERE temperature IN (85.0, 90.0); SELECT * FROM table1 WHERE region NOT IN ('北京', '上海'); ``` -## 聚合函数 +## 2 聚合函数 -### 1. 概述 +### 2.1 概述 1. 聚合函数是多对一函数。它们对一组值进行聚合计算,得到单个聚合结果。 2. 除了 `COUNT()`之外,其他所有聚合函数都忽略空值,并在没有输入行或所有值为空时返回空值。 例如,`SUM()` 返回 null 而不是零,而 `AVG()` 在计数中不包括 null 值。 -### 2. 支持的聚合函数 +### 2.2 支持的聚合函数 | 函数名 | 功能描述 | 允许的输入类型 | 输出类型 | | ----------- | ------------------------------------------------------------ | ------------------------ | ----------------------------- | @@ -151,13 +151,13 @@ SELECT * FROM table1 WHERE region NOT IN ('北京', '上海'); | FIRST_BY | FIRST_BY(x, y) 求当 y 为第一个不为 NULL 的值时,同一行里对应的 x 值。 | x 和 y 可以是任意类型 | 与第一个输入 x 的数据类型一致 | | LAST_BY | LAST_BY(x, y) 求当 y 为最后一个不为 NULL 的值时,同一行里对应的 x 值。 | x 和 y 可以是任意类型 | 与第一个输入 x 的数据类型一致 | -### 3. 示例 +### 2.3 示例 -#### 3.1 示例数据 +#### 2.3.1 示例数据 在[示例数据页面](https://www.timecho.com/docs/zh/UserGuide/V2.0.1/Table/Basic-Concept/Sample-Data.html)中,包含了用于构建表结构和插入数据的SQL语句,下载并在IoTDB CLI中执行这些语句,即可将数据导入IoTDB,您可以使用这些数据来测试和执行示例中的SQL语句,并获得相应的结果。 -#### 3.2 Count +#### 2.3.2 Count 统计的是整张表的行数和 `temperature` 列非 NULL 值的数量。 @@ -179,7 +179,7 @@ Total line number = 1 It costs 0.834s ``` -#### 3.3 First +#### 2.3.3 First 查询`temperature`列、`humidity`列时间戳最小且不为 NULL 的值。 @@ -199,7 +199,7 @@ Total line number = 1 It costs 0.170s ``` -#### 3.4 Last +#### 2.3.4 Last 查询`temperature`列、`humidity`列时间戳最大且不为 NULL 的值。 @@ -219,7 +219,7 @@ Total line number = 1 It costs 0.211s ``` -#### 3.5 First_by +#### 2.3.5 First_by 查询 `temperature` 列中非 NULL 且时间戳最小的行的 `time` 值,以及 `temperature` 列中非 NULL 且时间戳最小的行的 `humidity` 值。 @@ -239,7 +239,7 @@ Total line number = 1 It costs 0.269s ``` -#### 3.6 Last_by +#### 2.3.6 Last_by 查询`temperature` 列中非 NULL 且时间戳最大的行的 `time` 值,以及 `temperature` 列中非 NULL 且时间戳最大的行的 `humidity` 值。 @@ -259,7 +259,7 @@ Total line number = 1 It costs 0.070s ``` -#### 3.7 Max_by +#### 2.3.7 Max_by 查询`temperature` 列中最大值所在行的 `time` 值,以及`temperature` 列中最大值所在行的 `humidity` 值。 @@ -279,7 +279,7 @@ Total line number = 1 It costs 0.172s ``` -#### 3.8 Min_by +#### 2.3.8 Min_by 查询`temperature` 列中最小值所在行的 `time` 值,以及`temperature` 列中最小值所在行的 `humidity` 值。 @@ -299,9 +299,9 @@ Total line number = 1 It costs 0.244s ``` -## 逻辑运算符 +## 3 逻辑运算符 -### 1. 概述 +### 3.1 概述 逻辑运算符用于组合条件或否定条件,返回布尔结果(`true` 或 `false`)。 @@ -313,9 +313,9 @@ It costs 0.244s | OR | 任一值为 true 时为 true | a OR b | | NOT | 当值为 false 时为 true | NOT a | -### 2. NULL 对逻辑运算符的影响 +### 3.2 NULL 对逻辑运算符的影响 -#### 2.1 AND 运算符 +#### 3.2.1 AND 运算符 - 如果表达式的一侧或两侧为 `NULL`,结果可能为 `NULL`。 - 如果 `AND` 运算符的一侧为 `FALSE`,则表达式结果为 `FALSE`。 @@ -328,7 +328,7 @@ NULL AND false -- false NULL AND NULL -- null ``` -#### 2.2 OR 运算符 +#### 3.2.2 OR 运算符 - 如果表达式的一侧或两侧为 `NULL`,结果可能为 `NULL`。 - 如果 `OR` 运算符的一侧为 `TRUE`,则表达式结果为 `TRUE`。 @@ -341,7 +341,7 @@ NULL OR false -- null NULL OR true -- true ``` -##### 2.2.1 真值表 +##### 3.2.2.1 真值表 以下真值表展示了 `NULL` 在 `AND` 和 `OR` 运算符中的处理方式: @@ -357,7 +357,7 @@ NULL OR true -- true | NULL | FALSE | FALSE | NULL | | NULL | NULL | NULL | NULL | -#### 2.3 NOT 运算符 +#### 3.2.3 NOT 运算符 NULL 的逻辑否定仍然是 NULL @@ -367,7 +367,7 @@ NULL 的逻辑否定仍然是 NULL NOT NULL -- null ``` -##### 2.3.1真值表 +##### 3.2.3.1真值表 以下真值表展示了 `NULL` 在 `NOT` 运算符中的处理方式: @@ -378,13 +378,13 @@ NOT NULL -- null | NULL | NULL | -## 日期和时间函数和运算符 +## 4 日期和时间函数和运算符 -### 1. now() -> Timestamp +### 4.1 now() -> Timestamp 返回当前时间的时间戳。 -### 2. date_bin(interval, Timestamp[, Timestamp]) -> Timestamp +### 4.2 date_bin(interval, Timestamp[, Timestamp]) -> Timestamp `date_bin` 函数是一种用于处理时间数据的函数,作用是将一个时间戳(Timestamp)舍入到指定的时间间隔(interval)的边界上。 @@ -410,7 +410,7 @@ date_bin(interval,source,origin) | source | 待计算时间列,也可以是表达式。必须为时间戳类型。 | | origin | 起始时间戳 | -#### 2.1 语法约定: +#### 4.2.1 语法约定: 1. 不传入 `origin` 时,起始时间戳从 1970-01-01T00:00:00Z 开始计算(北京时间为 1970-01-01 08:00:00)。 2. `interval` 为一个非负数,且必须带上时间单位。`interval` 为 0ms 时,不进行计算,直接返回 `source`。 @@ -420,7 +420,7 @@ date_bin(interval,source,origin) > 假设是起始时间是 2000 年 4 月 30 日进行计算,那么在一个时间间隔后,如果是先算 DAY再算MONTH,则会得到 2000 年 6 月 1 日,如果先算 MONTH 再算 DAY 则会得到 2000 年 5 月 31 日,二者得出的时间日期不同。 -#### 2.2 示例 +#### 4.2.2 示例 ##### 示例数据 @@ -621,9 +621,9 @@ Total line number = 18 It costs 0.319s ``` -## 数学函数和运算符 +## 5 数学函数和运算符 -### 1. 数学运算符 +### 5.1 数学运算符 | **运算符** | **描述** | | ---------- | ------------------------ | @@ -634,7 +634,7 @@ It costs 0.319s | % | 模(余数) | | - | 取反 | -### 2. 数学函数 +### 5.2 数学函数 | 函数名 | 描述 | 输入 | 输出 | 用法 | | ---------------------------- | ------------------------------------------------------------ | --------------------------- | ---------------------- | ---------- | @@ -662,13 +662,13 @@ It costs 0.319s | e | 自然指数 | | double | e() | | pi | π | | double | pi() | -## 条件表达式 +## 6 条件表达式 -### 1.CASE 表达式 +### 6.1 CASE 表达式 CASE 表达式有两种形式:简单形式、搜索形式 -#### 1.1 简单形式 +#### 6.1.1 简单形式 简单形式从左到右搜索每个值表达式,直到找到一个与表达式相等的值: @@ -691,7 +691,7 @@ SELECT a, END ``` -#### 1.2 搜索形式 +#### 6.1.2 搜索形式 搜索形式从左到右评估每个布尔条件,直到找到一个为真的条件,并返回相应的结果: @@ -714,7 +714,7 @@ SELECT a, b, END ``` -### 2. COALESCE 函数 +### 6.2. COALESCE 函数 返回参数列表中的第一个非空值。 @@ -722,11 +722,11 @@ SELECT a, b, coalesce(value1, value2[, ...]) ``` -## 转换函数 +## 7 转换函数 -### 1. 转换函数 +### 7.1 转换函数 -#### 1.1 cast(value AS type) → type +#### 7.1.1 cast(value AS type) → type 1. 显式地将一个值转换为指定类型。 2. 可以用于将字符串(varchar)转换为数值类型,或数值转换为字符串类型。 @@ -741,7 +741,7 @@ SELECT * IN (CAST('2024-11-27' AS DATE), CAST('2024-11-28' AS DATE)); ``` -#### 1.2 try_cast(value AS type) → type +#### 7.1.2 try_cast(value AS type) → type 1. 与 `cast()` 类似。 2. 如果转换失败,则返回 `null`。 @@ -755,19 +755,19 @@ SELECT * IN (try_cast('2024-11-27' AS DATE), try_cast('2024-11-28' AS DATE)); ``` -## 字符串函数和操作符 +## 8 字符串函数和操作符 -### 1. 字符串操作符 +### 8.1 字符串操作符 -#### 1.1 || 操作符 +#### 8.1.1 || 操作符 `||` 操作符用于字符串连接,功能与 `concat` 函数相同。 -#### 1.2 LIKE 语句 +#### 8.1.2 LIKE 语句 `LIKE` 语句用于模式匹配,具体用法在[模式匹配:LIKE](#1-like-运算符) 中有详细文档。 -### 2. 字符串函数 +### 8.2 字符串函数 | 函数名 | 描述 | 输入 | 输出 | 用法 | | ----------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | @@ -785,33 +785,33 @@ SELECT * | substring | 从指定位置提取字符到字符串末尾。需要注意的是,起始位置是基于字符而不是字节数组确定的。`start_index` 从 1 开始计数,长度从 `start_index` 位置计算。 | 支持两个参数**string**:要提取子字符串的源字符串,可以是字符串或文本类型。**start_index**:从哪个索引开始提取子字符串,索引从 1 开始计数。 | String:返回一个字符串,从 `start_index` 位置开始到字符串末尾的所有字符。**注意事项**:`start_index` 从 1 开始,即数组的第 0 个位置是 1参数为 null时,返回 `null`start_index 大于字符串长度时,结果报错。 | substring(string from start_index)或 substring(string, start_index) | | substring | 从一个字符串中提取从指定位置开始、指定长度的子字符串注意:起始位置和长度是基于字符而不是字节数组确定的。`start_index` 从 1 开始计数,长度从 `start_index` 位置计算。 | 支持三个参数**string**:要提取子字符串的源字符串,可以是字符串或文本类型。**start_index**:从哪个索引开始提取子字符串,索引从 1 开始计数。**length**:要提取的子字符串的长度。 | String:返回一个字符串,从 `start_index` 位置开始,提取 `length` 个字符。**注意事项**:参数为 null时,返回 `null`如果 `start_index` 大于字符串的长度,结果报错。如果 `length` 小于 0,结果报错。极端情况,`start_index + length` 超过 `int.MAX` 并变成负数,将导致异常结果。 | substring(string from start_index for length) 或 substring(string, start_index, length) | -## 模式匹配函数 +## 9 模式匹配函数 -### 1. LIKE 运算符 +### 9.1 LIKE 运算符 -#### 1.1 用途 +#### 9.1.1 用途 `LIKE` 运算符用于将值与模式进行比较。它通常用于 `WHERE` 子句中,用于匹配字符串中的特定模式。 -#### 1.2 语法 +#### 9.1.2 语法 ```SQL ... column [NOT] LIKE 'pattern' ESCAPE 'character'; ``` -#### 1.3 匹配规则 +#### 9.1.3 匹配规则 - 匹配字符是区分大小写的。 - 模式支持两个匹配符号: - `_`:匹配任意单个字符。 - `%`:匹配0个或多个字符。 -#### 1.4 注意事项 +#### 9.1.4 注意事项 - `LIKE` 模式匹配总是覆盖整个字符串。如果需要匹配字符串中的任意位置,模式必须以 `%` 开头和结尾。 - 如果需要匹配 `%` 或 `_` 作为普通字符,必须使用转义字符。 -#### 1.5 示例 +#### 9.1.5 示例 示例 1:匹配以特定字符开头的字符串 @@ -853,19 +853,19 @@ SELECT * FROM table1 WHERE continent LIKE 'South\_%' ESCAPE '\'; SELECT * FROM table1 WHERE continent LIKE 'South\\%' ESCAPE '\'; ``` -### 2. regexp_like 函数 +### 9.2 regexp_like 函数 -#### 2.1 用途 +#### 9.2.1 用途 `regexp_like` 函数用于评估正则表达式模式,并确定该模式是否包含在字符串中。 -#### 2.2 语法 +#### 9.2.2 语法 ```SQL regexp_like(string, pattern); ``` -#### 2.3 注意事项 +#### 9.2.3 注意事项 - `regexp_like` 的模式只需包含在字符串中,而不需要匹配整个字符串。 - 如果需要匹配整个字符串,可以使用正则表达式的锚点 `^` 和 `$`。 @@ -888,7 +888,7 @@ regexp_like(string, pattern); 4. **类别(Categories)**:直接指定,无需`Is`、`general_category=`或`gc=`前缀(如`\p{L}`)。 5. **二元属性(Binary Properties)**:直接指定,无需`Is`(如`\p{NoncharacterCodePoint}`)。 -#### 2.4 示例 +#### 9.2.4 示例 示例 1:匹配包含特定模式的字符串 diff --git a/src/zh/UserGuide/Master/Table/SQL-Manual/Featured-Functions.md b/src/zh/UserGuide/Master/Table/SQL-Manual/Featured-Functions.md index 48ae31490..cc8d96490 100644 --- a/src/zh/UserGuide/Master/Table/SQL-Manual/Featured-Functions.md +++ b/src/zh/UserGuide/Master/Table/SQL-Manual/Featured-Functions.md @@ -21,11 +21,11 @@ # 特色函数 -## 时序特色函数 +## 1 时序特色函数 -### 1. 降采样函数 +### 1.1 降采样函数 -#### 1.1 `date_bin` 函数 +#### 1.1.1 `date_bin` 函数 ##### 功能描述: @@ -117,7 +117,7 @@ SELECT date_bin(1h, time) AS hour_time, avg(temperature) AS avg_temp +-----------------------------+--------+ ``` -#### 1.2 `date_bin_gapfill` 函数 +#### 1.1.2 `date_bin_gapfill` 函数 ##### 功能描述 @@ -215,7 +215,7 @@ GROUP BY 1, device_id; +---------+---------+--------+ ``` -### 2. DIFF函数 +### 1.2 DIFF函数 ##### 功能概述 diff --git a/src/zh/UserGuide/Master/Table/SQL-Manual/Having-Clause.md b/src/zh/UserGuide/Master/Table/SQL-Manual/Having-Clause.md index 98412d6b2..383d9e770 100644 --- a/src/zh/UserGuide/Master/Table/SQL-Manual/Having-Clause.md +++ b/src/zh/UserGuide/Master/Table/SQL-Manual/Having-Clause.md @@ -39,7 +39,7 @@ HAVING booleanExpression 在[示例数据页面](../Reference/Sample-Data.md)中,包含了用于构建表结构和插入数据的SQL语句,下载并在IoTDB CLI中执行这些语句,即可将数据导入IoTDB,您可以使用这些数据来测试和执行示例中的SQL语句,并获得相应的结果。 -#### 示例 1:过滤计数低于特定值的设备 +### 2.1 示例 1:过滤计数低于特定值的设备 查询将计算 `table1` 表中每个 `device_id` 的条目数,并过滤掉那些计数低于 5 的设备。 @@ -63,7 +63,7 @@ Total line number = 2 It costs 0.063s ``` -### 示例 2:计算每个设备的每小时平均温度并过滤 +### 2.2 示例 2:计算每个设备的每小时平均温度并过滤 查询将计算 `table1` 表中每个设备每小时的平均温度,并过滤掉那些平均温度低于 27.2 的设备。 diff --git a/src/zh/UserGuide/Master/Table/Tools-System/Benchmark.md b/src/zh/UserGuide/Master/Table/Tools-System/Benchmark.md index aa7251fae..fc16a9b35 100644 --- a/src/zh/UserGuide/Master/Table/Tools-System/Benchmark.md +++ b/src/zh/UserGuide/Master/Table/Tools-System/Benchmark.md @@ -55,7 +55,7 @@ IoT-benchmark 是基于 Java 和大数据环境开发的时序数据库基准测 ## 2 安装运行 -### 前置条件 +### 2.1 前置条件 1. Java 8 2. Maven 3.6+ @@ -63,7 +63,7 @@ IoT-benchmark 是基于 Java 和大数据环境开发的时序数据库基准测 -### 获取方式 +### 2.2 获取方式 - 获取二进制包:进入[这里](https://github.com/thulab/iot-benchmark/releases) 下载需要的安装包。下载下来为一个压缩文件,选择文件夹解压即可使用。 - 源代码编译(可用户 Apache IoTDB 2.0 的测试): @@ -71,7 +71,7 @@ IoT-benchmark 是基于 Java 和大数据环境开发的时序数据库基准测 - 第二步(编译 IoTDB Benchmark 测试包):进入[官网](https://github.com/thulab/iot-benchmark)下载源码,在根目录下运行 mvn clean package install -pl iotdb-2.0 -am -DskipTests 编译测试 Apache IoTDB 2.0版本的测试包,测试包位置与根目录的相对路径为 ./iotdb-2.0/target/iotdb-2.0-0.0.1/iotdb-2.0-0.0.1 -### 测试包结构 +### 2.3 测试包结构 测试包的目录结构如下所示。其中测试配置文件为conf/config.properties,测试启动脚本为benchmark\.sh (Linux & MacOS) 和 benchmark.bat (Windows),详细文件用途见下表所示。 @@ -101,14 +101,14 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib 表1-2文件和文件夹列表用途 -### 执行测试 +### 2.4 执行测试 1. 按照测试需求修改配置文件,主要参数介绍见 1.2 节,对应配置文件为conf/config.properties,**比如测试Apache IoTDB 1.0,则需要修改 DB_SWITCH=IoTDB-100-SESSION_BY_TABLET** 2. 启动被测时间序列数据库 3. 通过运行 4. 启动IoT-benchmark执行测试。执行中观测被测时间序列数据库和IoT-benchmark状态,执行完毕后查看结果和分析测试过程。 -### 结果说明 +### 2.5 结果说明 测试的所有日志文件被存放于 logs 文件夹下,测试的结果在测试完成后被存放到 data/csvOutput 文件夹下,例如测试后我们得到了如下的结果矩阵: @@ -126,10 +126,10 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib -## 主要参数 +## 3 主要参数 -### IoTDB服务模型 +### 3.1 IoTDB服务模型 参数`IoTDB_DIALECT_MODE`支持tree、table,默认值为tree。 @@ -145,7 +145,7 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib | SENSOR_NUMBER | 整数 | 10 | IoTDB 表模型下(IoTDB_DIALECT_MODE=table),则控制属性列数量 | | IoTDB_TABLE_NUMBER | 整数 | 1 | IoTDB 表模型下(IoTDB_DIALECT_MODE=table),表的数量 | -### 工作模式 +### 3.2 工作模式 工作模式参数“`BENCHMARK_WORK_MODE`”可选项有如下四种模式: @@ -161,7 +161,7 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib | 单数据库正确性写入模式 | verificationWriteMode | 需要配置 FILE_PATH 以及 DATA_SET | | 单数据库正确性查询模式 | verificationQueryMode | 需要配置 FILE_PATH 以及 DATA_SET | -### 服务器连接信息 +### 3.3 服务器连接信息 工作模式指定后,被测时序数据库的信息会通过如下参数告知IoT-benchmark @@ -175,7 +175,7 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib | DB_NAME | 字符串 | test | 被测时序数据库名称 | | TOKEN | 字符串 | | 被测时序数据库连接认证Token(InfluxDB 2.0使用) | -### 写入场景 +### 3.4 写入场景 | **参数名称** | **类型** | **示例** | **系统描述** | | :------------------------- | :------- | :------------------------ | :----------------------------------------------------------- | @@ -194,7 +194,7 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib | OPERATION_PROPORTION | 字符 | 1:0:0:0:0:0:0:0:0:0:0 | # 各操作的比例,按照顺序为 写入:Q1:Q2:Q3:Q4:Q5:Q6:Q7:Q8:Q9:Q10, 请注意使用英文冒号。比例中的每一项是整数。 | -### 查询场景 +### 3.5 查询场景 | 参数名称 | 类型 | 示例 | 系统描述 | | :------------------- | :--- | :-------------------- | :----------------------------------------------------------- | @@ -209,7 +209,7 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib | OPERATION_PROPORTION | 字符 | 0:0:0:0:0:0:0:0:0:0:1 | 写入:Q1:Q2:Q3:Q4:Q5:Q6:Q7:Q8:Q9:Q10 | -### 操作比例 +### 3.6 操作比例 | 编号 | 查询类型 | IoTDB 示例 SQL | | :--- | :--------------------------- | :----------------------------------------------------------- | @@ -224,7 +224,7 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib | Q9 | 倒序范围查询 | select v1 from root.sg.d1 where time > ? and time < ? order by time desc | | Q10 | 倒序带值过滤的范围查询 | select v1 from root.sg.d1 where time > ? and time < ? and v1 > ? order by time desc | -### 测试过程和测试结果持久化 +### 3.7 测试过程和测试结果持久化 IoT-benchmark目前支持通过配置参数将测试过程和测试结果持久化: @@ -242,7 +242,7 @@ IoT-benchmark目前支持通过配置参数将测试过程和测试结果持久 - 如果我们设置“`TEST_DATA_PERSISTENCE=CSV`”,测试执行时和执行完毕后我们可以在IoT-benchmark根目录下看到新生成的`data`文件夹,其下包含`csv`文件夹记录测试过程;`csvOutput`文件夹记录测试结果。 - 如果我们设置“`TEST_DATA_PERSISTENCE=MySQL`”,它会在测试开始前在指定的MySQL数据库中创建命名如“testWithDefaultPath_被测数据库名称_备注_测试启动时间”的数据表记录测试过程;会在名为“CONFIG”的数据表(如果不存在则创建该表),写入本次测试的配置信息;当测试完成时会在名为“FINAL_RESULT”的数据表(如果不存在则创建该表)中写入本次测试结果。 -### 自动化脚本 +### 3.8 自动化脚本 #### 一键化启动脚本 @@ -305,7 +305,7 @@ LOOP=50 DEVICE_NUMBER=20 TEST > tail -f log_info.log ``` -## 测试示例 +## 4 测试示例 以IoTDB 2.0为例,使用IoT-Benchemark测试表模型写入及查询,修改IoT-Benchemark配置文件如下: diff --git a/src/zh/UserGuide/Master/Table/Tools-System/Maintenance-Tool_apache.md b/src/zh/UserGuide/Master/Table/Tools-System/Maintenance-Tool_apache.md index 57b527ccb..9062be9fb 100644 --- a/src/zh/UserGuide/Master/Table/Tools-System/Maintenance-Tool_apache.md +++ b/src/zh/UserGuide/Master/Table/Tools-System/Maintenance-Tool_apache.md @@ -21,11 +21,11 @@ # 集群管理工具 -## 数据文件夹概览工具 +## 1 数据文件夹概览工具 IoTDB数据文件夹概览工具用于打印出数据文件夹的结构概览信息,工具位置为 tools/tsfile/print-iotdb-data-dir。 -### 用法 +### 1.1 用法 - Windows: @@ -41,7 +41,7 @@ IoTDB数据文件夹概览工具用于打印出数据文件夹的结构概览信 注意:如果没有设置输出结果的存储路径, 将使用相对路径"IoTDB_data_dir_overview.txt"作为默认值。 -### 示例 +### 1.2 示例 以Windows系统为例: @@ -82,11 +82,11 @@ data dir num:1 |============================================================== ````````````````````````` -## TsFile概览工具 +## 2 TsFile概览工具 TsFile概览工具用于以概要模式打印出一个TsFile的内容,工具位置为 tools/tsfile/print-tsfile。 -### 用法 +### 2.1 用法 - Windows: @@ -102,7 +102,7 @@ TsFile概览工具用于以概要模式打印出一个TsFile的内容,工具 注意:如果没有设置输出结果的存储路径, 将使用相对路径"TsFile_sketch_view.txt"作为默认值。 -### 示例 +### 2.2 示例 以Windows系统为例: @@ -170,11 +170,11 @@ file length: 2974 - "|||||||||||||||||||||"是为增强可读性而添加的导引信息,不是TsFile中实际存储的数据。 - 最后打印的"IndexOfTimerseriesIndex Tree"是对TsFile文件末尾的元数据索引树的重新整理打印,便于直观理解,不是TsFile中存储的实际数据。 -## TsFile Resource概览工具 +## 3 TsFile Resource概览工具 TsFile resource概览工具用于打印出TsFile resource文件的内容,工具位置为 tools/tsfile/print-tsfile-resource-files。 -### 用法 +### 3.1 用法 - Windows: @@ -188,7 +188,7 @@ TsFile resource概览工具用于打印出TsFile resource文件的内容,工 ./print-tsfile-resource-files.sh ``` -### 示例 +### 3.2 示例 以Windows系统为例: diff --git a/src/zh/UserGuide/Master/Table/Tools-System/Maintenance-Tool_timecho.md b/src/zh/UserGuide/Master/Table/Tools-System/Maintenance-Tool_timecho.md index 1c206edc5..74df81723 100644 --- a/src/zh/UserGuide/Master/Table/Tools-System/Maintenance-Tool_timecho.md +++ b/src/zh/UserGuide/Master/Table/Tools-System/Maintenance-Tool_timecho.md @@ -21,11 +21,11 @@ # 集群管理工具 -## 集群管理工具 +## 1 集群管理工具 IoTDB 集群管理工具是一款易用的运维工具(企业版工具)。旨在解决 IoTDB 分布式系统多节点的运维难题,主要包括集群部署、集群启停、弹性扩容、配置更新、数据导出等功能,从而实现对复杂数据库集群的一键式指令下发,极大降低管理难度。本文档将说明如何用集群管理工具远程部署、配置、启动和停止 IoTDB 集群实例。 -### 环境准备 +### 1.1 环境准备 本工具为 TimechoDB(基于IoTDB的企业版数据库)配套工具,您可以联系您的销售获取工具下载方式。 @@ -33,7 +33,7 @@ IoTDB 要部署的机器需要依赖jdk 8及以上版本、lsof、netstat、unzi 提示:IoTDB集群管理工具需要使用有root权限的账号 -### 部署方法 +### 1.2 部署方法 #### 下载安装 @@ -59,7 +59,7 @@ iotdbctl cluster check example /sbin/iotdbctl cluster check example ``` -### 系统结构 +### 1.3 系统结构 IoTDB集群管理工具主要由config、logs、doc、sbin目录组成。 @@ -69,7 +69,7 @@ IoTDB集群管理工具主要由config、logs、doc、sbin目录组成。 * `doc` 存放用户手册、开发手册和推荐部署手册。 -### 集群配置文件介绍 +### 1.4 集群配置文件介绍 * 在`iotdbctl/config` 目录下有集群配置的yaml文件,yaml文件名字就是集群名字yaml 文件可以有多个,为了方便用户配置yaml文件在iotd/config目录下面提供了`default_cluster.yaml`示例。 * yaml 文件配置由`global`、`confignode_servers`、`datanode_servers`、`grafana_server`、`prometheus_server`四大部分组成 @@ -176,7 +176,7 @@ IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -XX:MaxGCPauseMillis=200" 注意:如何配置yaml key对应的值包含特殊字符如:等建议整个value使用双引号,对应的文件路径中不要使用包含空格的路径,防止出现识别出现异常问题。 -### 使用场景 +### 1.5 使用场景 #### 清理数据场景 @@ -269,7 +269,7 @@ iotdbctl cluster start default_cluster 更加详细参数请参考上方的 集群配置文件介绍 -### 命令格式 +### 1.6 命令格式 本工具的基本用法为: ```bash @@ -318,7 +318,7 @@ iotdbctl cluster deploy default_cluster | exportschema | 元数据导出 | 集群名字,-N,节点名称(必填) -param 参数 | -### 详细命令执行过程 +### 1.7 详细命令执行过程 下面的命令都是以default_cluster.yaml 为示例执行的,用户可以修改成自己的集群文件来执行 @@ -701,7 +701,7 @@ iotdbctl cluster activate default_cluster -op license_path * 读取里面的机器码 * 等待输入激活码 -### 集群plugin分发 +### 1.8 集群plugin分发 ```bash #分发udf iotdbctl cluster dist-plugin default_cluster -type U -file /xxxx/udf.jar @@ -716,7 +716,7 @@ iotdbctl cluster dist-plugin default_cluster -type P -file /xxxx/pipe.jar 上传完成后需要手动执行创建udf/trigger/pipe命令 -### 集群滚动升级 +### 1.9 集群滚动升级 ```bash iotdbctl cluster upgrade default_cluster ``` @@ -727,7 +727,7 @@ iotdbctl cluster upgrade default_cluster -### 集群健康检查 +### 1.10 集群健康检查 ```bash iotdbctl cluster health_check default_cluster ``` @@ -742,7 +742,7 @@ iotdbctl cluster health_check default_cluster -N datanode_1 * datanode1 执行health_check.sh -### 集群停机备份 +### 1.11 集群停机备份 ```bash iotdbctl cluster backup default_cluster ``` @@ -758,7 +758,7 @@ iotdbctl cluster backup default_cluster -N datanode_1 说明:多个节点部署到单台机器,只支持 quick 模式 -### 集群元数据导入 +### 1.12 集群元数据导入 ```bash iotdbctl cluster importschema default_cluster -N datanode1 -param "-s ./dump0.csv -fd ./failed/ -lpf 10000" @@ -776,7 +776,7 @@ iotdbctl cluster importschema default_cluster -N datanode1 -param "-s ./dump0.cs -### 集群元数据导出 +### 1.13 集群元数据导出 ```bash iotdbctl cluster exportschema default_cluster -N datanode1 -param "-t ./ -pf ./pattern.txt -lpf 10 -t 10000" @@ -796,7 +796,7 @@ iotdbctl cluster exportschema default_cluster -N datanode1 -param "-t ./ -pf ./p -### 集群部署工具样例介绍 +### 1.14 集群部署工具样例介绍 在集群部署工具安装目录中config/example 下面有3个yaml样例,如果需要可以复制到config 中进行修改即可 | 名称 | 说明 | @@ -805,11 +805,11 @@ iotdbctl cluster exportschema default_cluster -N datanode1 -param "-t ./ -pf ./p | default_3c3d.yaml | 3个confignode和3个datanode 配置样例 | | default_3c3d_grafa_prome | 3个confignode和3个datanode、Grafana、Prometheus配置样例 | -## 数据文件夹概览工具 +## 2 数据文件夹概览工具 IoTDB数据文件夹概览工具用于打印出数据文件夹的结构概览信息,工具位置为 tools/tsfile/print-iotdb-data-dir。 -### 用法 +### 2.1 用法 - Windows: @@ -825,7 +825,7 @@ IoTDB数据文件夹概览工具用于打印出数据文件夹的结构概览信 注意:如果没有设置输出结果的存储路径, 将使用相对路径"IoTDB_data_dir_overview.txt"作为默认值。 -### 示例 +### 2.2 示例 以Windows系统为例: @@ -866,11 +866,11 @@ data dir num:1 |============================================================== ````````````````````````` -## TsFile概览工具 +## 3 TsFile概览工具 TsFile概览工具用于以概要模式打印出一个TsFile的内容,工具位置为 tools/tsfile/print-tsfile。 -### 用法 +### 3.1 用法 - Windows: @@ -886,7 +886,7 @@ TsFile概览工具用于以概要模式打印出一个TsFile的内容,工具 注意:如果没有设置输出结果的存储路径, 将使用相对路径"TsFile_sketch_view.txt"作为默认值。 -### 示例 +### 3.2 示例 以Windows系统为例: @@ -954,11 +954,11 @@ file length: 2974 - "|||||||||||||||||||||"是为增强可读性而添加的导引信息,不是TsFile中实际存储的数据。 - 最后打印的"IndexOfTimerseriesIndex Tree"是对TsFile文件末尾的元数据索引树的重新整理打印,便于直观理解,不是TsFile中存储的实际数据。 -## TsFile Resource概览工具 +## 4 TsFile Resource概览工具 TsFile resource概览工具用于打印出TsFile resource文件的内容,工具位置为 tools/tsfile/print-tsfile-resource-files。 -### 用法 +### 4.1 用法 - Windows: @@ -972,7 +972,7 @@ TsFile resource概览工具用于打印出TsFile resource文件的内容,工 ./print-tsfile-resource-files.sh ``` -### 示例 +### 4.2 示例 以Windows系统为例: diff --git a/src/zh/UserGuide/Master/Table/Tools-System/Monitor-Tool_apache.md b/src/zh/UserGuide/Master/Table/Tools-System/Monitor-Tool_apache.md index c2cdc0510..c6e0eb6cb 100644 --- a/src/zh/UserGuide/Master/Table/Tools-System/Monitor-Tool_apache.md +++ b/src/zh/UserGuide/Master/Table/Tools-System/Monitor-Tool_apache.md @@ -24,7 +24,7 @@ 监控工具的部署可参考文档 [监控面板部署](../Deployment-and-Maintenance/Monitoring-panel-deployment.md) 章节。 -## 监控指标的 Prometheus 映射关系 +## 1 监控指标的 Prometheus 映射关系 > 对于 Metric Name 为 name, Tags 为 K1=V1, ..., Kn=Vn 的监控指标有如下映射,其中 value 为具体值 @@ -36,7 +36,7 @@ | Rate | name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="m1"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="m5"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="m15"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="mean"} value | | Timer | name_seconds_max{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_seconds_sum{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_seconds_count{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_seconds{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", quantile="0.5"} value value
name_seconds{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", quantile="0.99"} value | -## 修改配置文件 +## 2 修改配置文件 1) 以 DataNode 为例,修改 iotdb-system.properties 配置文件如下: @@ -60,7 +60,7 @@ file_count{name="seq",} 2.0 ... ``` -## Prometheus + Grafana +## 3 Prometheus + Grafana 如上所示,IoTDB 对外暴露出标准的 Prometheus 格式的监控指标数据,可以使用 Prometheus 采集并存储监控指标,使用 Grafana 可视化监控指标。 @@ -102,7 +102,7 @@ static_configs: [Grafana从Prometheus查询数据并绘图的文档](https://prometheus.io/docs/visualization/grafana/#grafana-support-for-prometheus) -## Apache IoTDB Dashboard +## 4 Apache IoTDB Dashboard `Apache IoTDB Dashboard`是 IoTDB 企业版的配套产品,支持统一集中式运维管理,可通过一个监控面板监控多个集群。你可以联系商务获取到 Dashboard 的 Json文件。 @@ -112,7 +112,7 @@ static_configs: ![Apache IoTDB Dashboard](/img/%E7%9B%91%E6%8E%A7%20cluster2.png) -### 集群概览 +### 4.1 集群概览 可以监控包括但不限于: - 集群总CPU核数、总内存空间、总硬盘空间 @@ -124,7 +124,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E6%A6%82%E8%A7%88.png) -### 数据写入 +### 4.2 数据写入 可以监控包括但不限于: - 写入平均耗时、耗时中位数、99%分位耗时 @@ -133,7 +133,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E5%86%99%E5%85%A5.png) -### 数据查询 +### 4.3 数据查询 可以监控包括但不限于: - 节点查询加载时间序列元数据耗时 @@ -146,7 +146,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E6%9F%A5%E8%AF%A2.png) -### 存储引擎 +### 4.4 存储引擎 可以监控包括但不限于: - 分类型的文件数量、大小 @@ -155,7 +155,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E.png) -### 系统监控 +### 4.5 系统监控 可以监控包括但不限于: - 系统内存、交换内存、进程内存 diff --git a/src/zh/UserGuide/Master/Table/Tools-System/Monitor-Tool_timecho.md b/src/zh/UserGuide/Master/Table/Tools-System/Monitor-Tool_timecho.md index 9ee1b5d4b..3b0fa3cc5 100644 --- a/src/zh/UserGuide/Master/Table/Tools-System/Monitor-Tool_timecho.md +++ b/src/zh/UserGuide/Master/Table/Tools-System/Monitor-Tool_timecho.md @@ -24,7 +24,7 @@ 监控工具的部署可参考文档 [监控面板部署](../Deployment-and-Maintenance/Monitoring-panel-deployment.md) 章节。 -## 监控指标的 Prometheus 映射关系 +## 1 监控指标的 Prometheus 映射关系 > 对于 Metric Name 为 name, Tags 为 K1=V1, ..., Kn=Vn 的监控指标有如下映射,其中 value 为具体值 @@ -36,7 +36,7 @@ | Rate | name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="m1"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="m5"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="m15"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="mean"} value | | Timer | name_seconds_max{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_seconds_sum{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_seconds_count{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_seconds{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", quantile="0.5"} value value
name_seconds{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", quantile="0.99"} value | -## 修改配置文件 +## 2 修改配置文件 1) 以 DataNode 为例,修改 iotdb-system.properties 配置文件如下: @@ -60,7 +60,7 @@ file_count{name="seq",} 2.0 ... ``` -## Prometheus + Grafana +## 3 Prometheus + Grafana 如上所示,IoTDB 对外暴露出标准的 Prometheus 格式的监控指标数据,可以使用 Prometheus 采集并存储监控指标,使用 Grafana 可视化监控指标。 @@ -102,7 +102,7 @@ static_configs: [Grafana从Prometheus查询数据并绘图的文档](https://prometheus.io/docs/visualization/grafana/#grafana-support-for-prometheus) -## Apache IoTDB Dashboard +## 4 Apache IoTDB Dashboard 我们提供了Apache IoTDB Dashboard,支持统一集中式运维管理,可通过一个监控面板监控多个集群。 @@ -112,7 +112,7 @@ static_configs: 你可以在企业版中获取到 Dashboard 的 Json文件。 -### 集群概览 +### 4.1 集群概览 可以监控包括但不限于: - 集群总CPU核数、总内存空间、总硬盘空间 @@ -124,7 +124,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E6%A6%82%E8%A7%88.png) -### 数据写入 +### 4.2 数据写入 可以监控包括但不限于: - 写入平均耗时、耗时中位数、99%分位耗时 @@ -133,7 +133,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E5%86%99%E5%85%A5.png) -### 数据查询 +### 4.3 数据查询 可以监控包括但不限于: - 节点查询加载时间序列元数据耗时 @@ -146,7 +146,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E6%9F%A5%E8%AF%A2.png) -### 存储引擎 +### 4.4 存储引擎 可以监控包括但不限于: - 分类型的文件数量、大小 @@ -155,7 +155,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E.png) -### 系统监控 +### 4.5 系统监控 可以监控包括但不限于: - 系统内存、交换内存、进程内存 diff --git a/src/zh/UserGuide/Master/Table/User-Manual/Data-Sync_timecho.md b/src/zh/UserGuide/Master/Table/User-Manual/Data-Sync_timecho.md index bd7f6661f..b781b6a7b 100644 --- a/src/zh/UserGuide/Master/Table/User-Manual/Data-Sync_timecho.md +++ b/src/zh/UserGuide/Master/Table/User-Manual/Data-Sync_timecho.md @@ -519,7 +519,7 @@ pipe_all_sinks_rate_limit_bytes_per_second=-1 > - **false**:该取值下,任务将对数据进行批量(按底层数据文件)处理、发送,其特点是低时效、高吞吐 -## sink 参数 +### sink 参数 #### iotdb-thrift-sink diff --git a/src/zh/UserGuide/Master/Table/User-Manual/Query-Performance-Analysis.md b/src/zh/UserGuide/Master/Table/User-Manual/Query-Performance-Analysis.md index b577983a8..8ba60dff6 100644 --- a/src/zh/UserGuide/Master/Table/User-Manual/Query-Performance-Analysis.md +++ b/src/zh/UserGuide/Master/Table/User-Manual/Query-Performance-Analysis.md @@ -20,7 +20,7 @@ --> # 系统运维 -## 查询性能分析 +## 1 查询性能分析 查询分析的意义在于帮助用户理解查询的执行机制和性能瓶颈,从而实现查询优化和性能提升。这不仅关乎到查询的执行效率,也直接影响到应用的用户体验和资源的有效利用。为了进行有效的查询分析,IoTDB 提供了查询分析语句:Explain 和 Explain Analyze。 @@ -33,7 +33,7 @@ | 监控面板 | 中。需要安装IoTDB监控面板工具(企业版工具),并开启IoTDB监控服务 | 中。IoTDB监控服务记录指标会带来额外耗时 | 支持分布式,仅支持对数据库整体查询负载和耗时进行分析 | | Arthas抽样 | 中。需要安装Java Arthas工具(部分内网无法直接安装Arthas,且安装后,有时需要重启应用) | 高。CPU 抽样可能会影响线上业务的响应速度 | 不支持分布式,仅支持对数据库整体查询负载和耗时进行分析 | -### Explain 语句 +### 1.1 Explain 语句 #### 语法 @@ -98,7 +98,7 @@ explain select * from t1; ``` -### Explain Analyze 语句 +### 1.2 Explain Analyze 语句 #### 语法 @@ -292,7 +292,7 @@ explain analyze verbose select * from t1; +-----------------------------------------------------------------------------------------------+ ``` -### 常见问题 +### 1.3 常见问题 #### 1. WALL TIME(墙上时间)和 CPU TIME(CPU时间)的区别? diff --git a/src/zh/UserGuide/Master/Table/User-Manual/Tiered-Storage_timecho.md b/src/zh/UserGuide/Master/Table/User-Manual/Tiered-Storage_timecho.md index 501a3966f..7e3d3bfce 100644 --- a/src/zh/UserGuide/Master/Table/User-Manual/Tiered-Storage_timecho.md +++ b/src/zh/UserGuide/Master/Table/User-Manual/Tiered-Storage_timecho.md @@ -20,11 +20,11 @@ --> # 多级存储 -## 概述 +## 1 概述 多级存储功能向用户提供多种存储介质管理的能力,用户可以使用多级存储功能为 IoTDB 配置不同类型的存储介质,并为存储介质进行分级。具体的,在 IoTDB 中,多级存储的配置体现为多目录的管理。用户可以将多个存储目录归为同一类,作为一个“层级”向 IoTDB 中配置,这种“层级”我们称之为 storage tier;同时,用户可以根据数据的冷热进行分类,并将不同类别的数据存储到指定的“层级”中。当前 IoTDB 支持通过数据的 TTL 进行冷热数据的分类,当一个层级中的数据不满足当前层级定义的 TTL 规则时,该数据会被自动迁移至下一层级中。 -## 参数定义 +## 2 参数定义 在 IoTDB 中开启多级存储,需要进行以下几个方面的配置: @@ -49,7 +49,7 @@ | remote_tsfile_cache_max_disk_usage_in_mb | 51200 | 云端存储本地缓存的最大磁盘占用大小 | 如果未使用远端存储,无需配置 | -## 本地多级存储配置示例 +## 3 本地多级存储配置示例 以下以本地两级存储的配置示例。 @@ -67,7 +67,7 @@ dn_default_space_usage_thresholds=0.2;0.1 | 层级一 | 目录一:/data1/data | 最近 1 天的数据 | 20% | | 层级二 | 目录一:/data2/data目录二:/data3/data | 1 天以前的数据 | 10% | -## 远端多级存储配置示例 +## 4 远端多级存储配置示例 以下以三级存储为例: diff --git a/src/zh/UserGuide/latest-Table/Background-knowledge/Cluster-Concept_apache.md b/src/zh/UserGuide/latest-Table/Background-knowledge/Cluster-Concept_apache.md index 971aa995c..ff3ff2727 100644 --- a/src/zh/UserGuide/latest-Table/Background-knowledge/Cluster-Concept_apache.md +++ b/src/zh/UserGuide/latest-Table/Background-knowledge/Cluster-Concept_apache.md @@ -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) 又名:物理量、时间序列、时间线、点位、信号量、指标、测量值等。
测点是多个数据点按时间戳递增排列形成的一个时间序列。通常一个测点代表一个采集点位,能够定期采集所在环境的物理量。 -### 编码(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)的集群部署模式: @@ -63,7 +63,7 @@ IoTDB 的集群包括如下常见概念: 下文将对以上概念进行介绍。 -### 节点 +### 2.1 节点 IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),DataNode(数据节点)和 AINode(分析节点),如下所示: @@ -71,7 +71,7 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data - DataNode:服务客户端请求,负责数据的存储和计算,如上图中的 DataNode-1,DataNode-2 和 DataNode-3 所示。 - AINode:负责提供机器学习能力,支持注册已训练好的机器学习模型,并通过 SQL 调用模型进行推理,目前已内置自研时序大模型和常见的机器学习算法(如预测与异常检测)。 -### 数据分区 +### 2.2 数据分区 在 IoTDB 中,元数据和数据都被分为小的分区,即 Region,由集群的各个 DataNode 进行管理。 @@ -79,7 +79,7 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data - DataRegion:数据分区,管理一部分设备的一段时间的数据。不同 DataNode 相同 RegionID 的 DataRegion 互为副本,如上图中 DataRegion-2 拥有两个副本,分别放置于 DataNode-1 和 DataNode-2。 - 具体分区算法可参考:[数据分区](../Technical-Insider/Cluster-data-partitioning.md) -### 多副本 +### 2.3 多副本 数据和元数据的副本数可配置,不同部署模式下的副本数推荐如下配置,其中多副本时可提供高可用服务。 @@ -89,11 +89,11 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data | 数据 | data_replication_factor | 1 | 2 | -## 部署相关概念 +## 3 部署相关概念 IoTDB 有两种运行模式:单机模式、集群模式。 -### 单机模式 +### 3.1 单机模式 IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; @@ -102,7 +102,7 @@ IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; - **部署方法**:[单机版部署](../Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md) -### 集群模式 +### 3.2 集群模式 IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 个 DataNode,即3C3D;当部分节点出现故障时,剩余节点仍然能对外提供服务,保证数据库服务的高可用性,且可随节点增加提升数据库性能。 @@ -110,7 +110,7 @@ IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 - **适用场景**:需要提供高可用和可靠性的企业级应用场景。 - **部署方法**:[集群版部署](../Deployment-and-Maintenance/Cluster-Deployment_apache.md) -### 特点总结 +### 3.3 特点总结 | 维度 | 单机模式 | 集群模式 | | ------------ | ---------------------------- | ------------------------ | diff --git a/src/zh/UserGuide/latest-Table/Background-knowledge/Cluster-Concept_timecho.md b/src/zh/UserGuide/latest-Table/Background-knowledge/Cluster-Concept_timecho.md index ad0e513f4..1a4de58e5 100644 --- a/src/zh/UserGuide/latest-Table/Background-knowledge/Cluster-Concept_timecho.md +++ b/src/zh/UserGuide/latest-Table/Background-knowledge/Cluster-Concept_timecho.md @@ -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) 又名:物理量、时间序列、时间线、点位、信号量、指标、测量值等。
测点是多个数据点按时间戳递增排列形成的一个时间序列。通常一个测点代表一个采集点位,能够定期采集所在环境的物理量。 -### 编码(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)的集群部署模式: @@ -63,7 +63,7 @@ IoTDB 的集群包括如下常见概念: 下文将对以上概念进行介绍。 -### 节点 +### 2.1 节点 IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),DataNode(数据节点)和 AINode(分析节点),如下所示: @@ -71,7 +71,7 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data - DataNode:服务客户端请求,负责数据的存储和计算,如上图中的 DataNode-1,DataNode-2 和 DataNode-3 所示。 - AINode:负责提供机器学习能力,支持注册已训练好的机器学习模型,并通过 SQL 调用模型进行推理,目前已内置自研时序大模型和常见的机器学习算法(如预测与异常检测)。 -### 数据分区 +### 2.2 数据分区 在 IoTDB 中,元数据和数据都被分为小的分区,即 Region,由集群的各个 DataNode 进行管理。 @@ -79,7 +79,7 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data - DataRegion:数据分区,管理一部分设备的一段时间的数据。不同 DataNode 相同 RegionID 的 DataRegion 互为副本,如上图中 DataRegion-2 拥有两个副本,分别放置于 DataNode-1 和 DataNode-2。 - 具体分区算法可参考:[数据分区](../Technical-Insider/Cluster-data-partitioning.md) -### 多副本 +### 2.3 多副本 数据和元数据的副本数可配置,不同部署模式下的副本数推荐如下配置,其中多副本时可提供高可用服务。 @@ -89,11 +89,11 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data | 数据 | data_replication_factor | 1 | 2 | -## 部署相关概念 +## 3 部署相关概念 IoTDB 有三种运行模式:单机模式、集群模式和双活模式。 -### 单机模式 +### 3.1 单机模式 IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; @@ -101,7 +101,7 @@ IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; - **适用场景**:资源有限或对高可用要求不高的场景,例如边缘端服务器。 - **部署方法**:[单机版部署](../Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md) -### 双活模式 +### 3.2 双活模式 双活版部署为 TimechoDB 企业版功能,是指两个独立的实例进行双向同步,能同时对外提供服务。当一台停机重启后,另一个实例会将缺失数据断点续传。 @@ -111,7 +111,7 @@ IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; - **适用场景**:资源有限(仅有两台服务器),但希望获得高可用能力。 - **部署方法**:[双活版部署](../Deployment-and-Maintenance/Dual-Active-Deployment_timecho.md) -### 集群模式 +### 3.3 集群模式 IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 个 DataNode,即3C3D;当部分节点出现故障时,剩余节点仍然能对外提供服务,保证数据库服务的高可用性,且可随节点增加提升数据库性能。 @@ -119,7 +119,7 @@ IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 - **适用场景**:需要提供高可用和可靠性的企业级应用场景。 - **部署方法**:[集群版部署](../Deployment-and-Maintenance/Cluster-Deployment_timecho.md) -### 特点总结 +### 3.4 特点总结 | 维度 | 单机模式 | 双活模式 | 集群模式 | | ------------ | ---------------------------- | ------------------------ | ------------------------ | diff --git a/src/zh/UserGuide/latest-Table/Background-knowledge/Navigating_Time_Series_Data.md b/src/zh/UserGuide/latest-Table/Background-knowledge/Navigating_Time_Series_Data.md index f965eb055..49d9edfb2 100644 --- a/src/zh/UserGuide/latest-Table/Background-knowledge/Navigating_Time_Series_Data.md +++ b/src/zh/UserGuide/latest-Table/Background-knowledge/Navigating_Time_Series_Data.md @@ -20,7 +20,7 @@ --> # 时序数据模型 -## 1. 什么叫时序数据? +## 1 什么叫时序数据? 万物互联的今天,物联网场景、工业场景等各类场景都在进行数字化转型,人们通过在各类设备上安装传感器对设备的各类状态进行采集。如电机采集电压、电流,风机的叶片转速、角速度、发电功率;车辆采集经纬度、速度、油耗;桥梁的振动频率、挠度、位移量等。传感器的数据采集,已经渗透在各个行业中。 @@ -33,7 +33,7 @@ 传感器产生的海量时序数据是各行各业数字化转型的基础,因此我们对时序数据的模型梳理主要围绕设备、传感器展开。 -## 2. 时序数据中的关键概念有哪些? +## 2 时序数据中的关键概念有哪些? 时序数据中主要涉及的概念如下。 diff --git a/src/zh/UserGuide/latest-Table/Basic-Concept/Database-Management.md b/src/zh/UserGuide/latest-Table/Basic-Concept/Database-Management.md index 842de6137..0589b65c1 100644 --- a/src/zh/UserGuide/latest-Table/Basic-Concept/Database-Management.md +++ b/src/zh/UserGuide/latest-Table/Basic-Concept/Database-Management.md @@ -21,7 +21,7 @@ # 数据库管理 -## 1. 数据库管理 +## 1 数据库管理 ### 1.1 创建数据库 diff --git a/src/zh/UserGuide/latest-Table/Basic-Concept/Delete-Data.md b/src/zh/UserGuide/latest-Table/Basic-Concept/Delete-Data.md index dce9c095c..fdd45cc15 100644 --- a/src/zh/UserGuide/latest-Table/Basic-Concept/Delete-Data.md +++ b/src/zh/UserGuide/latest-Table/Basic-Concept/Delete-Data.md @@ -21,7 +21,7 @@ # 数据删除 -## 1. 数据删除: +## 1 数据删除: 数据删除可以通过 delete 语句来完成,其中可以通过指定标签和时间的过滤条件来删除部分数据。 @@ -92,7 +92,7 @@ DELETE FROM table1 DELETE FROM table1 WHERE model_id = 'B' ``` -## 2. 设备删除: +## 2 设备删除: 当一个设备写入后,在 IoTDB 中即保留了其元数据,数据删除语句无法删除设备的元数据,可以使用设备删除语句删除设备的所有数据和元数据。 diff --git a/src/zh/UserGuide/latest-Table/Basic-Concept/Query-Data.md b/src/zh/UserGuide/latest-Table/Basic-Concept/Query-Data.md index 0468da5a5..40180ce77 100644 --- a/src/zh/UserGuide/latest-Table/Basic-Concept/Query-Data.md +++ b/src/zh/UserGuide/latest-Table/Basic-Concept/Query-Data.md @@ -21,7 +21,7 @@ # 数据查询 -## 1. 语法概览 +## 1 语法概览 ```SQL SELECT ⟨select_list⟩ @@ -47,13 +47,13 @@ IoTDB 查询语法提供以下子句: - OFFSET 子句:用于指定查询结果的起始位置,即跳过前 OFFSET 行。与 LIMIT 子句配合使用。详细语法见:[LIMIT 和 OFFSET 子句](../SQL-Manual/Limit-Offset-Clause.md) - LIMIT 子句:限制查询结果的行数,通常与 OFFSET 子句一起使用以实现分页功能。详细语法见:[LIMIT 和 OFFSET 子句](../SQL-Manual/Limit-Offset-Clause.md) -## 2. 子句执行顺序 +## 2 子句执行顺序 ![](/img/%E5%AD%90%E5%8F%A5%E6%89%A7%E8%A1%8C%E9%A1%BA%E5%BA%8F01.png) -## 3. 常见查询示例 +## 3 常见查询示例 ### 3.1 示例数据 diff --git a/src/zh/UserGuide/latest-Table/Basic-Concept/TTL-Delete-Data.md b/src/zh/UserGuide/latest-Table/Basic-Concept/TTL-Delete-Data.md index 38ea245f5..79d484945 100644 --- a/src/zh/UserGuide/latest-Table/Basic-Concept/TTL-Delete-Data.md +++ b/src/zh/UserGuide/latest-Table/Basic-Concept/TTL-Delete-Data.md @@ -21,7 +21,7 @@ # 过期自动删除(TTL) -## 1. 概览 +## 1 概览 IoTDB支持表级的数据自动过期删除(TTL)设置,允许系统自动定期删除旧数据,以有效控制磁盘空间并维护高性能查询和低内存占用。TTL默认以毫秒为单位,数据过期后不可查询且禁止写入,但物理删除会延迟至压缩时。需注意,TTL变更可能导致短暂数据可查询性变化。 @@ -31,7 +31,7 @@ IoTDB支持表级的数据自动过期删除(TTL)设置,允许系统自动 2. TTL变更可能影响数据的可查询性。 3. 系统最终会移除过期数据,但存在延迟。 -## 2. 设置 TTL +## 2 设置 TTL 在表模型中,IoTDB 的 TTL 是按照表的粒度生效的。可以直接在表上设置 TTL,或者在数据库级别设置 TTL。当在数据库级别设置了TTL时,在创建新表的过程中,系统会自动采用这个TTL值作为新表的默认设置,但每个表仍然可以独立地被设置或覆盖该值。 @@ -89,7 +89,7 @@ use db CREATE TABLE test3 ("场站" string id, "温度" int32) with (ttl='INF') ``` -## 3. 取消 TTL +## 3 取消 TTL 取消 TTL 设置,可以修改表的 TTL 设置为 'INF'。目前,IoTDB 不支持修改数据库的 TTL。 @@ -97,7 +97,7 @@ CREATE TABLE test3 ("场站" string id, "温度" int32) with (ttl='INF') ALTER TABLE tableB set properties TTL='INF' ``` -## 4. 查看 TTL 信息 +## 4 查看 TTL 信息 使用 "SHOW DATABASES" 和 "SHOW TABLES" 命令可以直接显示数据库和表的 TTL 详情。数据库和表管理语句详情可见:[数据库管理](../Basic-Concept/Database-Management.md)、[表管理](../Basic-Concept/Table-Management.md) diff --git a/src/zh/UserGuide/latest-Table/Basic-Concept/Table-Management.md b/src/zh/UserGuide/latest-Table/Basic-Concept/Table-Management.md index c2b59707a..9b6dede6a 100644 --- a/src/zh/UserGuide/latest-Table/Basic-Concept/Table-Management.md +++ b/src/zh/UserGuide/latest-Table/Basic-Concept/Table-Management.md @@ -21,7 +21,7 @@ # 表管理 -## 1. 表管理 +## 1 表管理 ### 1.1 创建表 diff --git a/src/zh/UserGuide/latest-Table/Basic-Concept/Write-Updata-Data.md b/src/zh/UserGuide/latest-Table/Basic-Concept/Write-Updata-Data.md index 2b82430ae..3f957eba7 100644 --- a/src/zh/UserGuide/latest-Table/Basic-Concept/Write-Updata-Data.md +++ b/src/zh/UserGuide/latest-Table/Basic-Concept/Write-Updata-Data.md @@ -21,7 +21,7 @@ # 数据写入&更新 -## 1. 数据写入 +## 1 数据写入 ### 1.1 语法 @@ -178,7 +178,7 @@ values - 如果在 SQL 语句中引用了表中不存在的列,IoTDB 将返回错误码 `COLUMN_NOT_EXIST(616)`。 - 如果写入的数据类型与表中列的数据类型不一致,将报错 `DATA_TYPE_MISMATCH(507)`。 -## 2. 数据更新 +## 2 数据更新 ### 2.1 语法 diff --git a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Deployment-form_apache.md b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Deployment-form_apache.md index c9c3da182..984b5fb3d 100644 --- a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Deployment-form_apache.md +++ b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Deployment-form_apache.md @@ -22,7 +22,7 @@ IoTDB 有两种运行模式:单机模式、集群模式。 -## 单机模式 +## 1 单机模式 IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; @@ -30,7 +30,7 @@ IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; - **适用场景**:资源有限或对高可用要求不高的场景,例如边缘端服务器。 - **部署方法**:[单机版部署](../Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md) -## 集群模式 +## 2 集群模式 IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 个 DataNode,即3C3D;当部分节点出现故障时,剩余节点仍然能对外提供服务,保证数据库服务的高可用性,且可随节点增加提升数据库性能。 @@ -38,7 +38,7 @@ IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 - **适用场景**:需要提供高可用和可靠性的企业级应用场景。 - **部署方法**:[集群版部署](../Deployment-and-Maintenance/Cluster-Deployment_apache.md) -## 特点总结 +## 3 特点总结 | 维度 | 单机模式 | 集群模式 | | ------------ | ---------------------------- | ------------------------ | diff --git a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Deployment-form_timecho.md b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Deployment-form_timecho.md index d47a92fd7..d4a78a6b5 100644 --- a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Deployment-form_timecho.md +++ b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/Deployment-form_timecho.md @@ -22,7 +22,7 @@ IoTDB 有三种运行模式:单机模式、集群模式和双活模式。 -## 单机模式 +## 1 单机模式 IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; @@ -30,7 +30,7 @@ IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; - **适用场景**:资源有限或对高可用要求不高的场景,例如边缘端服务器。 - **部署方法**:[单机版部署](../Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md) -## 双活模式 +## 2 双活模式 双活版部署为 TimechoDB 企业版功能,是指两个独立的实例进行双向同步,能同时对外提供服务。当一台停机重启后,另一个实例会将缺失数据断点续传。 @@ -40,7 +40,7 @@ IoTDB单机实例包括 1 个ConfigNode、1个DataNode,即1C1D; - **适用场景**:资源有限(仅有两台服务器),但希望获得高可用能力。 - **部署方法**:[双活版部署](../Deployment-and-Maintenance/Dual-Active-Deployment_timecho.md) -## 集群模式 +## 3 集群模式 IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 个 DataNode,即3C3D;当部分节点出现故障时,剩余节点仍然能对外提供服务,保证数据库服务的高可用性,且可随节点增加提升数据库性能。 @@ -48,7 +48,7 @@ IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 - **适用场景**:需要提供高可用和可靠性的企业级应用场景。 - **部署方法**:[集群版部署](../Deployment-and-Maintenance/Cluster-Deployment_timecho.md) -## 特点总结 +## 4 特点总结 | 维度 | 单机模式 | 双活模式 | 集群模式 | | ------------ | ---------------------------- | ------------------------ | ------------------------ | diff --git a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/IoTDB-Package_apache.md b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/IoTDB-Package_apache.md index 9e3270818..e3f14a95d 100644 --- a/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/IoTDB-Package_apache.md +++ b/src/zh/UserGuide/latest-Table/Deployment-and-Maintenance/IoTDB-Package_apache.md @@ -19,11 +19,11 @@ --> # 安装包获取 -## 安装包获取方式 +## 1 安装包获取方式 安装包可直接在Apache IoTDB官网获取:https://iotdb.apache.org/zh/Download/ -## 安装包结构 +## 2 安装包结构 解压后安装包(`apache-iotdb--all-bin.zip`),安装包解压后目录结构如下: diff --git a/src/zh/UserGuide/latest-Table/IoTDB-Introduction/IoTDB-Introduction_apache.md b/src/zh/UserGuide/latest-Table/IoTDB-Introduction/IoTDB-Introduction_apache.md index 73b0c90f2..d7fdda7f1 100644 --- a/src/zh/UserGuide/latest-Table/IoTDB-Introduction/IoTDB-Introduction_apache.md +++ b/src/zh/UserGuide/latest-Table/IoTDB-Introduction/IoTDB-Introduction_apache.md @@ -30,7 +30,7 @@ Apache IoTDB 是一款低成本、高性能的物联网原生时序数据库。 - 安装部署与使用文档:[快速上手](../QuickStart/QuickStart.md) -## 产品体系 +## 1 产品体系 IoTDB 体系由若干个组件构成,帮助用户高效地管理和分析物联网产生的海量时序数据。 @@ -44,13 +44,13 @@ IoTDB 体系由若干个组件构成,帮助用户高效地管理和分析物 2. **时序数据标准文件格式(Apache TsFile)**:该文件格式是一种专为时序数据设计的存储格式,可以高效地存储和查询海量时序数据。目前 IoTDB、AINode 等模块的底层存储文件均由 Apache TsFile 进行支撑。通过 TsFile,用户可以在采集、管理、应用&分析阶段统一使用相同的文件格式进行数据管理,极大简化了数据采集到分析的整个流程,提高时序数据管理的效率和便捷度。 3. **时序模型训推一体化引擎(IoTDB AINode)**:针对智能分析场景,IoTDB 提供 AINode 时序模型训推一体化引擎,它提供了一套完整的时序数据分析工具,底层为模型训练引擎,支持训练任务与数据管理,与包括机器学习、深度学习等。通过这些工具,用户可以对存储在 IoTDB 中的数据进行深入分析,挖掘出其中的价值。 -## TimechoDB 整体架构 +## 2 TimechoDB 整体架构 下图展示了一个常见的 IoTDB 3C3D(3 个 ConfigNode、3 个 DataNode)的集群部署模式: -## 产品特性 +## 3 产品特性 Apache IoTDB 具备以下优势和特性: @@ -70,7 +70,7 @@ Apache IoTDB 具备以下优势和特性: - 丰富的生态环境对接:支持Hadoop、Spark等大数据生态系统组件对接,支持Grafana、Thingsboard、DataEase等设备管理和可视化工具 -## 商业版本 +## 4 商业版本 天谋科技在 Apache IoTDB 开源版本的基础上提供了原厂商业化产品 TimechoDB,为企业、商业客户提供企业级产品和服务,它可以解决企业组建物联网大数据平台管理时序数据时所遇到的应用场景复杂、数据体量大、采样频率高、数据乱序多、数据处理耗时长、分析需求多样、存储与运维成本高等多种问题。 diff --git a/src/zh/UserGuide/latest-Table/IoTDB-Introduction/IoTDB-Introduction_timecho.md b/src/zh/UserGuide/latest-Table/IoTDB-Introduction/IoTDB-Introduction_timecho.md index 8bbd61f78..8ecf2b001 100644 --- a/src/zh/UserGuide/latest-Table/IoTDB-Introduction/IoTDB-Introduction_timecho.md +++ b/src/zh/UserGuide/latest-Table/IoTDB-Introduction/IoTDB-Introduction_timecho.md @@ -27,7 +27,7 @@ TimechoDB 是一款低成本、高性能的物联网原生时序数据库,是 - 下载、部署与使用:[快速上手](../QuickStart/QuickStart_timecho.md) -## 产品体系 +## 1 产品体系 天谋产品体系由若干个组件构成,覆盖由【数据采集】到【数据管理】到【数据分析&应用】的全时序数据生命周期,做到“采-存-用”一体化时序数据解决方案,帮助用户高效地管理和分析物联网产生的海量时序数据。 @@ -43,13 +43,13 @@ TimechoDB 是一款低成本、高性能的物联网原生时序数据库,是 3. **时序模型训推一体化引擎(AINode)**:针对智能分析场景,TimechoDB 提供 AINode 时序模型训推一体化引擎,它提供了一套完整的时序数据分析工具,底层为模型训练引擎,支持训练任务与数据管理,与包括机器学习、深度学习等。通过这些工具,用户可以对存储在 TimechoDB 中的数据进行深入分析,挖掘出其中的价值。 4. **数据采集**:为了更加便捷的对接各类工业采集场景, 天谋科技提供数据采集接入服务,支持多种协议和格式,可以接入各种传感器、设备产生的数据,同时支持断点续传、网闸穿透等特性。更加适配工业领域采集过程中配置难、传输慢、网络弱的特点,让用户的数采变得更加简单、高效。 -## TimechoDB 整体架构 +## 2 TimechoDB 整体架构 下图展示了一个常见的 IoTDB 3C3D(3 个 ConfigNode、3 个 DataNode)的集群部署模式: -## 产品特性 +## 3 产品特性 TimechoDB 具备以下优势和特性: @@ -69,9 +69,9 @@ TimechoDB 具备以下优势和特性: - 丰富的生态环境对接:支持Hadoop、Spark等大数据生态系统组件对接,支持Grafana、Thingsboard、DataEase等设备管理和可视化工具 -## 企业特性 +## 4 企业特性 -### 更高阶的产品功能 +### 4.1 更高阶的产品功能 TimechoDB 在开源版基础上提供了更多高阶产品功能,在内核层面针对工业生产场景进行原生升级和优化,如多级存储、云边协同、可视化工具、安全增强等功能,能够让用户无需过多关注底层逻辑,将精力聚焦在业务开发中,让工业生产更简单更高效,为企业带来更多的经济效益。如: @@ -214,11 +214,11 @@ TimechoDB 在开源版基础上提供了更多高阶产品功能,在内核层 -### 更高效/稳定的产品性能 +### 4.2 更高效/稳定的产品性能 TimechoDB 在开源版的基础上优化了稳定性与性能,经过企业版技术支持,能够实现10倍以上性能提升,并具有故障及时恢复的性能优势。 -### 更用户友好的工具体系 +### 4.3 更用户友好的工具体系 TimechoDB 将为用户提供更简单、易用的工具体系,通过集群监控面板(IoTDB Grafana)、数据库控制台(IoTDB Workbench)、集群管理工具(IoTDB Deploy Tool,简称 IoTD)等产品帮助用户快速部署、管理、监控数据库集群,降低运维人员工作/学习成本,简化数据库运维工作,使运维过程更加方便、快捷。 @@ -259,13 +259,13 @@ TimechoDB 将为用户提供更简单、易用的工具体系,通过集群监  -### 更专业的企业技术服务 +### 4.4 更专业的企业技术服务 TimechoDB 客户提供强大的原厂服务,包括但不限于现场安装及培训、专家顾问咨询、现场紧急救助、软件升级、在线自助服务、远程支持、最新开发版使用指导等服务。同时,为了使 IoTDB 更契合工业生产场景,我们会根据企业实际数据结构和读写负载,进行建模方案推荐、读写性能调优、压缩比调优、数据库配置推荐及其他的技术支持。如遇到部分产品未覆盖的工业化定制场景,TimechoDB 将根据用户特点提供定制化开发工具。 相较于开源版本,每 2-3 个月一个发版周期,TimechoDB 提供周期更快的发版频率,同时针对客户现场紧急问题,提供天级别的专属修复,确保生产环境稳定。 -### 更兼容的国产化适配 +### 4.5 更兼容的国产化适配 TimechoDB 代码自研可控,同时兼容大部分主流信创产品(CPU、操作系统等),并完成与多个厂家的兼容认证,确保产品的合规性和安全性。 \ No newline at end of file diff --git a/src/zh/UserGuide/latest-Table/IoTDB-Introduction/Release-history_timecho.md b/src/zh/UserGuide/latest-Table/IoTDB-Introduction/Release-history_timecho.md index cff39be78..a07bcc8b4 100644 --- a/src/zh/UserGuide/latest-Table/IoTDB-Introduction/Release-history_timecho.md +++ b/src/zh/UserGuide/latest-Table/IoTDB-Introduction/Release-history_timecho.md @@ -20,7 +20,7 @@ --> # 发版历史 -## TimechoDB(数据库内核) +## 1 TimechoDB(数据库内核) ### V1.3.4.1 > 发版时间:2025.01.08 > @@ -202,7 +202,7 @@ V1.0.0.1主要修复分区计算及查询执行时的相关问题,历史快照 - 流处理模块:支持流处理框架 - 流处理模块:支持集群间数据同步功能 -## Workbench(控制台工具) +## 2 Workbench(控制台工具) | **控制台版本号** | **版本说明** | **可支持IoTDB版本** | | ---------------- | ------------------------------------------------------------ | ------------------- | diff --git a/src/zh/UserGuide/latest-Table/IoTDB-Introduction/Scenario.md b/src/zh/UserGuide/latest-Table/IoTDB-Introduction/Scenario.md index 5a7798089..fc2e90d87 100644 --- a/src/zh/UserGuide/latest-Table/IoTDB-Introduction/Scenario.md +++ b/src/zh/UserGuide/latest-Table/IoTDB-Introduction/Scenario.md @@ -21,65 +21,65 @@ # 应用场景 -## 应用1——能源电力 +## 1 应用1——能源电力 -### 背景: +### 1.1 背景 通过对电力生产、传输、存储和消费过程中的海量时序数据进行采集、存储、分析以及对电力系统的实时监控、精准预测和智能调度,企业可以有效提升能源利用效率,降低运营成本,确保能源生产的安全性和可持续性,保障电网的安全稳定运行。 -### 架构 +### 1.2 架构 IoTDB 凭借集群高可用、低流量数据同步、跨网闸支持和优异的性能为企业提供国产化自主可控的时序数据管理解决方案,支撑企业应对大规模时序数据管理挑战,推动传统能源和可再生能源的高效管理与整合。 ![img](/img/scenarios01.png) -## 应用2——航空航天 +## 2 应用2——航空航天 -### 背景 +### 2.1 背景 近年来,随着科技的不断进步,航空航天领域正进一步加快数字化与智能化建设。先进的数据采集和处理技术逐渐成为提升飞行安全、优化系统性能的重要手段。通过对飞机、火箭、卫星等设备在设计、制造、试飞、运行等全流程中产生的海量时序数据进行高效管理,企业能实现对飞行任务中关键系统的精准监测与分析,通过遥测数据实时回传、试飞数据快速导入,实现航空信息的监测和设计改进,确保飞行任务的安全可靠执行。 -### 架构 +### 2.2 架构 IoTDB 凭借其国产自研的高效低流量数据同步、离线数据迁移、丰富的部署选择和低资源占用等特点,为行业的数据管理和业务扩展提供了数据基础,为航空航天领域的技术创新和持续发展提供有力支撑。 ![img](/img/scenarios02.png) -## 应用3——交通运输 +## 3 应用3——交通运输 -### 背景 +### 3.1 背景 交通运输行业的快速发展带来了对多样化交通数据管理的需求,尤其在铁路、地铁等关键枢纽中,数据的实时性、可靠性和精准性至关重要。通过对列车、地铁、船舶、汽车等设备的运行、状态、位置信息等多维数据进行实时采集、存储与分析,企业可实现智能调度、故障预警、线路优化和高效运维。企业不仅可以提升交通系统的运转效率,还降低了运营管理成本。 -### 架构 +### 3.2 架构 IoTDB 凭借其高效的时序数据管理和低延迟查询能力,有效应对交通运输行业中的数据爆发式增长,实现多源异构数据高效流转和管理,为铁路、船舶等构建起稳定可靠的智能交通系统管理基础,为行业向智能化和自动化方向发展提供了重要支撑。 ![img](/img/scenarios03.png) -## 应用4——钢铁冶炼 +## 4 应用4——钢铁冶炼 -### 背景 +### 4.1 背景 作为传统制造业的典型代表,钢铁冶炼行业近年来逐步推进数字化转型和智能化改造,以应对日益增长的市场竞争和环保、安全等要求。特别是工业物联网平台的部署,已成为钢铁冶炼企业在生产环节中提升产能、优化产品质量、降低能耗的关键手段。通过工业物联网平台,企业能够对冶炼设备和生产线进行实时数据采集、存储和分析,从而实现对核心生产环节的智能监测、精准控制与高效管理。 -### 架构 +### 4.2 架构 IoTDB 通过其强大的数据存储与计算能力,为钢铁冶炼场景提供跨平台支持、低资源占用的灵活部署方案,丰富的外部接口也使其可以与其他系统高效集成,助力钢铁冶炼行业构建智慧工厂,进一步支撑传统工业加快形成新质生产力。 ![img](/img/scenarios04.png) -## 应用5——物联网 +## 5 应用5——物联网 -### 背景 +### 5.1 背景 物联网(IoT)正在从根本上改变各个行业的运行方式,通过连接海量设备和深度数据分析实现智能化管理。随着物联网设备接入规模的不断扩大,对数据管理系统的处理、存储和分析能力提出了更高要求。企业需要高效管理来自边缘设备和云端的数据流,保证系统的实时性、稳定性和可扩展性,以支持设备状态监测、故障诊断、预测性维护等核心业务应用。 -### 架构 +### 5.2 架构 作为物联网原生的高性能时序数据库,IoTDB 支持从边缘设备到云端的全链路数据同步和存储分析,具备高并发处理能力,能够满足大规模设备接入的需求。IoTDB为企业提供灵活的数据解决方案,助力发掘设备运行数据中的深层次价值,提升运营效率,推动企业物联网业务的全面发展。 diff --git a/src/zh/UserGuide/latest-Table/QuickStart/QuickStart_apache.md b/src/zh/UserGuide/latest-Table/QuickStart/QuickStart_apache.md index 9f37a9b56..096c85184 100644 --- a/src/zh/UserGuide/latest-Table/QuickStart/QuickStart_apache.md +++ b/src/zh/UserGuide/latest-Table/QuickStart/QuickStart_apache.md @@ -23,7 +23,7 @@ 本篇文档将帮助您了解快速入门 IoTDB 的方法。 -## 如何安装部署? +## 1 如何安装部署? 本篇文档将帮助您快速安装部署 IoTDB,您可以通过以下文档的链接快速定位到所需要查看的内容: @@ -41,7 +41,7 @@ > ❗️注意:目前我们仍然推荐直接在物理机/虚拟机上安装部署,如需要 docker 部署,可参考:[Docker 部署](../Deployment-and-Maintenance/Docker-Deployment_apache.md) -## 如何使用? +## 2 如何使用? 1. 数据库建模设计:数据库建模是创建数据库系统的重要步骤,它涉及到设计数据的结构和关系,以确保数据的组织方式能够满足特定应用的需求,下面的文档将会帮助您快速了解 IoTDB 的建模设计: @@ -68,7 +68,7 @@ 6. 应用编程接口: IoTDB 提供了多种应用编程接口(API),以便于开发者在应用程序中与 IoTDB 进行交互,目前支持[ Java 原生接口](../API/Programming-Java-Native-API.md)、[Python 原生接口](../API/Programming-Python-Native-API.md)、[JDBC](../API/Programming-JDBC.md)等,更多编程接口可参见官网【应用编程接口】其他章节 -## 想了解更多技术细节? +## 3 想了解更多技术细节? 如果您想了解 IoTDB 的更多技术内幕,可以移步至下面的文档: diff --git a/src/zh/UserGuide/latest-Table/QuickStart/QuickStart_timecho.md b/src/zh/UserGuide/latest-Table/QuickStart/QuickStart_timecho.md index 83b6eab7c..db26e49ce 100644 --- a/src/zh/UserGuide/latest-Table/QuickStart/QuickStart_timecho.md +++ b/src/zh/UserGuide/latest-Table/QuickStart/QuickStart_timecho.md @@ -23,7 +23,7 @@ 本篇文档将帮助您了解快速入门 IoTDB 的方法。 -## 如何安装部署? +## 1 如何安装部署? 本篇文档将帮助您快速安装部署 IoTDB,您可以通过以下文档的链接快速定位到所需要查看的内容: @@ -48,7 +48,7 @@ - 监控面板:提供了上百个数据库监控指标,用来对 IoTDB 及其所在操作系统进行细致监控,从而进行系统优化、性能优化、发现瓶颈等,安装步骤可查看 [监控面板部署](../Deployment-and-Maintenance/Monitoring-panel-deployment.md) -## 如何使用? +## 2 如何使用? 1. 数据库建模设计:数据库建模是创建数据库系统的重要步骤,它涉及到设计数据的结构和关系,以确保数据的组织方式能够满足特定应用的需求,下面的文档将会帮助您快速了解 IoTDB 的建模设计: @@ -75,14 +75,14 @@ 6. 应用编程接口: IoTDB 提供了多种应用编程接口(API),以便于开发者在应用程序中与 IoTDB 进行交互,目前支持[ Java 原生接口](../API/Programming-Java-Native-API.md)、[Python 原生接口](../API/Programming-Python-Native-API.md)、[JDBC](../API/Programming-JDBC.md)等,更多编程接口可参见官网【应用编程接口】其他章节 -## 还有哪些便捷的周边工具? +## 3 还有哪些便捷的周边工具? IoTDB 除了自身拥有丰富的功能外,其周边的工具体系包含的种类十分齐全。本篇文档将帮助您快速使用周边工具体系: - 监控面板:是一个对 IoTDB 及其所在操作系统进行细致监控的工具,涵盖数据库性能、系统资源等上百个数据库监控指标,助力系统优化与瓶颈识别等,具体使用介绍请查看 [监控面板部署](../Tools-System/Monitor-Tool_timecho.md) -## 想了解更多技术细节? +## 4 想了解更多技术细节? 如果您想了解 IoTDB 的更多技术内幕,可以移步至下面的文档: diff --git a/src/zh/UserGuide/latest-Table/Reference/Sample-Data.md b/src/zh/UserGuide/latest-Table/Reference/Sample-Data.md index 24f85071f..f7feec9b2 100644 --- a/src/zh/UserGuide/latest-Table/Reference/Sample-Data.md +++ b/src/zh/UserGuide/latest-Table/Reference/Sample-Data.md @@ -23,13 +23,13 @@ 本章节主要介绍一个简单的时序数据应用场景以及在此场景下的建模与示例数据,IoTDB 表模型用户手册中所有的示例 SQL 语句都可以在此建模和示例数据下执行。 -## 1. 数据结构 +## 1 数据结构 table1和table2均为如下表结构: ![](/img/Sample_data01.png) -## 2. 导入语句 +## 2 导入语句 以下为构建上述表结构及数据的SQL语句,您可以点此([sample_data.sql](/img/sample_data.sql))下载全部SQL并在CLI中执行,从而将数据导入您的IoTDB。 diff --git a/src/zh/UserGuide/latest-Table/SQL-Manual/Basis-Function.md b/src/zh/UserGuide/latest-Table/SQL-Manual/Basis-Function.md index 22240098f..7a3699266 100644 --- a/src/zh/UserGuide/latest-Table/SQL-Manual/Basis-Function.md +++ b/src/zh/UserGuide/latest-Table/SQL-Manual/Basis-Function.md @@ -21,9 +21,9 @@ # 基础函数 -## 比较函数和运算符 +## 1 比较函数和运算符 -### 1. 基本比较运算符 +### 1.1 基本比较运算符 比较运算符用于比较两个值,并返回比较结果(true或false)。 @@ -37,14 +37,14 @@ | <> | 不等于 | | != | 不等于 | -#### 1.1 比较规则: +#### 1.1.1 比较规则: 1. 所有类型都可以与自身进行比较 2. 数值类型(INT32, INT64, FLOAT, DOUBLE, TIMESTAMP)之间可以相互比较 3. 字符类型(STRING, TEXT)之间也可以相互比较 4. 除上述规则外的类型进行比较时,均会报错。 -### 2. BETWEEN 运算符 +### 1.2 BETWEEN 运算符 1. `BETWEEN` 操作符用于判断一个值是否在指定的范围内。 2. `NOT BETWEEN`操作符用于判断一个值是否不在指定范围内。 @@ -72,7 +72,7 @@ SELECT * FROM table1 WHERE temperature BETWEEN 85.0 AND 90.0; SELECT * FROM table1 WHERE humidity NOT BETWEEN 35.0 AND 40.0; ``` -### 3. IS NULL 运算符 +### 1.3 IS NULL 运算符 1. `IS NULL` 和 `IS NOT NULL` 运算符用于判断一个值是否为 NULL。 2. 这两个运算符适用于所有数据类型。 @@ -89,7 +89,7 @@ SELECT * FROM table1 WHERE temperature IS NULL; SELECT * FROM table1 WHERE humidity IS NOT NULL; ``` -### 4. IN 运算符 +### 1.4 IN 运算符 1. `IN` 操作符可用于 `WHERE` 子句中,比较一列中的一些值。 2. 这些值可以由静态数组、标量表达式。 @@ -120,14 +120,14 @@ SELECT * FROM table1 WHERE temperature IN (85.0, 90.0); SELECT * FROM table1 WHERE region NOT IN ('北京', '上海'); ``` -## 聚合函数 +## 2 聚合函数 -### 1. 概述 +### 2.1 概述 1. 聚合函数是多对一函数。它们对一组值进行聚合计算,得到单个聚合结果。 2. 除了 `COUNT()`之外,其他所有聚合函数都忽略空值,并在没有输入行或所有值为空时返回空值。 例如,`SUM()` 返回 null 而不是零,而 `AVG()` 在计数中不包括 null 值。 -### 2. 支持的聚合函数 +### 2.2 支持的聚合函数 | 函数名 | 功能描述 | 允许的输入类型 | 输出类型 | | ----------- | ------------------------------------------------------------ | ------------------------ | ----------------------------- | @@ -151,13 +151,13 @@ SELECT * FROM table1 WHERE region NOT IN ('北京', '上海'); | FIRST_BY | FIRST_BY(x, y) 求当 y 为第一个不为 NULL 的值时,同一行里对应的 x 值。 | x 和 y 可以是任意类型 | 与第一个输入 x 的数据类型一致 | | LAST_BY | LAST_BY(x, y) 求当 y 为最后一个不为 NULL 的值时,同一行里对应的 x 值。 | x 和 y 可以是任意类型 | 与第一个输入 x 的数据类型一致 | -### 3. 示例 +### 2.3 示例 -#### 3.1 示例数据 +#### 2.3.1 示例数据 在[示例数据页面](https://www.timecho.com/docs/zh/UserGuide/V2.0.1/Table/Basic-Concept/Sample-Data.html)中,包含了用于构建表结构和插入数据的SQL语句,下载并在IoTDB CLI中执行这些语句,即可将数据导入IoTDB,您可以使用这些数据来测试和执行示例中的SQL语句,并获得相应的结果。 -#### 3.2 Count +#### 2.3.2 Count 统计的是整张表的行数和 `temperature` 列非 NULL 值的数量。 @@ -179,7 +179,7 @@ Total line number = 1 It costs 0.834s ``` -#### 3.3 First +#### 2.3.3 First 查询`temperature`列、`humidity`列时间戳最小且不为 NULL 的值。 @@ -199,7 +199,7 @@ Total line number = 1 It costs 0.170s ``` -#### 3.4 Last +#### 2.3.4 Last 查询`temperature`列、`humidity`列时间戳最大且不为 NULL 的值。 @@ -219,7 +219,7 @@ Total line number = 1 It costs 0.211s ``` -#### 3.5 First_by +#### 2.3.5 First_by 查询 `temperature` 列中非 NULL 且时间戳最小的行的 `time` 值,以及 `temperature` 列中非 NULL 且时间戳最小的行的 `humidity` 值。 @@ -239,7 +239,7 @@ Total line number = 1 It costs 0.269s ``` -#### 3.6 Last_by +#### 2.3.6 Last_by 查询`temperature` 列中非 NULL 且时间戳最大的行的 `time` 值,以及 `temperature` 列中非 NULL 且时间戳最大的行的 `humidity` 值。 @@ -259,7 +259,7 @@ Total line number = 1 It costs 0.070s ``` -#### 3.7 Max_by +#### 2.3.7 Max_by 查询`temperature` 列中最大值所在行的 `time` 值,以及`temperature` 列中最大值所在行的 `humidity` 值。 @@ -279,7 +279,7 @@ Total line number = 1 It costs 0.172s ``` -#### 3.8 Min_by +#### 2.3.8 Min_by 查询`temperature` 列中最小值所在行的 `time` 值,以及`temperature` 列中最小值所在行的 `humidity` 值。 @@ -299,9 +299,9 @@ Total line number = 1 It costs 0.244s ``` -## 逻辑运算符 +## 3 逻辑运算符 -### 1. 概述 +### 3.1 概述 逻辑运算符用于组合条件或否定条件,返回布尔结果(`true` 或 `false`)。 @@ -313,9 +313,9 @@ It costs 0.244s | OR | 任一值为 true 时为 true | a OR b | | NOT | 当值为 false 时为 true | NOT a | -### 2. NULL 对逻辑运算符的影响 +### 3.2 NULL 对逻辑运算符的影响 -#### 2.1 AND 运算符 +#### 3.2.1 AND 运算符 - 如果表达式的一侧或两侧为 `NULL`,结果可能为 `NULL`。 - 如果 `AND` 运算符的一侧为 `FALSE`,则表达式结果为 `FALSE`。 @@ -328,7 +328,7 @@ NULL AND false -- false NULL AND NULL -- null ``` -#### 2.2 OR 运算符 +#### 3.2.2 OR 运算符 - 如果表达式的一侧或两侧为 `NULL`,结果可能为 `NULL`。 - 如果 `OR` 运算符的一侧为 `TRUE`,则表达式结果为 `TRUE`。 @@ -341,7 +341,7 @@ NULL OR false -- null NULL OR true -- true ``` -##### 2.2.1 真值表 +##### 3.2.2.1 真值表 以下真值表展示了 `NULL` 在 `AND` 和 `OR` 运算符中的处理方式: @@ -357,7 +357,7 @@ NULL OR true -- true | NULL | FALSE | FALSE | NULL | | NULL | NULL | NULL | NULL | -#### 2.3 NOT 运算符 +#### 3.2.3 NOT 运算符 NULL 的逻辑否定仍然是 NULL @@ -367,7 +367,7 @@ NULL 的逻辑否定仍然是 NULL NOT NULL -- null ``` -##### 2.3.1真值表 +##### 3.2.3.1真值表 以下真值表展示了 `NULL` 在 `NOT` 运算符中的处理方式: @@ -378,13 +378,13 @@ NOT NULL -- null | NULL | NULL | -## 日期和时间函数和运算符 +## 4 日期和时间函数和运算符 -### 1. now() -> Timestamp +### 4.1 now() -> Timestamp 返回当前时间的时间戳。 -### 2. date_bin(interval, Timestamp[, Timestamp]) -> Timestamp +### 4.2 date_bin(interval, Timestamp[, Timestamp]) -> Timestamp `date_bin` 函数是一种用于处理时间数据的函数,作用是将一个时间戳(Timestamp)舍入到指定的时间间隔(interval)的边界上。 @@ -410,7 +410,7 @@ date_bin(interval,source,origin) | source | 待计算时间列,也可以是表达式。必须为时间戳类型。 | | origin | 起始时间戳 | -#### 2.1 语法约定: +#### 4.2.1 语法约定: 1. 不传入 `origin` 时,起始时间戳从 1970-01-01T00:00:00Z 开始计算(北京时间为 1970-01-01 08:00:00)。 2. `interval` 为一个非负数,且必须带上时间单位。`interval` 为 0ms 时,不进行计算,直接返回 `source`。 @@ -420,7 +420,7 @@ date_bin(interval,source,origin) > 假设是起始时间是 2000 年 4 月 30 日进行计算,那么在一个时间间隔后,如果是先算 DAY再算MONTH,则会得到 2000 年 6 月 1 日,如果先算 MONTH 再算 DAY 则会得到 2000 年 5 月 31 日,二者得出的时间日期不同。 -#### 2.2 示例 +#### 4.2.2 示例 ##### 示例数据 @@ -621,9 +621,9 @@ Total line number = 18 It costs 0.319s ``` -## 数学函数和运算符 +## 5 数学函数和运算符 -### 1. 数学运算符 +### 5.1 数学运算符 | **运算符** | **描述** | | ---------- | ------------------------ | @@ -634,7 +634,7 @@ It costs 0.319s | % | 模(余数) | | - | 取反 | -### 2. 数学函数 +### 5.2 数学函数 | 函数名 | 描述 | 输入 | 输出 | 用法 | | ---------------------------- | ------------------------------------------------------------ | --------------------------- | ---------------------- | ---------- | @@ -662,13 +662,13 @@ It costs 0.319s | e | 自然指数 | | double | e() | | pi | π | | double | pi() | -## 条件表达式 +## 6 条件表达式 -### 1.CASE 表达式 +### 6.1 CASE 表达式 CASE 表达式有两种形式:简单形式、搜索形式 -#### 1.1 简单形式 +#### 6.1.1 简单形式 简单形式从左到右搜索每个值表达式,直到找到一个与表达式相等的值: @@ -691,7 +691,7 @@ SELECT a, END ``` -#### 1.2 搜索形式 +#### 6.1.2 搜索形式 搜索形式从左到右评估每个布尔条件,直到找到一个为真的条件,并返回相应的结果: @@ -714,7 +714,7 @@ SELECT a, b, END ``` -### 2. COALESCE 函数 +### 6.2. COALESCE 函数 返回参数列表中的第一个非空值。 @@ -722,11 +722,11 @@ SELECT a, b, coalesce(value1, value2[, ...]) ``` -## 转换函数 +## 7 转换函数 -### 1. 转换函数 +### 7.1 转换函数 -#### 1.1 cast(value AS type) → type +#### 7.1.1 cast(value AS type) → type 1. 显式地将一个值转换为指定类型。 2. 可以用于将字符串(varchar)转换为数值类型,或数值转换为字符串类型。 @@ -741,7 +741,7 @@ SELECT * IN (CAST('2024-11-27' AS DATE), CAST('2024-11-28' AS DATE)); ``` -#### 1.2 try_cast(value AS type) → type +#### 7.1.2 try_cast(value AS type) → type 1. 与 `cast()` 类似。 2. 如果转换失败,则返回 `null`。 @@ -755,19 +755,19 @@ SELECT * IN (try_cast('2024-11-27' AS DATE), try_cast('2024-11-28' AS DATE)); ``` -## 字符串函数和操作符 +## 8 字符串函数和操作符 -### 1. 字符串操作符 +### 8.1 字符串操作符 -#### 1.1 || 操作符 +#### 8.1.1 || 操作符 `||` 操作符用于字符串连接,功能与 `concat` 函数相同。 -#### 1.2 LIKE 语句 +#### 8.1.2 LIKE 语句 `LIKE` 语句用于模式匹配,具体用法在[模式匹配:LIKE](#1-like-运算符) 中有详细文档。 -### 2. 字符串函数 +### 8.2 字符串函数 | 函数名 | 描述 | 输入 | 输出 | 用法 | | ----------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | @@ -785,33 +785,33 @@ SELECT * | substring | 从指定位置提取字符到字符串末尾。需要注意的是,起始位置是基于字符而不是字节数组确定的。`start_index` 从 1 开始计数,长度从 `start_index` 位置计算。 | 支持两个参数**string**:要提取子字符串的源字符串,可以是字符串或文本类型。**start_index**:从哪个索引开始提取子字符串,索引从 1 开始计数。 | String:返回一个字符串,从 `start_index` 位置开始到字符串末尾的所有字符。**注意事项**:`start_index` 从 1 开始,即数组的第 0 个位置是 1参数为 null时,返回 `null`start_index 大于字符串长度时,结果报错。 | substring(string from start_index)或 substring(string, start_index) | | substring | 从一个字符串中提取从指定位置开始、指定长度的子字符串注意:起始位置和长度是基于字符而不是字节数组确定的。`start_index` 从 1 开始计数,长度从 `start_index` 位置计算。 | 支持三个参数**string**:要提取子字符串的源字符串,可以是字符串或文本类型。**start_index**:从哪个索引开始提取子字符串,索引从 1 开始计数。**length**:要提取的子字符串的长度。 | String:返回一个字符串,从 `start_index` 位置开始,提取 `length` 个字符。**注意事项**:参数为 null时,返回 `null`如果 `start_index` 大于字符串的长度,结果报错。如果 `length` 小于 0,结果报错。极端情况,`start_index + length` 超过 `int.MAX` 并变成负数,将导致异常结果。 | substring(string from start_index for length) 或 substring(string, start_index, length) | -## 模式匹配函数 +## 9 模式匹配函数 -### 1. LIKE 运算符 +### 9.1 LIKE 运算符 -#### 1.1 用途 +#### 9.1.1 用途 `LIKE` 运算符用于将值与模式进行比较。它通常用于 `WHERE` 子句中,用于匹配字符串中的特定模式。 -#### 1.2 语法 +#### 9.1.2 语法 ```SQL ... column [NOT] LIKE 'pattern' ESCAPE 'character'; ``` -#### 1.3 匹配规则 +#### 9.1.3 匹配规则 - 匹配字符是区分大小写的。 - 模式支持两个匹配符号: - `_`:匹配任意单个字符。 - `%`:匹配0个或多个字符。 -#### 1.4 注意事项 +#### 9.1.4 注意事项 - `LIKE` 模式匹配总是覆盖整个字符串。如果需要匹配字符串中的任意位置,模式必须以 `%` 开头和结尾。 - 如果需要匹配 `%` 或 `_` 作为普通字符,必须使用转义字符。 -#### 1.5 示例 +#### 9.1.5 示例 示例 1:匹配以特定字符开头的字符串 @@ -853,19 +853,19 @@ SELECT * FROM table1 WHERE continent LIKE 'South\_%' ESCAPE '\'; SELECT * FROM table1 WHERE continent LIKE 'South\\%' ESCAPE '\'; ``` -### 2. regexp_like 函数 +### 9.2 regexp_like 函数 -#### 2.1 用途 +#### 9.2.1 用途 `regexp_like` 函数用于评估正则表达式模式,并确定该模式是否包含在字符串中。 -#### 2.2 语法 +#### 9.2.2 语法 ```SQL regexp_like(string, pattern); ``` -#### 2.3 注意事项 +#### 9.2.3 注意事项 - `regexp_like` 的模式只需包含在字符串中,而不需要匹配整个字符串。 - 如果需要匹配整个字符串,可以使用正则表达式的锚点 `^` 和 `$`。 @@ -888,7 +888,7 @@ regexp_like(string, pattern); 4. **类别(Categories)**:直接指定,无需`Is`、`general_category=`或`gc=`前缀(如`\p{L}`)。 5. **二元属性(Binary Properties)**:直接指定,无需`Is`(如`\p{NoncharacterCodePoint}`)。 -#### 2.4 示例 +#### 9.2.4 示例 示例 1:匹配包含特定模式的字符串 diff --git a/src/zh/UserGuide/latest-Table/SQL-Manual/Featured-Functions.md b/src/zh/UserGuide/latest-Table/SQL-Manual/Featured-Functions.md index 48ae31490..cc8d96490 100644 --- a/src/zh/UserGuide/latest-Table/SQL-Manual/Featured-Functions.md +++ b/src/zh/UserGuide/latest-Table/SQL-Manual/Featured-Functions.md @@ -21,11 +21,11 @@ # 特色函数 -## 时序特色函数 +## 1 时序特色函数 -### 1. 降采样函数 +### 1.1 降采样函数 -#### 1.1 `date_bin` 函数 +#### 1.1.1 `date_bin` 函数 ##### 功能描述: @@ -117,7 +117,7 @@ SELECT date_bin(1h, time) AS hour_time, avg(temperature) AS avg_temp +-----------------------------+--------+ ``` -#### 1.2 `date_bin_gapfill` 函数 +#### 1.1.2 `date_bin_gapfill` 函数 ##### 功能描述 @@ -215,7 +215,7 @@ GROUP BY 1, device_id; +---------+---------+--------+ ``` -### 2. DIFF函数 +### 1.2 DIFF函数 ##### 功能概述 diff --git a/src/zh/UserGuide/latest-Table/SQL-Manual/Having-Clause.md b/src/zh/UserGuide/latest-Table/SQL-Manual/Having-Clause.md index 98412d6b2..383d9e770 100644 --- a/src/zh/UserGuide/latest-Table/SQL-Manual/Having-Clause.md +++ b/src/zh/UserGuide/latest-Table/SQL-Manual/Having-Clause.md @@ -39,7 +39,7 @@ HAVING booleanExpression 在[示例数据页面](../Reference/Sample-Data.md)中,包含了用于构建表结构和插入数据的SQL语句,下载并在IoTDB CLI中执行这些语句,即可将数据导入IoTDB,您可以使用这些数据来测试和执行示例中的SQL语句,并获得相应的结果。 -#### 示例 1:过滤计数低于特定值的设备 +### 2.1 示例 1:过滤计数低于特定值的设备 查询将计算 `table1` 表中每个 `device_id` 的条目数,并过滤掉那些计数低于 5 的设备。 @@ -63,7 +63,7 @@ Total line number = 2 It costs 0.063s ``` -### 示例 2:计算每个设备的每小时平均温度并过滤 +### 2.2 示例 2:计算每个设备的每小时平均温度并过滤 查询将计算 `table1` 表中每个设备每小时的平均温度,并过滤掉那些平均温度低于 27.2 的设备。 diff --git a/src/zh/UserGuide/latest-Table/Tools-System/Benchmark.md b/src/zh/UserGuide/latest-Table/Tools-System/Benchmark.md index aa7251fae..fc16a9b35 100644 --- a/src/zh/UserGuide/latest-Table/Tools-System/Benchmark.md +++ b/src/zh/UserGuide/latest-Table/Tools-System/Benchmark.md @@ -55,7 +55,7 @@ IoT-benchmark 是基于 Java 和大数据环境开发的时序数据库基准测 ## 2 安装运行 -### 前置条件 +### 2.1 前置条件 1. Java 8 2. Maven 3.6+ @@ -63,7 +63,7 @@ IoT-benchmark 是基于 Java 和大数据环境开发的时序数据库基准测 -### 获取方式 +### 2.2 获取方式 - 获取二进制包:进入[这里](https://github.com/thulab/iot-benchmark/releases) 下载需要的安装包。下载下来为一个压缩文件,选择文件夹解压即可使用。 - 源代码编译(可用户 Apache IoTDB 2.0 的测试): @@ -71,7 +71,7 @@ IoT-benchmark 是基于 Java 和大数据环境开发的时序数据库基准测 - 第二步(编译 IoTDB Benchmark 测试包):进入[官网](https://github.com/thulab/iot-benchmark)下载源码,在根目录下运行 mvn clean package install -pl iotdb-2.0 -am -DskipTests 编译测试 Apache IoTDB 2.0版本的测试包,测试包位置与根目录的相对路径为 ./iotdb-2.0/target/iotdb-2.0-0.0.1/iotdb-2.0-0.0.1 -### 测试包结构 +### 2.3 测试包结构 测试包的目录结构如下所示。其中测试配置文件为conf/config.properties,测试启动脚本为benchmark\.sh (Linux & MacOS) 和 benchmark.bat (Windows),详细文件用途见下表所示。 @@ -101,14 +101,14 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib 表1-2文件和文件夹列表用途 -### 执行测试 +### 2.4 执行测试 1. 按照测试需求修改配置文件,主要参数介绍见 1.2 节,对应配置文件为conf/config.properties,**比如测试Apache IoTDB 1.0,则需要修改 DB_SWITCH=IoTDB-100-SESSION_BY_TABLET** 2. 启动被测时间序列数据库 3. 通过运行 4. 启动IoT-benchmark执行测试。执行中观测被测时间序列数据库和IoT-benchmark状态,执行完毕后查看结果和分析测试过程。 -### 结果说明 +### 2.5 结果说明 测试的所有日志文件被存放于 logs 文件夹下,测试的结果在测试完成后被存放到 data/csvOutput 文件夹下,例如测试后我们得到了如下的结果矩阵: @@ -126,10 +126,10 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib -## 主要参数 +## 3 主要参数 -### IoTDB服务模型 +### 3.1 IoTDB服务模型 参数`IoTDB_DIALECT_MODE`支持tree、table,默认值为tree。 @@ -145,7 +145,7 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib | SENSOR_NUMBER | 整数 | 10 | IoTDB 表模型下(IoTDB_DIALECT_MODE=table),则控制属性列数量 | | IoTDB_TABLE_NUMBER | 整数 | 1 | IoTDB 表模型下(IoTDB_DIALECT_MODE=table),表的数量 | -### 工作模式 +### 3.2 工作模式 工作模式参数“`BENCHMARK_WORK_MODE`”可选项有如下四种模式: @@ -161,7 +161,7 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib | 单数据库正确性写入模式 | verificationWriteMode | 需要配置 FILE_PATH 以及 DATA_SET | | 单数据库正确性查询模式 | verificationQueryMode | 需要配置 FILE_PATH 以及 DATA_SET | -### 服务器连接信息 +### 3.3 服务器连接信息 工作模式指定后,被测时序数据库的信息会通过如下参数告知IoT-benchmark @@ -175,7 +175,7 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib | DB_NAME | 字符串 | test | 被测时序数据库名称 | | TOKEN | 字符串 | | 被测时序数据库连接认证Token(InfluxDB 2.0使用) | -### 写入场景 +### 3.4 写入场景 | **参数名称** | **类型** | **示例** | **系统描述** | | :------------------------- | :------- | :------------------------ | :----------------------------------------------------------- | @@ -194,7 +194,7 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib | OPERATION_PROPORTION | 字符 | 1:0:0:0:0:0:0:0:0:0:0 | # 各操作的比例,按照顺序为 写入:Q1:Q2:Q3:Q4:Q5:Q6:Q7:Q8:Q9:Q10, 请注意使用英文冒号。比例中的每一项是整数。 | -### 查询场景 +### 3.5 查询场景 | 参数名称 | 类型 | 示例 | 系统描述 | | :------------------- | :--- | :-------------------- | :----------------------------------------------------------- | @@ -209,7 +209,7 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib | OPERATION_PROPORTION | 字符 | 0:0:0:0:0:0:0:0:0:0:1 | 写入:Q1:Q2:Q3:Q4:Q5:Q6:Q7:Q8:Q9:Q10 | -### 操作比例 +### 3.6 操作比例 | 编号 | 查询类型 | IoTDB 示例 SQL | | :--- | :--------------------------- | :----------------------------------------------------------- | @@ -224,7 +224,7 @@ drwxr-xr-x. 2 root root 4096 1月 10 01:38 lib | Q9 | 倒序范围查询 | select v1 from root.sg.d1 where time > ? and time < ? order by time desc | | Q10 | 倒序带值过滤的范围查询 | select v1 from root.sg.d1 where time > ? and time < ? and v1 > ? order by time desc | -### 测试过程和测试结果持久化 +### 3.7 测试过程和测试结果持久化 IoT-benchmark目前支持通过配置参数将测试过程和测试结果持久化: @@ -242,7 +242,7 @@ IoT-benchmark目前支持通过配置参数将测试过程和测试结果持久 - 如果我们设置“`TEST_DATA_PERSISTENCE=CSV`”,测试执行时和执行完毕后我们可以在IoT-benchmark根目录下看到新生成的`data`文件夹,其下包含`csv`文件夹记录测试过程;`csvOutput`文件夹记录测试结果。 - 如果我们设置“`TEST_DATA_PERSISTENCE=MySQL`”,它会在测试开始前在指定的MySQL数据库中创建命名如“testWithDefaultPath_被测数据库名称_备注_测试启动时间”的数据表记录测试过程;会在名为“CONFIG”的数据表(如果不存在则创建该表),写入本次测试的配置信息;当测试完成时会在名为“FINAL_RESULT”的数据表(如果不存在则创建该表)中写入本次测试结果。 -### 自动化脚本 +### 3.8 自动化脚本 #### 一键化启动脚本 @@ -305,7 +305,7 @@ LOOP=50 DEVICE_NUMBER=20 TEST > tail -f log_info.log ``` -## 测试示例 +## 4 测试示例 以IoTDB 2.0为例,使用IoT-Benchemark测试表模型写入及查询,修改IoT-Benchemark配置文件如下: diff --git a/src/zh/UserGuide/latest-Table/Tools-System/Maintenance-Tool_apache.md b/src/zh/UserGuide/latest-Table/Tools-System/Maintenance-Tool_apache.md index 57b527ccb..9062be9fb 100644 --- a/src/zh/UserGuide/latest-Table/Tools-System/Maintenance-Tool_apache.md +++ b/src/zh/UserGuide/latest-Table/Tools-System/Maintenance-Tool_apache.md @@ -21,11 +21,11 @@ # 集群管理工具 -## 数据文件夹概览工具 +## 1 数据文件夹概览工具 IoTDB数据文件夹概览工具用于打印出数据文件夹的结构概览信息,工具位置为 tools/tsfile/print-iotdb-data-dir。 -### 用法 +### 1.1 用法 - Windows: @@ -41,7 +41,7 @@ IoTDB数据文件夹概览工具用于打印出数据文件夹的结构概览信 注意:如果没有设置输出结果的存储路径, 将使用相对路径"IoTDB_data_dir_overview.txt"作为默认值。 -### 示例 +### 1.2 示例 以Windows系统为例: @@ -82,11 +82,11 @@ data dir num:1 |============================================================== ````````````````````````` -## TsFile概览工具 +## 2 TsFile概览工具 TsFile概览工具用于以概要模式打印出一个TsFile的内容,工具位置为 tools/tsfile/print-tsfile。 -### 用法 +### 2.1 用法 - Windows: @@ -102,7 +102,7 @@ TsFile概览工具用于以概要模式打印出一个TsFile的内容,工具 注意:如果没有设置输出结果的存储路径, 将使用相对路径"TsFile_sketch_view.txt"作为默认值。 -### 示例 +### 2.2 示例 以Windows系统为例: @@ -170,11 +170,11 @@ file length: 2974 - "|||||||||||||||||||||"是为增强可读性而添加的导引信息,不是TsFile中实际存储的数据。 - 最后打印的"IndexOfTimerseriesIndex Tree"是对TsFile文件末尾的元数据索引树的重新整理打印,便于直观理解,不是TsFile中存储的实际数据。 -## TsFile Resource概览工具 +## 3 TsFile Resource概览工具 TsFile resource概览工具用于打印出TsFile resource文件的内容,工具位置为 tools/tsfile/print-tsfile-resource-files。 -### 用法 +### 3.1 用法 - Windows: @@ -188,7 +188,7 @@ TsFile resource概览工具用于打印出TsFile resource文件的内容,工 ./print-tsfile-resource-files.sh ``` -### 示例 +### 3.2 示例 以Windows系统为例: diff --git a/src/zh/UserGuide/latest-Table/Tools-System/Maintenance-Tool_timecho.md b/src/zh/UserGuide/latest-Table/Tools-System/Maintenance-Tool_timecho.md index 1c206edc5..74df81723 100644 --- a/src/zh/UserGuide/latest-Table/Tools-System/Maintenance-Tool_timecho.md +++ b/src/zh/UserGuide/latest-Table/Tools-System/Maintenance-Tool_timecho.md @@ -21,11 +21,11 @@ # 集群管理工具 -## 集群管理工具 +## 1 集群管理工具 IoTDB 集群管理工具是一款易用的运维工具(企业版工具)。旨在解决 IoTDB 分布式系统多节点的运维难题,主要包括集群部署、集群启停、弹性扩容、配置更新、数据导出等功能,从而实现对复杂数据库集群的一键式指令下发,极大降低管理难度。本文档将说明如何用集群管理工具远程部署、配置、启动和停止 IoTDB 集群实例。 -### 环境准备 +### 1.1 环境准备 本工具为 TimechoDB(基于IoTDB的企业版数据库)配套工具,您可以联系您的销售获取工具下载方式。 @@ -33,7 +33,7 @@ IoTDB 要部署的机器需要依赖jdk 8及以上版本、lsof、netstat、unzi 提示:IoTDB集群管理工具需要使用有root权限的账号 -### 部署方法 +### 1.2 部署方法 #### 下载安装 @@ -59,7 +59,7 @@ iotdbctl cluster check example /sbin/iotdbctl cluster check example ``` -### 系统结构 +### 1.3 系统结构 IoTDB集群管理工具主要由config、logs、doc、sbin目录组成。 @@ -69,7 +69,7 @@ IoTDB集群管理工具主要由config、logs、doc、sbin目录组成。 * `doc` 存放用户手册、开发手册和推荐部署手册。 -### 集群配置文件介绍 +### 1.4 集群配置文件介绍 * 在`iotdbctl/config` 目录下有集群配置的yaml文件,yaml文件名字就是集群名字yaml 文件可以有多个,为了方便用户配置yaml文件在iotd/config目录下面提供了`default_cluster.yaml`示例。 * yaml 文件配置由`global`、`confignode_servers`、`datanode_servers`、`grafana_server`、`prometheus_server`四大部分组成 @@ -176,7 +176,7 @@ IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -XX:MaxGCPauseMillis=200" 注意:如何配置yaml key对应的值包含特殊字符如:等建议整个value使用双引号,对应的文件路径中不要使用包含空格的路径,防止出现识别出现异常问题。 -### 使用场景 +### 1.5 使用场景 #### 清理数据场景 @@ -269,7 +269,7 @@ iotdbctl cluster start default_cluster 更加详细参数请参考上方的 集群配置文件介绍 -### 命令格式 +### 1.6 命令格式 本工具的基本用法为: ```bash @@ -318,7 +318,7 @@ iotdbctl cluster deploy default_cluster | exportschema | 元数据导出 | 集群名字,-N,节点名称(必填) -param 参数 | -### 详细命令执行过程 +### 1.7 详细命令执行过程 下面的命令都是以default_cluster.yaml 为示例执行的,用户可以修改成自己的集群文件来执行 @@ -701,7 +701,7 @@ iotdbctl cluster activate default_cluster -op license_path * 读取里面的机器码 * 等待输入激活码 -### 集群plugin分发 +### 1.8 集群plugin分发 ```bash #分发udf iotdbctl cluster dist-plugin default_cluster -type U -file /xxxx/udf.jar @@ -716,7 +716,7 @@ iotdbctl cluster dist-plugin default_cluster -type P -file /xxxx/pipe.jar 上传完成后需要手动执行创建udf/trigger/pipe命令 -### 集群滚动升级 +### 1.9 集群滚动升级 ```bash iotdbctl cluster upgrade default_cluster ``` @@ -727,7 +727,7 @@ iotdbctl cluster upgrade default_cluster -### 集群健康检查 +### 1.10 集群健康检查 ```bash iotdbctl cluster health_check default_cluster ``` @@ -742,7 +742,7 @@ iotdbctl cluster health_check default_cluster -N datanode_1 * datanode1 执行health_check.sh -### 集群停机备份 +### 1.11 集群停机备份 ```bash iotdbctl cluster backup default_cluster ``` @@ -758,7 +758,7 @@ iotdbctl cluster backup default_cluster -N datanode_1 说明:多个节点部署到单台机器,只支持 quick 模式 -### 集群元数据导入 +### 1.12 集群元数据导入 ```bash iotdbctl cluster importschema default_cluster -N datanode1 -param "-s ./dump0.csv -fd ./failed/ -lpf 10000" @@ -776,7 +776,7 @@ iotdbctl cluster importschema default_cluster -N datanode1 -param "-s ./dump0.cs -### 集群元数据导出 +### 1.13 集群元数据导出 ```bash iotdbctl cluster exportschema default_cluster -N datanode1 -param "-t ./ -pf ./pattern.txt -lpf 10 -t 10000" @@ -796,7 +796,7 @@ iotdbctl cluster exportschema default_cluster -N datanode1 -param "-t ./ -pf ./p -### 集群部署工具样例介绍 +### 1.14 集群部署工具样例介绍 在集群部署工具安装目录中config/example 下面有3个yaml样例,如果需要可以复制到config 中进行修改即可 | 名称 | 说明 | @@ -805,11 +805,11 @@ iotdbctl cluster exportschema default_cluster -N datanode1 -param "-t ./ -pf ./p | default_3c3d.yaml | 3个confignode和3个datanode 配置样例 | | default_3c3d_grafa_prome | 3个confignode和3个datanode、Grafana、Prometheus配置样例 | -## 数据文件夹概览工具 +## 2 数据文件夹概览工具 IoTDB数据文件夹概览工具用于打印出数据文件夹的结构概览信息,工具位置为 tools/tsfile/print-iotdb-data-dir。 -### 用法 +### 2.1 用法 - Windows: @@ -825,7 +825,7 @@ IoTDB数据文件夹概览工具用于打印出数据文件夹的结构概览信 注意:如果没有设置输出结果的存储路径, 将使用相对路径"IoTDB_data_dir_overview.txt"作为默认值。 -### 示例 +### 2.2 示例 以Windows系统为例: @@ -866,11 +866,11 @@ data dir num:1 |============================================================== ````````````````````````` -## TsFile概览工具 +## 3 TsFile概览工具 TsFile概览工具用于以概要模式打印出一个TsFile的内容,工具位置为 tools/tsfile/print-tsfile。 -### 用法 +### 3.1 用法 - Windows: @@ -886,7 +886,7 @@ TsFile概览工具用于以概要模式打印出一个TsFile的内容,工具 注意:如果没有设置输出结果的存储路径, 将使用相对路径"TsFile_sketch_view.txt"作为默认值。 -### 示例 +### 3.2 示例 以Windows系统为例: @@ -954,11 +954,11 @@ file length: 2974 - "|||||||||||||||||||||"是为增强可读性而添加的导引信息,不是TsFile中实际存储的数据。 - 最后打印的"IndexOfTimerseriesIndex Tree"是对TsFile文件末尾的元数据索引树的重新整理打印,便于直观理解,不是TsFile中存储的实际数据。 -## TsFile Resource概览工具 +## 4 TsFile Resource概览工具 TsFile resource概览工具用于打印出TsFile resource文件的内容,工具位置为 tools/tsfile/print-tsfile-resource-files。 -### 用法 +### 4.1 用法 - Windows: @@ -972,7 +972,7 @@ TsFile resource概览工具用于打印出TsFile resource文件的内容,工 ./print-tsfile-resource-files.sh ``` -### 示例 +### 4.2 示例 以Windows系统为例: diff --git a/src/zh/UserGuide/latest-Table/Tools-System/Monitor-Tool_apache.md b/src/zh/UserGuide/latest-Table/Tools-System/Monitor-Tool_apache.md index c2cdc0510..c6e0eb6cb 100644 --- a/src/zh/UserGuide/latest-Table/Tools-System/Monitor-Tool_apache.md +++ b/src/zh/UserGuide/latest-Table/Tools-System/Monitor-Tool_apache.md @@ -24,7 +24,7 @@ 监控工具的部署可参考文档 [监控面板部署](../Deployment-and-Maintenance/Monitoring-panel-deployment.md) 章节。 -## 监控指标的 Prometheus 映射关系 +## 1 监控指标的 Prometheus 映射关系 > 对于 Metric Name 为 name, Tags 为 K1=V1, ..., Kn=Vn 的监控指标有如下映射,其中 value 为具体值 @@ -36,7 +36,7 @@ | Rate | name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="m1"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="m5"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="m15"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="mean"} value | | Timer | name_seconds_max{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_seconds_sum{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_seconds_count{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_seconds{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", quantile="0.5"} value value
name_seconds{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", quantile="0.99"} value | -## 修改配置文件 +## 2 修改配置文件 1) 以 DataNode 为例,修改 iotdb-system.properties 配置文件如下: @@ -60,7 +60,7 @@ file_count{name="seq",} 2.0 ... ``` -## Prometheus + Grafana +## 3 Prometheus + Grafana 如上所示,IoTDB 对外暴露出标准的 Prometheus 格式的监控指标数据,可以使用 Prometheus 采集并存储监控指标,使用 Grafana 可视化监控指标。 @@ -102,7 +102,7 @@ static_configs: [Grafana从Prometheus查询数据并绘图的文档](https://prometheus.io/docs/visualization/grafana/#grafana-support-for-prometheus) -## Apache IoTDB Dashboard +## 4 Apache IoTDB Dashboard `Apache IoTDB Dashboard`是 IoTDB 企业版的配套产品,支持统一集中式运维管理,可通过一个监控面板监控多个集群。你可以联系商务获取到 Dashboard 的 Json文件。 @@ -112,7 +112,7 @@ static_configs: ![Apache IoTDB Dashboard](/img/%E7%9B%91%E6%8E%A7%20cluster2.png) -### 集群概览 +### 4.1 集群概览 可以监控包括但不限于: - 集群总CPU核数、总内存空间、总硬盘空间 @@ -124,7 +124,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E6%A6%82%E8%A7%88.png) -### 数据写入 +### 4.2 数据写入 可以监控包括但不限于: - 写入平均耗时、耗时中位数、99%分位耗时 @@ -133,7 +133,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E5%86%99%E5%85%A5.png) -### 数据查询 +### 4.3 数据查询 可以监控包括但不限于: - 节点查询加载时间序列元数据耗时 @@ -146,7 +146,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E6%9F%A5%E8%AF%A2.png) -### 存储引擎 +### 4.4 存储引擎 可以监控包括但不限于: - 分类型的文件数量、大小 @@ -155,7 +155,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E.png) -### 系统监控 +### 4.5 系统监控 可以监控包括但不限于: - 系统内存、交换内存、进程内存 diff --git a/src/zh/UserGuide/latest-Table/Tools-System/Monitor-Tool_timecho.md b/src/zh/UserGuide/latest-Table/Tools-System/Monitor-Tool_timecho.md index 9ee1b5d4b..3b0fa3cc5 100644 --- a/src/zh/UserGuide/latest-Table/Tools-System/Monitor-Tool_timecho.md +++ b/src/zh/UserGuide/latest-Table/Tools-System/Monitor-Tool_timecho.md @@ -24,7 +24,7 @@ 监控工具的部署可参考文档 [监控面板部署](../Deployment-and-Maintenance/Monitoring-panel-deployment.md) 章节。 -## 监控指标的 Prometheus 映射关系 +## 1 监控指标的 Prometheus 映射关系 > 对于 Metric Name 为 name, Tags 为 K1=V1, ..., Kn=Vn 的监控指标有如下映射,其中 value 为具体值 @@ -36,7 +36,7 @@ | Rate | name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="m1"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="m5"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="m15"} value
name_total{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", rate="mean"} value | | Timer | name_seconds_max{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_seconds_sum{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_seconds_count{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn"} value
name_seconds{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", quantile="0.5"} value value
name_seconds{cluster="clusterName", nodeType="nodeType", nodeId="nodeId",k1="V1" , ..., Kn="Vn", quantile="0.99"} value | -## 修改配置文件 +## 2 修改配置文件 1) 以 DataNode 为例,修改 iotdb-system.properties 配置文件如下: @@ -60,7 +60,7 @@ file_count{name="seq",} 2.0 ... ``` -## Prometheus + Grafana +## 3 Prometheus + Grafana 如上所示,IoTDB 对外暴露出标准的 Prometheus 格式的监控指标数据,可以使用 Prometheus 采集并存储监控指标,使用 Grafana 可视化监控指标。 @@ -102,7 +102,7 @@ static_configs: [Grafana从Prometheus查询数据并绘图的文档](https://prometheus.io/docs/visualization/grafana/#grafana-support-for-prometheus) -## Apache IoTDB Dashboard +## 4 Apache IoTDB Dashboard 我们提供了Apache IoTDB Dashboard,支持统一集中式运维管理,可通过一个监控面板监控多个集群。 @@ -112,7 +112,7 @@ static_configs: 你可以在企业版中获取到 Dashboard 的 Json文件。 -### 集群概览 +### 4.1 集群概览 可以监控包括但不限于: - 集群总CPU核数、总内存空间、总硬盘空间 @@ -124,7 +124,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E6%A6%82%E8%A7%88.png) -### 数据写入 +### 4.2 数据写入 可以监控包括但不限于: - 写入平均耗时、耗时中位数、99%分位耗时 @@ -133,7 +133,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E5%86%99%E5%85%A5.png) -### 数据查询 +### 4.3 数据查询 可以监控包括但不限于: - 节点查询加载时间序列元数据耗时 @@ -146,7 +146,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E6%9F%A5%E8%AF%A2.png) -### 存储引擎 +### 4.4 存储引擎 可以监控包括但不限于: - 分类型的文件数量、大小 @@ -155,7 +155,7 @@ static_configs: ![](/img/%E7%9B%91%E6%8E%A7%20%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E.png) -### 系统监控 +### 4.5 系统监控 可以监控包括但不限于: - 系统内存、交换内存、进程内存 diff --git a/src/zh/UserGuide/latest-Table/User-Manual/Data-Sync_timecho.md b/src/zh/UserGuide/latest-Table/User-Manual/Data-Sync_timecho.md index bd7f6661f..b781b6a7b 100644 --- a/src/zh/UserGuide/latest-Table/User-Manual/Data-Sync_timecho.md +++ b/src/zh/UserGuide/latest-Table/User-Manual/Data-Sync_timecho.md @@ -519,7 +519,7 @@ pipe_all_sinks_rate_limit_bytes_per_second=-1 > - **false**:该取值下,任务将对数据进行批量(按底层数据文件)处理、发送,其特点是低时效、高吞吐 -## sink 参数 +### sink 参数 #### iotdb-thrift-sink diff --git a/src/zh/UserGuide/latest-Table/User-Manual/Query-Performance-Analysis.md b/src/zh/UserGuide/latest-Table/User-Manual/Query-Performance-Analysis.md index b577983a8..8ba60dff6 100644 --- a/src/zh/UserGuide/latest-Table/User-Manual/Query-Performance-Analysis.md +++ b/src/zh/UserGuide/latest-Table/User-Manual/Query-Performance-Analysis.md @@ -20,7 +20,7 @@ --> # 系统运维 -## 查询性能分析 +## 1 查询性能分析 查询分析的意义在于帮助用户理解查询的执行机制和性能瓶颈,从而实现查询优化和性能提升。这不仅关乎到查询的执行效率,也直接影响到应用的用户体验和资源的有效利用。为了进行有效的查询分析,IoTDB 提供了查询分析语句:Explain 和 Explain Analyze。 @@ -33,7 +33,7 @@ | 监控面板 | 中。需要安装IoTDB监控面板工具(企业版工具),并开启IoTDB监控服务 | 中。IoTDB监控服务记录指标会带来额外耗时 | 支持分布式,仅支持对数据库整体查询负载和耗时进行分析 | | Arthas抽样 | 中。需要安装Java Arthas工具(部分内网无法直接安装Arthas,且安装后,有时需要重启应用) | 高。CPU 抽样可能会影响线上业务的响应速度 | 不支持分布式,仅支持对数据库整体查询负载和耗时进行分析 | -### Explain 语句 +### 1.1 Explain 语句 #### 语法 @@ -98,7 +98,7 @@ explain select * from t1; ``` -### Explain Analyze 语句 +### 1.2 Explain Analyze 语句 #### 语法 @@ -292,7 +292,7 @@ explain analyze verbose select * from t1; +-----------------------------------------------------------------------------------------------+ ``` -### 常见问题 +### 1.3 常见问题 #### 1. WALL TIME(墙上时间)和 CPU TIME(CPU时间)的区别? diff --git a/src/zh/UserGuide/latest-Table/User-Manual/Tiered-Storage_timecho.md b/src/zh/UserGuide/latest-Table/User-Manual/Tiered-Storage_timecho.md index 501a3966f..7e3d3bfce 100644 --- a/src/zh/UserGuide/latest-Table/User-Manual/Tiered-Storage_timecho.md +++ b/src/zh/UserGuide/latest-Table/User-Manual/Tiered-Storage_timecho.md @@ -20,11 +20,11 @@ --> # 多级存储 -## 概述 +## 1 概述 多级存储功能向用户提供多种存储介质管理的能力,用户可以使用多级存储功能为 IoTDB 配置不同类型的存储介质,并为存储介质进行分级。具体的,在 IoTDB 中,多级存储的配置体现为多目录的管理。用户可以将多个存储目录归为同一类,作为一个“层级”向 IoTDB 中配置,这种“层级”我们称之为 storage tier;同时,用户可以根据数据的冷热进行分类,并将不同类别的数据存储到指定的“层级”中。当前 IoTDB 支持通过数据的 TTL 进行冷热数据的分类,当一个层级中的数据不满足当前层级定义的 TTL 规则时,该数据会被自动迁移至下一层级中。 -## 参数定义 +## 2 参数定义 在 IoTDB 中开启多级存储,需要进行以下几个方面的配置: @@ -49,7 +49,7 @@ | remote_tsfile_cache_max_disk_usage_in_mb | 51200 | 云端存储本地缓存的最大磁盘占用大小 | 如果未使用远端存储,无需配置 | -## 本地多级存储配置示例 +## 3 本地多级存储配置示例 以下以本地两级存储的配置示例。 @@ -67,7 +67,7 @@ dn_default_space_usage_thresholds=0.2;0.1 | 层级一 | 目录一:/data1/data | 最近 1 天的数据 | 20% | | 层级二 | 目录一:/data2/data目录二:/data3/data | 1 天以前的数据 | 10% | -## 远端多级存储配置示例 +## 4 远端多级存储配置示例 以下以三级存储为例: