From 916ab72dada1bc406a4bb7f4d58e860467f2b0a7 Mon Sep 17 00:00:00 2001 From: Leto_b Date: Mon, 3 Mar 2025 17:14:29 +0800 Subject: [PATCH] add number point in tree-zh --- .../Tree/API/Programming-CSharp-Native-API.md | 16 +- .../Tree/API/Programming-Cpp-Native-API.md | 10 +- .../Tree/API/Programming-Data-Subscription.md | 6 +- .../Tree/API/Programming-Go-Native-API.md | 4 +- .../Master/Tree/API/Programming-JDBC.md | 4 +- .../Tree/API/Programming-Java-Native-API.md | 6 +- .../Master/Tree/API/Programming-Kafka.md | 2 +- .../Master/Tree/API/Programming-MQTT.md | 6 +- .../Tree/API/Programming-NodeJS-Native-API.md | 8 +- .../Master/Tree/API/Programming-ODBC.md | 4 +- .../Tree/API/Programming-OPC-UA_timecho.md | 6 +- .../Tree/API/Programming-Python-Native-API.md | 26 +- .../Tree/API/Programming-Rust-Native-API.md | 8 +- .../Master/Tree/API/RestServiceV1.md | 8 +- .../Master/Tree/API/RestServiceV2.md | 8 +- .../Cluster-Concept_apache.md | 6 +- .../Cluster-Concept_timecho.md | 6 +- .../Data-Model-and-Terminology_apache.md | 6 +- .../Data-Model-and-Terminology_timecho.md | 6 +- .../Tree/Background-knowledge/Data-Type.md | 4 +- .../Navigating_Time_Series_Data.md | 4 +- .../Basic-Concept/Operate-Metadata_apache.md | 8 +- .../Basic-Concept/Operate-Metadata_timecho.md | 8 +- .../Master/Tree/Basic-Concept/Query-Data.md | 20 +- .../Tree/Basic-Concept/Write-Delete-Data.md | 14 +- .../AINode_Deployment_apache.md | 8 +- .../AINode_Deployment_timecho.md | 8 +- .../Cluster-Deployment_apache.md | 10 +- .../Cluster-Deployment_timecho.md | 10 +- .../Database-Resources.md | 10 +- .../Deployment-form_apache.md | 6 +- .../Deployment-form_timecho.md | 8 +- .../Docker-Deployment_apache.md | 6 +- .../Docker-Deployment_timecho.md | 6 +- .../Dual-Active-Deployment_timecho.md | 6 +- .../Environment-Requirements.md | 6 +- .../IoTDB-Package_apache.md | 4 +- .../IoTDB-Package_timecho.md | 4 +- .../Monitoring-panel-deployment.md | 6 +- .../Stand-Alone-Deployment_apache.md | 6 +- .../Stand-Alone-Deployment_timecho.md | 6 +- .../workbench-deployment_timecho.md | 6 +- .../Tree/Ecosystem-Integration/DBeaver.md | 6 +- .../Tree/Ecosystem-Integration/DataEase.md | 8 +- .../Tree/Ecosystem-Integration/Flink-IoTDB.md | 6 +- .../Ecosystem-Integration/Flink-TsFile.md | 4 +- .../Grafana-Connector.md | 12 +- .../Ecosystem-Integration/Grafana-Plugin.md | 6 +- .../Tree/Ecosystem-Integration/Hive-TsFile.md | 12 +- .../Ignition-IoTDB-plugin_timecho.md | 8 +- .../Kubernetes_apache.md | 20 +- .../Kubernetes_timecho.md | 20 +- .../Tree/Ecosystem-Integration/NiFi-IoTDB.md | 10 +- .../Tree/Ecosystem-Integration/Spark-IoTDB.md | 10 +- .../Ecosystem-Integration/Spark-TsFile.md | 12 +- .../Tree/Ecosystem-Integration/Telegraf.md | 10 +- .../Tree/Ecosystem-Integration/Thingsboard.md | 8 +- .../Zeppelin-IoTDB_apache.md | 8 +- .../Zeppelin-IoTDB_timecho.md | 8 +- .../Tree/FAQ/Frequently-asked-questions.md | 261 ++++++++++++++++++ .../IoTDB-Introduction_apache.md | 8 +- .../IoTDB-Introduction_timecho.md | 8 +- .../Release-history_timecho.md | 4 +- .../Tree/IoTDB-Introduction/Scenario.md | 10 +- .../Tree/QuickStart/QuickStart_apache.md | 10 +- .../Tree/QuickStart/QuickStart_timecho.md | 10 +- .../Tree/Reference/Common-Config-Manual.md | 2 +- .../Reference/ConfigNode-Config-Manual.md | 4 +- .../DataNode-Config-Manual_apache.md | 8 +- .../DataNode-Config-Manual_timecho.md | 8 +- .../Tree/Reference/UDF-Libraries_apache.md | 6 +- .../SQL-Manual/Function-and-Expression.md | 28 +- .../Master/Tree/SQL-Manual/Keywords.md | 4 +- .../SQL-Manual/Operator-and-Expression.md | 4 +- .../Master/Tree/SQL-Manual/SQL-Manual.md | 28 +- .../Master/Tree/SQL-Manual/Syntax-Rule.md | 4 +- .../Tree/SQL-Manual/UDF-Libraries_apache.md | 18 +- .../Tree/SQL-Manual/UDF-Libraries_timecho.md | 18 +- .../Cluster-data-partitioning.md | 6 +- .../Encoding-and-Compression.md | 4 +- .../Master/Tree/Tools-System/Benchmark.md | 4 +- .../UserGuide/Master/Tree/Tools-System/CLI.md | 4 +- .../Tree/Tools-System/Data-Export-Tool.md | 8 +- .../Tree/Tools-System/Data-Import-Tool.md | 8 +- .../Tools-System/Maintenance-Tool_apache.md | 6 +- .../Tools-System/Maintenance-Tool_timecho.md | 8 +- .../Tree/Tools-System/Monitor-Tool_apache.md | 8 +- .../Tree/Tools-System/Monitor-Tool_timecho.md | 8 +- .../Tree/Tools-System/Workbench_timecho.md | 4 +- .../Master/Tree/User-Manual/AINode_apache.md | 12 +- .../Master/Tree/User-Manual/AINode_timecho.md | 12 +- .../Tree/User-Manual/Audit-Log_timecho.md | 4 +- .../Tree/User-Manual/Authority-Management.md | 18 +- .../Master/Tree/User-Manual/Data-Recovery.md | 4 +- .../Tree/User-Manual/Data-Sync_apache.md | 10 +- .../Tree/User-Manual/Data-Sync_timecho.md | 10 +- .../Tree/User-Manual/Data-subscription.md | 10 +- .../Tree/User-Manual/Database-Programming.md | 12 +- .../Tree/User-Manual/IoTDB-View_timecho.md | 8 +- .../Master/Tree/User-Manual/Load-Balance.md | 6 +- .../User-Manual/Query-Performance-Analysis.md | 2 +- .../Tree/User-Manual/Streaming_apache.md | 12 +- .../Tree/User-Manual/Streaming_timecho.md | 12 +- .../User-Manual/Tiered-Storage_timecho.md | 8 +- .../Master/Tree/User-Manual/Trigger.md | 10 +- .../Tree/User-Manual/UDF-development.md | 4 +- .../User-defined-function_apache.md | 10 +- .../User-defined-function_timecho.md | 10 +- .../Tree/User-Manual/White-List_timecho.md | 6 +- .../API/Programming-CSharp-Native-API.md | 16 +- .../latest/API/Programming-Cpp-Native-API.md | 10 +- .../API/Programming-Data-Subscription.md | 6 +- .../latest/API/Programming-Go-Native-API.md | 4 +- .../UserGuide/latest/API/Programming-JDBC.md | 4 +- .../latest/API/Programming-Java-Native-API.md | 6 +- .../UserGuide/latest/API/Programming-Kafka.md | 2 +- .../UserGuide/latest/API/Programming-MQTT.md | 6 +- .../API/Programming-NodeJS-Native-API.md | 8 +- .../UserGuide/latest/API/Programming-ODBC.md | 4 +- .../latest/API/Programming-OPC-UA_timecho.md | 6 +- .../API/Programming-Python-Native-API.md | 26 +- .../latest/API/Programming-Rust-Native-API.md | 8 +- src/zh/UserGuide/latest/API/RestServiceV1.md | 8 +- src/zh/UserGuide/latest/API/RestServiceV2.md | 8 +- .../Cluster-Concept_apache.md | 6 +- .../Cluster-Concept_timecho.md | 6 +- .../Data-Model-and-Terminology_apache.md | 6 +- .../Data-Model-and-Terminology_timecho.md | 6 +- .../latest/Background-knowledge/Data-Type.md | 4 +- .../Navigating_Time_Series_Data.md | 4 +- .../Basic-Concept/Operate-Metadata_apache.md | 8 +- .../Basic-Concept/Operate-Metadata_timecho.md | 8 +- .../latest/Basic-Concept/Query-Data.md | 20 +- .../latest/Basic-Concept/Write-Delete-Data.md | 12 +- .../AINode_Deployment_apache.md | 8 +- .../AINode_Deployment_timecho.md | 8 +- .../Cluster-Deployment_apache.md | 10 +- .../Cluster-Deployment_timecho.md | 10 +- .../Database-Resources.md | 10 +- .../Deployment-form_apache.md | 6 +- .../Deployment-form_timecho.md | 8 +- .../Docker-Deployment_apache.md | 6 +- .../Docker-Deployment_timecho.md | 6 +- .../Dual-Active-Deployment_timecho.md | 6 +- .../Environment-Requirements.md | 6 +- .../IoTDB-Package_apache.md | 4 +- .../IoTDB-Package_timecho.md | 4 +- .../Monitoring-panel-deployment.md | 6 +- .../Stand-Alone-Deployment_apache.md | 6 +- .../Stand-Alone-Deployment_timecho.md | 6 +- .../workbench-deployment_timecho.md | 6 +- .../latest/Ecosystem-Integration/DBeaver.md | 6 +- .../latest/Ecosystem-Integration/DataEase.md | 8 +- .../Ecosystem-Integration/Flink-IoTDB.md | 6 +- .../Ecosystem-Integration/Flink-TsFile.md | 4 +- .../Grafana-Connector.md | 12 +- .../Ecosystem-Integration/Grafana-Plugin.md | 6 +- .../Ecosystem-Integration/Hive-TsFile.md | 12 +- .../Ignition-IoTDB-plugin_timecho.md | 8 +- .../Kubernetes_apache.md | 20 +- .../Kubernetes_timecho.md | 20 +- .../Ecosystem-Integration/NiFi-IoTDB.md | 10 +- .../Ecosystem-Integration/Spark-IoTDB.md | 10 +- .../Ecosystem-Integration/Spark-TsFile.md | 12 +- .../latest/Ecosystem-Integration/Telegraf.md | 10 +- .../Ecosystem-Integration/Thingsboard.md | 8 +- .../Zeppelin-IoTDB_apache.md | 8 +- .../Zeppelin-IoTDB_timecho.md | 8 +- .../latest/FAQ/Frequently-asked-questions.md | 4 +- .../IoTDB-Introduction_apache.md | 8 +- .../IoTDB-Introduction_timecho.md | 8 +- .../Release-history_timecho.md | 4 +- .../latest/IoTDB-Introduction/Scenario.md | 10 +- .../latest/QuickStart/QuickStart_apache.md | 10 +- .../latest/QuickStart/QuickStart_timecho.md | 10 +- .../latest/Reference/Common-Config-Manual.md | 2 +- .../Reference/ConfigNode-Config-Manual.md | 4 +- .../DataNode-Config-Manual_apache.md | 8 +- .../DataNode-Config-Manual_timecho.md | 8 +- .../latest/Reference/UDF-Libraries_apache.md | 6 +- .../SQL-Manual/Function-and-Expression.md | 28 +- .../UserGuide/latest/SQL-Manual/Keywords.md | 4 +- .../SQL-Manual/Operator-and-Expression.md | 4 +- .../UserGuide/latest/SQL-Manual/SQL-Manual.md | 28 +- .../latest/SQL-Manual/Syntax-Rule.md | 4 +- .../latest/SQL-Manual/UDF-Libraries_apache.md | 18 +- .../SQL-Manual/UDF-Libraries_timecho.md | 18 +- .../Cluster-data-partitioning.md | 6 +- .../Encoding-and-Compression.md | 4 +- .../latest/Tools-System/Benchmark.md | 4 +- src/zh/UserGuide/latest/Tools-System/CLI.md | 4 +- .../latest/Tools-System/Data-Export-Tool.md | 8 +- .../latest/Tools-System/Data-Import-Tool.md | 8 +- .../Tools-System/Maintenance-Tool_apache.md | 6 +- .../Tools-System/Maintenance-Tool_timecho.md | 8 +- .../Tools-System/Monitor-Tool_apache.md | 8 +- .../Tools-System/Monitor-Tool_timecho.md | 8 +- .../latest/Tools-System/Workbench_timecho.md | 4 +- .../latest/User-Manual/AINode_apache.md | 12 +- .../latest/User-Manual/AINode_timecho.md | 12 +- .../latest/User-Manual/Audit-Log_timecho.md | 4 +- .../User-Manual/Authority-Management.md | 16 +- .../latest/User-Manual/Data-Recovery.md | 4 +- .../latest/User-Manual/Data-Sync_apache.md | 10 +- .../latest/User-Manual/Data-Sync_timecho.md | 10 +- .../latest/User-Manual/Data-subscription.md | 10 +- .../User-Manual/Database-Programming.md | 12 +- .../latest/User-Manual/IoTDB-View_timecho.md | 8 +- .../latest/User-Manual/Load-Balance.md | 6 +- .../User-Manual/Query-Performance-Analysis.md | 2 +- .../latest/User-Manual/Streaming_apache.md | 12 +- .../latest/User-Manual/Streaming_timecho.md | 12 +- .../User-Manual/Tiered-Storage_timecho.md | 8 +- .../UserGuide/latest/User-Manual/Trigger.md | 10 +- .../latest/User-Manual/UDF-development.md | 4 +- .../User-defined-function_apache.md | 10 +- .../User-defined-function_timecho.md | 10 +- .../latest/User-Manual/White-List_timecho.md | 6 +- 218 files changed, 1179 insertions(+), 918 deletions(-) diff --git a/src/zh/UserGuide/Master/Tree/API/Programming-CSharp-Native-API.md b/src/zh/UserGuide/Master/Tree/API/Programming-CSharp-Native-API.md index 2dfe568b4..d4f94771c 100644 --- a/src/zh/UserGuide/Master/Tree/API/Programming-CSharp-Native-API.md +++ b/src/zh/UserGuide/Master/Tree/API/Programming-CSharp-Native-API.md @@ -21,13 +21,13 @@ # C# 原生接口 -## 1 依赖 +## 1. 依赖 - .NET SDK >= 5.0 或 .NET Framework 4.x - Thrift >= 0.14.1 - NLog >= 4.7.9 -## 2 安装 +## 2. 安装 您可以使用 NuGet Package Manager, .NET CLI等工具来安装,以 .NET CLI为例 @@ -50,7 +50,7 @@ dotnet add package Apache.IoTDB.framework dotnet add package Apache.IoTDB --version 0.12.1.2 ``` -## 3 基本接口说明 +## 3. 基本接口说明 Session接口在语义上和其他语言客户端相同 @@ -88,7 +88,7 @@ await session_pool.InsertTabletAsync(tablet); await session_pool.Close(); ``` -## 4 **Row Record** +## 4. **Row Record** - 对**IoTDB**中的`record`数据进行封装和抽象。 - 示例: @@ -124,7 +124,7 @@ var tablet = -## 5 **API** +## 5. **API** ### 5.1 **基础接口** @@ -188,7 +188,7 @@ var tablet = 用法可以参考[用户示例](https://github.com/apache/iotdb-client-csharp/tree/main/samples/Apache.IoTDB.Samples) -## 6 连接池 +## 6. 连接池 为了实现并发客户端请求,我们提供了针对原生接口的连接池(`SessionPool`),由于`SessionPool`本身为`Session`的超集,当`SessionPool`的`pool_size`参数设置为1时,退化为原来的`Session` @@ -198,7 +198,7 @@ var tablet = 当一个连接被用完后,他会自动返回池中等待下次被使用 -## 7 ByteBuffer +## 7. ByteBuffer 在传入RPC接口参数时,需要对Record和Tablet两种数据结构进行序列化,我们主要通过封装的ByteBuffer类实现 @@ -266,7 +266,7 @@ private void extend_buffer(int space_need){ 通过上述的策略,我们在一个有`20000`行的Tablet上进行测试时,序列化速度相比Naive数组长度动态生长实现算法具有约35倍的性能加速。 -## 8 异常重连 +## 8. 异常重连 当服务端发生异常或者宕机重启时,客户端中原来通过`Open()`产生的的session会失效,抛出`TException`异常 diff --git a/src/zh/UserGuide/Master/Tree/API/Programming-Cpp-Native-API.md b/src/zh/UserGuide/Master/Tree/API/Programming-Cpp-Native-API.md index 76dff7c84..be83e82d1 100644 --- a/src/zh/UserGuide/Master/Tree/API/Programming-Cpp-Native-API.md +++ b/src/zh/UserGuide/Master/Tree/API/Programming-Cpp-Native-API.md @@ -21,7 +21,7 @@ # C++ 原生接口 -## 1 依赖 +## 1. 依赖 - Java 8+ - Flex @@ -31,7 +31,7 @@ - GCC 5.5.0+ -## 2 安装 +## 2. 安装 ### 2.1 安装相关依赖 @@ -163,7 +163,7 @@ A: - 执行 `.\mvnw.cmd clean install` - 回到 iotdb 代码目录执行 `.\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp -Dcmake.generator="Visual Studio 15 2017"` -## 3 基本接口说明 +## 3. 基本接口说明 下面将给出 Session 接口的简要介绍和原型定义: @@ -404,7 +404,7 @@ void executeNonQueryStatement(const std::string &sql); ``` -## 4 示例代码 +## 4. 示例代码 示例工程源代码: @@ -413,7 +413,7 @@ void executeNonQueryStatement(const std::string &sql); 编译成功后,示例代码工程位于 `example/client-cpp-example/target` -## 5 FAQ +## 5. FAQ ### 5.1 Thrift 编译相关问题 diff --git a/src/zh/UserGuide/Master/Tree/API/Programming-Data-Subscription.md b/src/zh/UserGuide/Master/Tree/API/Programming-Data-Subscription.md index 981c28e32..b2b4c6e36 100644 --- a/src/zh/UserGuide/Master/Tree/API/Programming-Data-Subscription.md +++ b/src/zh/UserGuide/Master/Tree/API/Programming-Data-Subscription.md @@ -23,7 +23,7 @@ IoTDB 提供了强大的数据订阅功能,允许用户通过订阅 API 实时获取 IoTDB 新增的数据。详细的功能定义及介绍:[数据订阅](../User-Manual/Data-subscription.md) -## 1 核心步骤 +## 1. 核心步骤 1. 创建Topic:创建一个Topic,Topic中包含希望订阅的测点。 2. 订阅Topic:在 consumer 订阅 topic 前,topic 必须已经被创建,否则订阅会失败。同一个 consumer group 下的 consumers 会均分数据。 @@ -31,7 +31,7 @@ IoTDB 提供了强大的数据订阅功能,允许用户通过订阅 API 实时 4. 取消订阅: consumer close 时会退出对应的 consumer group,同时取消现存的所有订阅。 -## 2 详细步骤 +## 2. 详细步骤 本章节用于说明开发的核心流程,并未演示所有的参数和接口,如需了解全部功能及参数请参见: [全量接口说明](./Programming-Java-Native-API.md#3-全量接口说明) @@ -181,7 +181,7 @@ public class DataConsumerExample { -## 3 全量接口说明 +## 3. 全量接口说明 ### 3.1 参数列表 diff --git a/src/zh/UserGuide/Master/Tree/API/Programming-Go-Native-API.md b/src/zh/UserGuide/Master/Tree/API/Programming-Go-Native-API.md index 5c12e8489..99f8d748c 100644 --- a/src/zh/UserGuide/Master/Tree/API/Programming-Go-Native-API.md +++ b/src/zh/UserGuide/Master/Tree/API/Programming-Go-Native-API.md @@ -21,7 +21,7 @@ # Go 原生接口 -## 1 依赖 +## 1. 依赖 * golang >= 1.13 * make >= 3.0 @@ -30,7 +30,7 @@ * Linux、Macos 或其他类 unix 系统 * Windows+bash (下载 IoTDB Go client 需要 git ,通过 WSL、cygwin、Git Bash 任意一种方式均可) -## 2 安装方法 +## 2. 安装方法 * 通过 go mod diff --git a/src/zh/UserGuide/Master/Tree/API/Programming-JDBC.md b/src/zh/UserGuide/Master/Tree/API/Programming-JDBC.md index 7056fda4c..334c02f16 100644 --- a/src/zh/UserGuide/Master/Tree/API/Programming-JDBC.md +++ b/src/zh/UserGuide/Master/Tree/API/Programming-JDBC.md @@ -24,12 +24,12 @@ *注意: 目前的JDBC实现仅是为与第三方工具连接使用的。使用JDBC(执行插入语句时)无法提供高性能写入。 对于Java应用,我们推荐使用[Java 原生接口](./Programming-Java-Native-API.md)* -## 1 依赖 +## 1. 依赖 * JDK >= 1.8 * Maven >= 3.6 -## 2 安装方法 +## 2. 安装方法 在根目录下执行下面的命令: ```shell diff --git a/src/zh/UserGuide/Master/Tree/API/Programming-Java-Native-API.md b/src/zh/UserGuide/Master/Tree/API/Programming-Java-Native-API.md index 8b291730d..40c45535c 100644 --- a/src/zh/UserGuide/Master/Tree/API/Programming-Java-Native-API.md +++ b/src/zh/UserGuide/Master/Tree/API/Programming-Java-Native-API.md @@ -23,13 +23,13 @@ IoTDB 原生 API 中的 Session 是实现与数据库交互的核心接口,它 SessionPool 是 Session 的连接池,推荐使用SessionPool编程。在多线程并发的情形下,SessionPool 能够合理地管理和分配连接资源,以提升系统性能与资源利用效率。 -## 1 步骤概览 +## 1. 步骤概览 1. 创建连接池实例:初始化一个SessionPool对象,用于管理多个Session实例。 2. 执行操作:直接从SessionPool中获取Session实例,并执行数据库操作,无需每次都打开和关闭连接。 3. 关闭连接池资源:在不再需要进行数据库操作时,关闭SessionPool,释放所有相关资源。 -## 2 详细步骤 +## 2. 详细步骤 本章节用于说明开发的核心流程,并未演示所有的参数和接口,如需了解全部功能及参数请参见: [全量接口说明](./Programming-Java-Native-API.md#3-全量接口说明) 或 查阅: [源码](https://github.com/apache/iotdb/tree/master/example/session/src/main/java/org/apache/iotdb) @@ -341,7 +341,7 @@ public class SessionPoolExample { } ``` -## 3 全量接口说明 +## 3. 全量接口说明 ### 3.1 参数列表 diff --git a/src/zh/UserGuide/Master/Tree/API/Programming-Kafka.md b/src/zh/UserGuide/Master/Tree/API/Programming-Kafka.md index ba95ff07f..214cc2c74 100644 --- a/src/zh/UserGuide/Master/Tree/API/Programming-Kafka.md +++ b/src/zh/UserGuide/Master/Tree/API/Programming-Kafka.md @@ -23,7 +23,7 @@ [Apache Kafka](https://kafka.apache.org/) 是一个开源的分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。 -## 1 示例代码 +## 1. 示例代码 ### 1.1 kafka 生产者生产数据 Java 代码示例 diff --git a/src/zh/UserGuide/Master/Tree/API/Programming-MQTT.md b/src/zh/UserGuide/Master/Tree/API/Programming-MQTT.md index 3863e07d3..ce0519593 100644 --- a/src/zh/UserGuide/Master/Tree/API/Programming-MQTT.md +++ b/src/zh/UserGuide/Master/Tree/API/Programming-MQTT.md @@ -32,7 +32,7 @@ IoTDB 服务器包括内置的 MQTT 服务,该服务允许远程设备将消 -## 1 内置 MQTT 服务 +## 1. 内置 MQTT 服务 内置的 MQTT 服务提供了通过 MQTT 直接连接到 IoTDB 的能力。 它侦听来自 MQTT 客户端的发布消息,然后立即将数据写入存储。 MQTT 主题与 IoTDB 时间序列相对应。 消息有效载荷可以由 Java SPI 加载的`PayloadFormatter`格式化为事件,默认实现为`JSONPayloadFormatter` @@ -59,7 +59,7 @@ MQTT 主题与 IoTDB 时间序列相对应。 -## 2 MQTT 配置 +## 2. MQTT 配置 默认情况下,IoTDB MQTT 服务从`${IOTDB_HOME}/${IOTDB_CONF}/iotdb-system.properties`加载配置。 配置如下: @@ -101,7 +101,7 @@ connection.disconnect(); ``` -## 3 自定义 MQTT 消息格式 +## 3. 自定义 MQTT 消息格式 事实上可以通过简单编程来实现 MQTT 消息的格式自定义。 可以在源码的 `example/mqtt-customize` 项目中找到一个简单示例。 diff --git a/src/zh/UserGuide/Master/Tree/API/Programming-NodeJS-Native-API.md b/src/zh/UserGuide/Master/Tree/API/Programming-NodeJS-Native-API.md index 381fd7fb2..7e453fbcf 100644 --- a/src/zh/UserGuide/Master/Tree/API/Programming-NodeJS-Native-API.md +++ b/src/zh/UserGuide/Master/Tree/API/Programming-NodeJS-Native-API.md @@ -25,7 +25,7 @@ IoTDB 使用 Thrift 作为跨语言的 RPC 框架,因此可以通过 Thrift 提供的接口来实现对 IoTDB 的访问。本文档将介绍如何生成可访问 IoTDB 的原生 Node.js 接口。 -## 1 依赖 +## 1. 依赖 * JDK >= 1.8 * Node.js >= 16.0.0 @@ -40,7 +40,7 @@ http://thrift.apache.org/docs/install/ ``` -## 2 编译 thrift 库,生成 Node.js 原生接口 +## 2. 编译 thrift 库,生成 Node.js 原生接口 1. 在 IoTDB 源代码文件夹的根目录中找到 pom.xml 文件。 2. 打开 pom.xml 文件,找到以下内容: @@ -86,12 +86,12 @@ http://thrift.apache.org/docs/install/ **注意**不要将`iotdb/iotdb-protocol/thrift/target` 和 `iotdb/iotdb-protocol/thrift-commons/target`上传到 git 仓库中 ! -## 3 使用 Node.js 原生接口 +## 3. 使用 Node.js 原生接口 将 `iotdb/iotdb-protocol/thrift/target/generated-sources-nodejs/` 和 `iotdb/iotdb-protocol/thrift-commons/target/generated-sources-nodejs/` 中的文件复制到您的项目中,即可使用。 -## 4 支持的 rpc 接口 +## 4. 支持的 rpc 接口 ``` // 打开一个 session diff --git a/src/zh/UserGuide/Master/Tree/API/Programming-ODBC.md b/src/zh/UserGuide/Master/Tree/API/Programming-ODBC.md index d1971f2c3..756ba2fdd 100644 --- a/src/zh/UserGuide/Master/Tree/API/Programming-ODBC.md +++ b/src/zh/UserGuide/Master/Tree/API/Programming-ODBC.md @@ -22,11 +22,11 @@ # ODBC 在 JDBC 插件的基础上,IoTDB 可以通过 ODBC-JDBC 桥来支持通过 ODBC 对数据库的操作。 -## 1 依赖 +## 1. 依赖 * 带依赖打包的 IoTDB JDBC 插件包 * ODBC-JDBC 桥(如 Zappy-Sys) -## 2 部署方法 +## 2. 部署方法 ### 2.1 准备 JDBC 插件包 下载 IoTDB 源码,在根目录下执行下面的命令: ```shell diff --git a/src/zh/UserGuide/Master/Tree/API/Programming-OPC-UA_timecho.md b/src/zh/UserGuide/Master/Tree/API/Programming-OPC-UA_timecho.md index c204c3b2f..22879945d 100644 --- a/src/zh/UserGuide/Master/Tree/API/Programming-OPC-UA_timecho.md +++ b/src/zh/UserGuide/Master/Tree/API/Programming-OPC-UA_timecho.md @@ -21,7 +21,7 @@ # OPC UA 协议 -## 1 OPC UA +## 1. OPC UA OPC UA 是一种在自动化领域用于不同设备和系统之间进行通信的技术规范,用于实现跨平台、跨语言和跨网络的操作,为工业物联网提供一个可靠和安全的数据交换基础。IoTDB 中支持 OPC UA协议, IoTDB OPC Server 支持 Client/Server 和 Pub/Sub 两种通信模式。 @@ -62,7 +62,7 @@ OPC UA 是一种在自动化领域用于不同设备和系统之间进行通信 - Event 仅会发送给所有已经监听的客户端,客户端未连接则会忽略该 Event。 -## 2 IoTDB OPC Server 启动方式 +## 2. IoTDB OPC Server 启动方式 ### 2.1 语法 @@ -117,7 +117,7 @@ start pipe p1; 4. **不支持删除数据和修改测点类型:**在Client Server模式下,OPC UA无法删除数据或者改变数据类型的设置。而在Pub Sub模式下,如果数据被删除了,信息是无法推送给客户端的。 -## 3 IoTDB OPC Server 示例 +## 3. IoTDB OPC Server 示例 ### 3.1 Client / Server 模式 diff --git a/src/zh/UserGuide/Master/Tree/API/Programming-Python-Native-API.md b/src/zh/UserGuide/Master/Tree/API/Programming-Python-Native-API.md index d800caa4a..e47cb6c7c 100644 --- a/src/zh/UserGuide/Master/Tree/API/Programming-Python-Native-API.md +++ b/src/zh/UserGuide/Master/Tree/API/Programming-Python-Native-API.md @@ -21,11 +21,11 @@ # Python 原生接口 -## 1 依赖 +## 1. 依赖 在使用 Python 原生接口包前,您需要安装 thrift (>=0.13) 依赖。 -## 2 如何使用 (示例) +## 2. 如何使用 (示例) 首先下载包:`pip3 install apache-iotdb` @@ -49,7 +49,7 @@ session.open(False) zone = session.get_time_zone() session.close() ``` -## 3 基本接口说明 +## 3. 基本接口说明 下面将给出 Session 对应的接口的简要介绍和对应参数: @@ -134,7 +134,7 @@ session_pool.put_back(session) session_pool.close() ``` -## 4 数据定义接口 DDL +## 4. 数据定义接口 DDL ### 4.1 Database 管理 @@ -186,7 +186,7 @@ session.delete_time_series(paths_list) session.check_time_series_exists(path) ``` -## 5 数据操作接口 DML +## 5. 数据操作接口 DML ### 5.1 数据写入 @@ -327,7 +327,7 @@ session.insert_str_record(device_id, timestamp, measurements, string_values) * insert_aligned_tablets -## 6 IoTDB-SQL 接口 +## 6. IoTDB-SQL 接口 * 执行查询语句 @@ -348,7 +348,7 @@ session.execute_statement(sql) ``` -## 7 元数据模版接口 +## 7. 元数据模版接口 ### 7.1 构建元数据模版 1. 首先构建 Template 类 2. 添加子节点 MeasurementNode @@ -431,7 +431,7 @@ session.drop_schema_template("template_python") ``` -## 8 对 Pandas 的支持 +## 8. 对 Pandas 的支持 我们支持将查询结果轻松地转换为 [Pandas Dataframe](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html)。 @@ -459,7 +459,7 @@ session.close() df = ... ``` -## 9 IoTDB Testcontainer +## 9. IoTDB Testcontainer Python 客户端对测试的支持是基于`testcontainers`库 (https://testcontainers-python.readthedocs.io/en/latest/index.html) 的,如果您想使用该特性,就需要将其安装到您的项目中。 @@ -479,7 +479,7 @@ class MyTestCase(unittest.TestCase): 默认情况下,它会拉取最新的 IoTDB 镜像 `apache/iotdb:latest`进行测试,如果您想指定待测 IoTDB 的版本,您只需要将版本信息像这样声明:`IoTDBContainer("apache/iotdb:0.12.0")`,此时,您就会得到一个`0.12.0`版本的 IoTDB 实例。 -## 10 IoTDB DBAPI +## 10. IoTDB DBAPI IoTDB DBAPI 遵循 Python DB API 2.0 规范 (https://peps.python.org/pep-0249/),实现了通过Python语言访问数据库的通用接口。 @@ -532,7 +532,7 @@ cursor.close() conn.close() ``` -## 11 IoTDB SQLAlchemy Dialect(实验性) +## 11. IoTDB SQLAlchemy Dialect(实验性) IoTDB的SQLAlchemy方言主要是为了适配Apache superset而编写的,该部分仍在完善中,请勿在生产环境中使用! ### 11.1 元数据模型映射 SQLAlchemy 所使用的数据模型为关系数据模型,这种数据模型通过表格来描述不同实体之间的关系。 @@ -619,7 +619,7 @@ for row in res: print(row) ``` -## 12 给开发人员 +## 12. 给开发人员 ### 12.1 介绍 @@ -682,7 +682,7 @@ session.close() [black](https://pypi.org/project/black/) 和 [flake8](https://pypi.org/project/flake8/) 分别用于自动格式化和 linting。 它们可以通过 `black .` 或 `flake8 .` 分别运行。 -## 13 发版 +## 13. 发版 要进行发版, diff --git a/src/zh/UserGuide/Master/Tree/API/Programming-Rust-Native-API.md b/src/zh/UserGuide/Master/Tree/API/Programming-Rust-Native-API.md index c74976b3c..57c95b3e9 100644 --- a/src/zh/UserGuide/Master/Tree/API/Programming-Rust-Native-API.md +++ b/src/zh/UserGuide/Master/Tree/API/Programming-Rust-Native-API.md @@ -25,7 +25,7 @@ IoTDB 使用 Thrift 作为跨语言的 RPC 框架,因此可以通过 Thrift 提供的接口来实现对 IoTDB 的访问。本文档将介绍如何生成可访问 IoTDB 的原生 Rust 接口。 -## 1 依赖 +## 1. 依赖 * JDK >= 1.8 * Rust >= 1.0.0 @@ -40,7 +40,7 @@ http://thrift.apache.org/docs/install/ ``` -## 2 编译 thrift 库,生成 Rust 原生接口 +## 2. 编译 thrift 库,生成 Rust 原生接口 1. 在 IoTDB 源代码文件夹的根目录中找到 pom.xml 文件。 2. 打开 pom.xml 文件,找到以下内容: @@ -86,11 +86,11 @@ http://thrift.apache.org/docs/install/ **注意**不要将`iotdb/iotdb-protocol/thrift/target` 和 `iotdb/iotdb-protocol/thrift-commons/target`上传到 git 仓库中 ! -## 3 使用 Rust 原生接口 +## 3. 使用 Rust 原生接口 将 `iotdb/iotdb-protocol/thrift/target/generated-sources-rust/` 和 `iotdb/iotdb-protocol/thrift-commons/target/generated-sources-rust/` 中的文件复制到您的项目中,即可使用。 -## 4 支持的 rpc 接口 +## 4. 支持的 rpc 接口 ``` // 打开一个 session diff --git a/src/zh/UserGuide/Master/Tree/API/RestServiceV1.md b/src/zh/UserGuide/Master/Tree/API/RestServiceV1.md index dac1de90d..6eb2d6817 100644 --- a/src/zh/UserGuide/Master/Tree/API/RestServiceV1.md +++ b/src/zh/UserGuide/Master/Tree/API/RestServiceV1.md @@ -22,7 +22,7 @@ # RESTful API V1(不推荐) IoTDB 的 RESTful 服务可用于查询、写入和管理操作,它使用 OpenAPI 标准来定义接口并生成框架。 -## 1 开启RESTful 服务 +## 1. 开启RESTful 服务 RESTful 服务默认情况是关闭的 找到IoTDB安装目录下面的`conf/iotdb-system.properties`文件,将 `enable_rest_service` 设置为 `true` 以启用该模块。 @@ -31,7 +31,7 @@ RESTful 服务默认情况是关闭的 enable_rest_service=true ``` -## 2 鉴权 +## 2. 鉴权 除了检活接口 `/ping`,RESTful 服务使用了基础(basic)鉴权,每次 URL 请求都需要在 header 中携带 `'Authorization': 'Basic ' + base64.encode(username + ':' + password)`。 示例中使用的用户名为:`root`,密码为:`root`,对应的 Basic 鉴权 Header 格式为 @@ -64,7 +64,7 @@ Authorization: Basic cm9vdDpyb290 } ``` -## 3 接口 +## 3. 接口 ### 3.1 ping @@ -853,7 +853,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X ``` -## 4 配置 +## 4. 配置 配置位于 `iotdb-system.properties` 中。 diff --git a/src/zh/UserGuide/Master/Tree/API/RestServiceV2.md b/src/zh/UserGuide/Master/Tree/API/RestServiceV2.md index b88b8c199..dfb5ea9c8 100644 --- a/src/zh/UserGuide/Master/Tree/API/RestServiceV2.md +++ b/src/zh/UserGuide/Master/Tree/API/RestServiceV2.md @@ -22,7 +22,7 @@ # RESTful API V2 IoTDB 的 RESTful 服务可用于查询、写入和管理操作,它使用 OpenAPI 标准来定义接口并生成框架。 -## 1 开启RESTful 服务 +## 1. 开启RESTful 服务 RESTful 服务默认情况是关闭的 找到IoTDB安装目录下面的`conf/iotdb-system.properties`文件,将 `enable_rest_service` 设置为 `true` 以启用该模块。 @@ -31,7 +31,7 @@ RESTful 服务默认情况是关闭的 enable_rest_service=true ``` -## 2 鉴权 +## 2. 鉴权 除了检活接口 `/ping`,RESTful 服务使用了基础(basic)鉴权,每次 URL 请求都需要在 header 中携带 `'Authorization': 'Basic ' + base64.encode(username + ':' + password)`。 示例中使用的用户名为:`root`,密码为:`root`,对应的 Basic 鉴权 Header 格式为 @@ -64,7 +64,7 @@ Authorization: Basic cm9vdDpyb290 } ``` -## 3 接口 +## 3. 接口 ### 3.1 ping @@ -892,7 +892,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X ``` -## 4 配置 +## 4. 配置 配置位于 `iotdb-system.properties` 中。 diff --git a/src/zh/UserGuide/Master/Tree/Background-knowledge/Cluster-Concept_apache.md b/src/zh/UserGuide/Master/Tree/Background-knowledge/Cluster-Concept_apache.md index 1d3fdba14..5860f3005 100644 --- a/src/zh/UserGuide/Master/Tree/Background-knowledge/Cluster-Concept_apache.md +++ b/src/zh/UserGuide/Master/Tree/Background-knowledge/Cluster-Concept_apache.md @@ -21,7 +21,7 @@ # 常见概念 -## 1 数据模型相关概念 +## 1. 数据模型相关概念 ### 1.1 数据模型(sql_dialect) @@ -49,7 +49,7 @@ IoTDB 支持两种时序数据模型(SQL语法),管理的对象均为设 IoTDB 在数据编码后,使用压缩技术进一步压缩二进制数据,提升存储效率。IoTDB 支持多种压缩方法,详细信息请查看:[压缩和编码](../Technical-Insider/Encoding-and-Compression.md)。 -## 2 分布式相关概念 +## 2. 分布式相关概念 下图展示了一个常见的 IoTDB 3C3D(3 个 ConfigNode、3 个 DataNode)的集群部署模式: @@ -90,7 +90,7 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data | 数据 | data_replication_factor | 1 | 2 | -## 3 部署相关概念 +## 3. 部署相关概念 IoTDB 有两种运行模式:单机模式、集群模式。 diff --git a/src/zh/UserGuide/Master/Tree/Background-knowledge/Cluster-Concept_timecho.md b/src/zh/UserGuide/Master/Tree/Background-knowledge/Cluster-Concept_timecho.md index 1a4de58e5..33a7b567f 100644 --- a/src/zh/UserGuide/Master/Tree/Background-knowledge/Cluster-Concept_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Background-knowledge/Cluster-Concept_timecho.md @@ -21,7 +21,7 @@ # 常见概念 -## 1 数据模型相关概念 +## 1. 数据模型相关概念 ### 1.1 数据模型(sql_dialect) @@ -48,7 +48,7 @@ IoTDB 支持两种时序数据模型(SQL语法),管理的对象均为设 IoTDB 在数据编码后,使用压缩技术进一步压缩二进制数据,提升存储效率。IoTDB 支持多种压缩方法,详细信息请查看:[压缩和编码](../Technical-Insider/Encoding-and-Compression.md)。 -## 2 分布式相关概念 +## 2. 分布式相关概念 下图展示了一个常见的 IoTDB 3C3D(3 个 ConfigNode、3 个 DataNode)的集群部署模式: @@ -89,7 +89,7 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data | 数据 | data_replication_factor | 1 | 2 | -## 3 部署相关概念 +## 3. 部署相关概念 IoTDB 有三种运行模式:单机模式、集群模式和双活模式。 diff --git a/src/zh/UserGuide/Master/Tree/Background-knowledge/Data-Model-and-Terminology_apache.md b/src/zh/UserGuide/Master/Tree/Background-knowledge/Data-Model-and-Terminology_apache.md index 377f3182c..e690f1311 100644 --- a/src/zh/UserGuide/Master/Tree/Background-knowledge/Data-Model-and-Terminology_apache.md +++ b/src/zh/UserGuide/Master/Tree/Background-knowledge/Data-Model-and-Terminology_apache.md @@ -23,11 +23,11 @@ 本章节主要介绍如何将时序数据应用场景转化为IoTDB时序建模。 -## 1 时序数据模型 +## 1. 时序数据模型 在构建IoTDB建模方案前,需要先了解时序数据和时序数据模型,详细内容见此页面:[时序数据模型](../Background-knowledge/Navigating_Time_Series_Data.md) -## 2 IoTDB 的两种时序模型 +## 2. IoTDB 的两种时序模型 IoTDB 提供了两种数据建模方式——树模型和表模型,其特点分别如下: @@ -80,7 +80,7 @@ IoTDB 提供了两种数据建模方式——树模型和表模型,其特点 - 在通过客户端工具 Cli 或 SDK 建立数据库连接时,需要通过 sql_dialect 参数指定使用的模型语法(默认使用树语法进行操作)。 -## 3 应用场景 +## 3. 应用场景 应用场景主要包括两类: diff --git a/src/zh/UserGuide/Master/Tree/Background-knowledge/Data-Model-and-Terminology_timecho.md b/src/zh/UserGuide/Master/Tree/Background-knowledge/Data-Model-and-Terminology_timecho.md index 5a41c8909..d5c424bc7 100644 --- a/src/zh/UserGuide/Master/Tree/Background-knowledge/Data-Model-and-Terminology_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Background-knowledge/Data-Model-and-Terminology_timecho.md @@ -23,11 +23,11 @@ 本章节主要介绍如何将时序数据应用场景转化为IoTDB时序建模。 -## 1 时序数据模型 +## 1. 时序数据模型 在构建IoTDB建模方案前,需要先了解时序数据和时序数据模型,详细内容见此页面:[时序数据模型](../Background-knowledge/Navigating_Time_Series_Data.md) -## 2 IoTDB 的两种时序模型 +## 2. IoTDB 的两种时序模型 IoTDB 提供了两种数据建模方式——树模型和表模型,其特点分别如下: @@ -80,7 +80,7 @@ IoTDB 提供了两种数据建模方式——树模型和表模型,其特点 - 在通过客户端工具 Cli 或 SDK 建立数据库连接时,需要通过 sql_dialect 参数指定使用的模型语法(默认使用树语法进行操作)。 -## 3 应用场景 +## 3. 应用场景 应用场景主要包括三类: diff --git a/src/zh/UserGuide/Master/Tree/Background-knowledge/Data-Type.md b/src/zh/UserGuide/Master/Tree/Background-knowledge/Data-Type.md index 3ed23a63e..5205a0528 100644 --- a/src/zh/UserGuide/Master/Tree/Background-knowledge/Data-Type.md +++ b/src/zh/UserGuide/Master/Tree/Background-knowledge/Data-Type.md @@ -21,7 +21,7 @@ # 数据类型 -## 1 基本数据类型 +## 1. 基本数据类型 IoTDB 支持以下十种数据类型: @@ -70,7 +70,7 @@ CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=FLOAT, ENCODING=RLE, 'MAX_POI | TIMESTAMP | INT32 INT64 TIMESTAMP | | DATE | DATE | -## 2 时间戳类型 +## 2. 时间戳类型 时间戳是一个数据到来的时间点,其中包括绝对时间戳和相对时间戳。 diff --git a/src/zh/UserGuide/Master/Tree/Background-knowledge/Navigating_Time_Series_Data.md b/src/zh/UserGuide/Master/Tree/Background-knowledge/Navigating_Time_Series_Data.md index 65d170c0b..c2db63990 100644 --- a/src/zh/UserGuide/Master/Tree/Background-knowledge/Navigating_Time_Series_Data.md +++ b/src/zh/UserGuide/Master/Tree/Background-knowledge/Navigating_Time_Series_Data.md @@ -20,7 +20,7 @@ --> # 走进时序数据 -## 1 什么叫时序数据? +## 1. 什么叫时序数据? 万物互联的今天,物联网场景、工业场景等各类场景都在进行数字化转型,人们通过在各类设备上安装传感器对设备的各类状态进行采集。如电机采集电压、电流,风机的叶片转速、角速度、发电功率;车辆采集经纬度、速度、油耗;桥梁的振动频率、挠度、位移量等。传感器的数据采集,已经渗透在各个行业中。 @@ -34,7 +34,7 @@ 传感器产生的海量时序数据是各行各业数字化转型的基础,因此我们对时序数据的模型梳理主要围绕设备、传感器展开。 -## 2 时序数据中的关键概念有哪些? +## 2. 时序数据中的关键概念有哪些? 时序数据中主要涉及的概念由下至上可分为:数据点、测点、设备。 diff --git a/src/zh/UserGuide/Master/Tree/Basic-Concept/Operate-Metadata_apache.md b/src/zh/UserGuide/Master/Tree/Basic-Concept/Operate-Metadata_apache.md index 90610d1b5..fb469b6f9 100644 --- a/src/zh/UserGuide/Master/Tree/Basic-Concept/Operate-Metadata_apache.md +++ b/src/zh/UserGuide/Master/Tree/Basic-Concept/Operate-Metadata_apache.md @@ -21,7 +21,7 @@ # 测点管理 -## 1 数据库管理 +## 1. 数据库管理 数据库(Database)可以被视为关系数据库中的Database。 @@ -341,7 +341,7 @@ It costs 0.058s + 数据库允许拥有的最大 DataRegionGroup 数量 -## 2 设备模板管理 +## 2. 设备模板管理 IoTDB 支持设备模板功能,实现同类型不同实体的物理量元数据共享,减少元数据内存占用,同时简化同类型实体的管理。 @@ -565,7 +565,7 @@ IoTDB> alter device template t1 add (speed FLOAT encoding=RLE, FLOAT TEXT encodi **向已挂载模板的路径下的设备中写入数据,若写入请求中的物理量不在模板中,将自动扩展模板。** -## 3 时间序列管理 +## 3. 时间序列管理 ### 3.1 创建时间序列 @@ -984,7 +984,7 @@ IoTDB> show timeseries where TAGS(tag1)='v1' 上述对时间序列标签、属性的更新等操作都支持。 -## 4 路径查询 +## 4. 路径查询 ### 路径(Path) diff --git a/src/zh/UserGuide/Master/Tree/Basic-Concept/Operate-Metadata_timecho.md b/src/zh/UserGuide/Master/Tree/Basic-Concept/Operate-Metadata_timecho.md index f824d4713..ddf31edd9 100644 --- a/src/zh/UserGuide/Master/Tree/Basic-Concept/Operate-Metadata_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Basic-Concept/Operate-Metadata_timecho.md @@ -21,7 +21,7 @@ # 测点管理 -## 1 数据库管理 +## 1. 数据库管理 数据库(Database)可以被视为关系数据库中的Database。 @@ -341,7 +341,7 @@ It costs 0.058s + 数据库允许拥有的最大 DataRegionGroup 数量 -## 2 设备模板管理 +## 2. 设备模板管理 IoTDB 支持设备模板功能,实现同类型不同实体的物理量元数据共享,减少元数据内存占用,同时简化同类型实体的管理。 @@ -565,7 +565,7 @@ IoTDB> alter device template t1 add (speed FLOAT encoding=RLE, FLOAT TEXT encodi **向已挂载模板的路径下的设备中写入数据,若写入请求中的物理量不在模板中,将自动扩展模板。** -## 3 时间序列管理 +## 3. 时间序列管理 ### 3.1 创建时间序列 @@ -1025,7 +1025,7 @@ IoTDB> show timeseries where TAGS(tag1)='v1' 上述对时间序列标签、属性的更新等操作都支持。 -## 4 路径查询 +## 4. 路径查询 ### 路径(Path) diff --git a/src/zh/UserGuide/Master/Tree/Basic-Concept/Query-Data.md b/src/zh/UserGuide/Master/Tree/Basic-Concept/Query-Data.md index 5c0684e2b..b5085b32f 100644 --- a/src/zh/UserGuide/Master/Tree/Basic-Concept/Query-Data.md +++ b/src/zh/UserGuide/Master/Tree/Basic-Concept/Query-Data.md @@ -20,7 +20,7 @@ --> # 数据查询 -## 1 概述 +## 1. 概述 在 IoTDB 中,使用 `SELECT` 语句从一条或多条时间序列中查询数据,IoTDB 不区分历史数据和实时数据,用户可以用统一的sql语法进行查询,通过 `WHERE` 子句中的时间过滤谓词决定查询的时间范围。 @@ -333,7 +333,7 @@ SessionDataSet executeAggregationQuery( long slidingStep); ``` -## 2 选择表达式(SELECT FROM 子句) +## 2. 选择表达式(SELECT FROM 子句) `SELECT` 子句指定查询的输出,由若干个 `selectExpr` 组成。 每个 `selectExpr` 定义了查询结果中的一列或多列。 @@ -680,7 +680,7 @@ Total line number = 2 It costs 0.002s ``` -## 3 查询过滤条件(WHERE 子句) +## 3. 查询过滤条件(WHERE 子句) `WHERE` 子句指定了对数据行的筛选条件,由一个 `whereCondition` 组成。 @@ -845,7 +845,7 @@ Total line number = 2 It costs 0.002s ``` -## 4 分段分组聚合(GROUP BY 子句) +## 4. 分段分组聚合(GROUP BY 子句) IoTDB支持通过`GROUP BY`子句对序列进行分段或者分组聚合。 分段聚合是指按照时间维度,针对同时间序列中不同数据点之间的时间关系,对数据在行的方向进行分段,每个段得到一个聚合值。目前支持**时间区间分段**、**差值分段**、**条件分段**、**会话分段**和**点数分段**,未来将支持更多分段方式。 @@ -1738,7 +1738,7 @@ SELECT AVG(temperature) FROM root.factory1.** GROUP BY ([1000, 10000), 5s), TAGS > 5. 暂不支持聚合函数内部包含表达式,例如 `count(s+1)`。 > 6. 不支持值过滤条件聚合,和分层聚合查询行为保持一致。 -## 5 聚合结果过滤(HAVING 子句) +## 5. 聚合结果过滤(HAVING 子句) 如果想对聚合查询的结果进行过滤,可以在 `GROUP BY` 子句之后使用 `HAVING` 子句。 @@ -1834,7 +1834,7 @@ SELECT AVG(temperature) FROM root.factory1.** GROUP BY ([1000, 10000), 5s), TAGS ``` -## 6 结果集补空值(FILL 子句) +## 6. 结果集补空值(FILL 子句) ### 6.1 功能介绍 @@ -2145,7 +2145,7 @@ Total line number = 4 ``` -## 7 查询结果分页(LIMIT/SLIMIT 子句) +## 7. 查询结果分页(LIMIT/SLIMIT 子句) 当查询结果集数据量很大,放在一个页面不利于显示,可以使用 `LIMIT/SLIMIT` 子句和 `OFFSET/SOFFSET `子句进行分页控制。 @@ -2408,7 +2408,7 @@ Total line number = 10 It costs 0.009s ``` -## 8 结果集排序(ORDER BY 子句) +## 8. 结果集排序(ORDER BY 子句) ### 8.1 时间对齐模式下的排序 IoTDB的查询结果集默认按照时间对齐,可以使用`ORDER BY TIME`的子句指定时间戳的排列顺序。示例代码如下: @@ -2665,7 +2665,7 @@ select score from root.** order by device asc, score desc, time asc align by dev +-----------------------------+---------+-----+ ``` -## 9 查询对齐模式(ALIGN BY DEVICE 子句) +## 9. 查询对齐模式(ALIGN BY DEVICE 子句) 在 IoTDB 中,查询结果集**默认按照时间对齐**,包含一列时间列和若干个值列,每一行数据各列的时间戳相同。 @@ -2710,7 +2710,7 @@ It costs 0.012s 详细说明及示例见文档 [结果集排序](../SQL-Manual/Operator-and-Expression.md)。 -## 10 查询写回(INTO 子句) +## 10. 查询写回(INTO 子句) `SELECT INTO` 语句用于将查询结果写入一系列指定的时间序列中。 diff --git a/src/zh/UserGuide/Master/Tree/Basic-Concept/Write-Delete-Data.md b/src/zh/UserGuide/Master/Tree/Basic-Concept/Write-Delete-Data.md index c1ee08f77..db98677ac 100644 --- a/src/zh/UserGuide/Master/Tree/Basic-Concept/Write-Delete-Data.md +++ b/src/zh/UserGuide/Master/Tree/Basic-Concept/Write-Delete-Data.md @@ -21,7 +21,7 @@ # 数据写入与删除 -## 1 CLI写入数据 +## 1. CLI写入数据 IoTDB 为用户提供多种插入实时数据的方式,例如在 [Cli/Shell 工具](../Tools-System/CLI.md) 中直接输入插入数据的 INSERT 语句,或使用 Java API(标准 [Java JDBC](../API/Programming-JDBC.md) 接口)单条或批量执行插入数据的 INSERT 语句。 @@ -114,7 +114,7 @@ Total line number = 3 It costs 0.004s ``` -## 2 原生接口写入 +## 2. 原生接口写入 原生接口 (Session) 是目前IoTDB使用最广泛的系列接口,包含多种写入接口,适配不同的数据采集场景,性能高效且支持多语言。 ### 2.1 多语言接口写入 @@ -131,7 +131,7 @@ It costs 0.004s * ### Go 参考 [Go 原生接口](../API/Programming-Go-Native-API.md) -## 3 REST API写入 +## 3. REST API写入 参考 [insertTablet (v1)](../API/RestServiceV1.md#inserttablet) or [insertTablet (v2)](../API/RestServiceV2.md#inserttablet) @@ -168,11 +168,11 @@ It costs 0.004s } ``` -## 4 MQTT写入 +## 4. MQTT写入 参考 [内置 MQTT 服务](../API/Programming-MQTT.md#内置-mqtt-服务) -## 5 批量数据导入 +## 5. 批量数据导入 针对于不同场景,IoTDB 为用户提供多种批量导入数据的操作方式,本章节向大家介绍最为常用的两种方式为 CSV文本形式的导入 和 TsFile文件形式的导入。 @@ -184,7 +184,7 @@ TsFile 是在 IoTDB 中使用的时间序列的文件格式,您可以通过CLI CSV 是以纯文本形式存储表格数据,您可以在CSV文件中写入多条格式化的数据,并批量的将这些数据导入到 IoTDB 中,在导入数据之前,建议在IoTDB中创建好对应的元数据信息。如果忘记创建元数据也不要担心,IoTDB 可以自动将CSV中数据推断为其对应的数据类型,前提是你每一列的数据类型必须唯一。除单个文件外,此工具还支持以文件夹的形式导入多个 CSV 文件,并且支持设置如时间精度等优化参数。具体操作方式请参考[数据导入](../Tools-System/Data-Import-Tool.md)。 -## 6 删除数据 +## 6. 删除数据 用户使用 [DELETE 语句](../SQL-Manual/SQL-Manual.md#删除数据) 可以删除指定的时间序列中符合时间删除条件的数据。在删除数据时,用户可以选择需要删除的一个或多个时间序列、时间序列的前缀、时间序列带、*路径对某一个时间区间内的数据进行删除。 @@ -230,7 +230,7 @@ delete from root.ln.wf02.wt02.status ### 6.2 多传感器时间序列值删除 -当 ln 集团 wf02 子站的 wt02 设备在 2017-11-01 16:26:00 之前的供电状态和设备硬件版本都需要删除,此时可以使用含义更广的 [路径模式(Path Pattern)](../Background-knowledge/Data-Model-and-Terminology.md) 进行删除操作,进行此操作的 SQL 语句为: +当 ln 集团 wf02 子站的 wt02 设备在 2017-11-01 16:26:00 之前的供电状态和设备硬件版本都需要删除,此时可以使用含义更广的 [路径模式(Path Pattern)](../Basic-Concept/Operate-Metadata.md) 进行删除操作,进行此操作的 SQL 语句为: ```sql diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_apache.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_apache.md index b78edee84..5758f7ab1 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_apache.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_apache.md @@ -20,7 +20,7 @@ --> # AINode 部署 -## 1 AINode介绍 +## 1. AINode介绍 ### 1.1 能力介绍 @@ -35,7 +35,7 @@ AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点, -## 2 安装准备 +## 2. 安装准备 ### 2.1 安装包获取 @@ -67,7 +67,7 @@ AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点, # 安装3.8.0版本的venv,创建虚拟环境,文件夹名为 `venv` ../Python-3.8.0/python -m venv `venv` ``` -## 3 安装部署及使用 +## 3. 安装部署及使用 ### 3.1 安装 AINode @@ -451,7 +451,7 @@ IoTDB> show cluster sbin\remove-ainode.bat -t /: ``` -## 4 常见问题 +## 4. 常见问题 ### 4.1 启动AINode时出现找不到venv模块的报错 diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_timecho.md index 41b5db378..659603392 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/AINode_Deployment_timecho.md @@ -20,7 +20,7 @@ --> # AINode 部署 -## 1 AINode介绍 +## 1. AINode介绍 ### 1.1 能力介绍 @@ -35,7 +35,7 @@ AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点, -## 2 安装准备 +## 2. 安装准备 ### 2.1 装包获取 @@ -67,7 +67,7 @@ AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点, # 安装3.8.0版本的venv,创建虚拟环境,文件夹名为 `venv` ../Python-3.8.0/python -m venv `venv` ``` -## 3 安装部署及使用 +## 3. 安装部署及使用 ### 3.1 安装 AINode @@ -485,7 +485,7 @@ IoTDB> show cluster sbin\remove-ainode.bat -t /: ``` -## 4 常见问题 +## 4. 常见问题 ### 4.1 启动AINode时出现找不到venv模块的报错 diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md index fb129fdee..05ed25142 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -26,7 +26,7 @@ -## 1 注意事项 +## 1. 注意事项 1. 安装前请确认系统已参照[系统配置](./Environment-Requirements.md)准备完成。 @@ -46,13 +46,13 @@ - 使用同一用户操作:确保在启动、停止等操作均保持使用同一用户,不要切换用户。 - 避免使用 sudo:尽量避免使用 sudo 命令,因为它会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 -## 2 准备步骤 +## 2. 准备步骤 1. 准备IoTDB数据库安装包 :apache-iotdb-{version}-all-bin.zip(安装包获取见:[链接](../Deployment-and-Maintenance/IoTDB-Package_apache.md)) 2. 按环境要求配置好操作系统环境(系统环境配置见:[链接](../Deployment-and-Maintenance/Environment-Requirements.md)) -## 3 安装步骤 +## 3. 安装步骤 假设现在有3台linux服务器,IP地址和服务角色分配如下: @@ -170,7 +170,7 @@ cd sbin > 出现`ACTIVATED(W)`为被动激活,表示此ConfigNode没有license文件(或没有签发时间戳最新的license文件),其激活依赖于集群中其它Activate状态的ConfigNode。此时建议检查license文件是否已放入license文件夹,没有请放入license文件,若已存在license文件,可能是此节点license文件与其他节点信息不一致导致,请联系天谋工作人员重新申请. -## 4 节点维护步骤 +## 4. 节点维护步骤 ### 4.1 ConfigNode节点维护 @@ -305,7 +305,7 @@ sbin/remove-datanode.sh [datanode_id] sbin/remove-datanode.bat [datanode_id] ``` -## 5 常见问题 +## 5. 常见问题 1. Confignode节点启动失败 diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index c6b022ff3..e6b88e99b 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -26,7 +26,7 @@ -## 1 注意事项 +## 1. 注意事项 1. 安装前请确认系统已参照[系统配置](./Environment-Requirements.md)准备完成。 @@ -48,12 +48,12 @@ 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md) -## 2 准备步骤 +## 2. 准备步骤 1. 准备IoTDB数据库安装包 :iotdb-enterprise-{version}-bin.zip(安装包获取见:[链接](../Deployment-and-Maintenance/IoTDB-Package_timecho.md)) 2. 按环境要求配置好操作系统环境(系统环境配置见:[链接](../Deployment-and-Maintenance/Environment-Requirements.md)) -## 3 安装步骤 +## 3. 安装步骤 假设现在有3台linux服务器,IP地址和服务角色分配如下: @@ -208,7 +208,7 @@ cd sbin > 出现`ACTIVATED(W)`为被动激活,表示此ConfigNode没有license文件(或没有签发时间戳最新的license文件),其激活依赖于集群中其它Activate状态的ConfigNode。此时建议检查license文件是否已放入license文件夹,没有请放入license文件,若已存在license文件,可能是此节点license文件与其他节点信息不一致导致,请联系天谋工作人员重新申请. -## 4 节点维护步骤 +## 4. 节点维护步骤 ### 4.1 ConfigNode节点维护 @@ -343,7 +343,7 @@ sbin/remove-datanode.sh [datanode_id] sbin/remove-datanode.bat [datanode_id] ``` -## 5 常见问题 +## 5. 常见问题 1. 部署过程中多次提示激活失败 - 使用 `ls -al` 命令:使用 `ls -al` 命令检查安装包根目录的所有者信息是否为当前用户。 diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Database-Resources.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Database-Resources.md index 2ecff8d69..dcd674a64 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Database-Resources.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Database-Resources.md @@ -19,7 +19,7 @@ --> # 资源规划 -## 1 CPU +## 1. CPU @@ -81,7 +81,7 @@
-## 2 内存 +## 2. 内存 @@ -143,7 +143,7 @@
-## 3 存储(磁盘) +## 3. 存储(磁盘) ### 3.1 存储空间 计算公式:测点数量 * 采样频率(Hz)* 每个数据点大小(Byte,不同数据类型不一样,见下表) @@ -189,11 +189,11 @@ - 简版计算公式:1000 * 100 * 12 * 86400 * 365 * 3 / 10 / 1024 / 1024 / 1024 / 1024 = 11T ### 3.2 存储配置 1000w 点位以上或查询负载较大,推荐配置 SSD。 -## 4 网络(网卡) +## 4. 网络(网卡) 在写入吞吐不超过1000万点/秒时,需配置千兆网卡;当写入吞吐超过 1000万点/秒时,需配置万兆网卡。 | **写入吞吐(数据点/秒)** | **网卡速率** | | ------------------- | ------------- | | <1000万 | 1Gbps(千兆) | | >=1000万 | 10Gbps(万兆) | -## 5 其他说明 +## 5. 其他说明 IoTDB 具有集群秒级扩容能力,扩容节点数据可不迁移,因此您无需担心按现有数据情况估算的集群能力有限,未来您可在需要扩容时为集群加入新的节点。 \ No newline at end of file diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Deployment-form_apache.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Deployment-form_apache.md index 984b5fb3d..f6a913807 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Deployment-form_apache.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Deployment-form_apache.md @@ -22,7 +22,7 @@ IoTDB 有两种运行模式:单机模式、集群模式。 -## 1 单机模式 +## 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 集群模式 +## 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 特点总结 +## 3. 特点总结 | 维度 | 单机模式 | 集群模式 | | ------------ | ---------------------------- | ------------------------ | diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Deployment-form_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Deployment-form_timecho.md index d4a78a6b5..d49674d07 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Deployment-form_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Deployment-form_timecho.md @@ -22,7 +22,7 @@ IoTDB 有三种运行模式:单机模式、集群模式和双活模式。 -## 1 单机模式 +## 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 双活模式 +## 2. 双活模式 双活版部署为 TimechoDB 企业版功能,是指两个独立的实例进行双向同步,能同时对外提供服务。当一台停机重启后,另一个实例会将缺失数据断点续传。 @@ -40,7 +40,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;当部分节点出现故障时,剩余节点仍然能对外提供服务,保证数据库服务的高可用性,且可随节点增加提升数据库性能。 @@ -48,7 +48,7 @@ IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 - **适用场景**:需要提供高可用和可靠性的企业级应用场景。 - **部署方法**:[集群版部署](../Deployment-and-Maintenance/Cluster-Deployment_timecho.md) -## 4 特点总结 +## 4. 特点总结 | 维度 | 单机模式 | 双活模式 | 集群模式 | | ------------ | ---------------------------- | ------------------------ | ------------------------ | diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Docker-Deployment_apache.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Docker-Deployment_apache.md index 0d9e90aee..f0a0a79be 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Docker-Deployment_apache.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Docker-Deployment_apache.md @@ -20,7 +20,7 @@ --> # Docker部署 -## 1 环境准备 +## 1. 环境准备 ### 1.1 Docker安装 @@ -53,7 +53,7 @@ ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose docker-compose --version #显示版本信息即安装成功 ``` -## 2 单机版 +## 2. 单机版 本节演示如何部署1C1D的docker单机版。 @@ -197,7 +197,7 @@ docker cp iotdb:/iotdb/conf /docker-iotdb/iotdb/conf docker-compose -f docker-compose-standalone.yml up -d ``` -## 3 集群版 +## 3. 集群版 本小节描述如何手动部署包括3个ConfigNode和3个DataNode的实例,即通常所说的3C3D集群。 diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Docker-Deployment_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Docker-Deployment_timecho.md index cfd708fdb..84af4fd6e 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Docker-Deployment_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Docker-Deployment_timecho.md @@ -20,7 +20,7 @@ --> # Docker部署 -## 1 环境准备 +## 1. 环境准备 ### 1.1 Docker安装 @@ -67,7 +67,7 @@ dmidecode 安装后,查找安装路径:`whereis dmidecode`,这里假设结 关于IoTDB企业版的容器镜像您可联系商务或技术支持获取。 -## 2 单机版部署 +## 2. 单机版部署 本节演示如何部署1C1D的docker单机版。 @@ -239,7 +239,7 @@ docker cp iotdb:/iotdb/conf /docker-iotdb/iotdb/conf docker-compose -f docker-compose-standalone.yml up -d ``` -## 3 集群版部署 +## 3. 集群版部署 本小节描述如何手动部署包括3个ConfigNode和3个DataNode的实例,即通常所说的3C3D集群。 diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Dual-Active-Deployment_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Dual-Active-Deployment_timecho.md index 0abc1148c..35e4c779b 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Dual-Active-Deployment_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Dual-Active-Deployment_timecho.md @@ -20,7 +20,7 @@ --> # 双活版部署 -## 1 什么是双活版? +## 1. 什么是双活版? 双活通常是指两个独立的单机(或集群),实时进行镜像同步,它们的配置完全独立,可以同时接收外界的写入,每一个独立的单机(或集群)都可以将写入到自己的数据同步到另一个单机(或集群)中,两个单机(或集群)的数据可达到最终一致。 @@ -30,7 +30,7 @@ ![](/img/%E5%8F%8C%E6%B4%BB%E5%90%8C%E6%AD%A5.png) -## 2 注意事项 +## 2. 注意事项 1. 部署时推荐优先使用`hostname`进行IP配置,可避免后期修改主机ip导致数据库无法启动的问题。设置hostname需要在目标服务器上配置`/etc/hosts`,如本机ip是192.168.1.3,hostname是iotdb-1,则可以使用以下命令设置服务器的 hostname,并使用hostname配置IoTDB的`cn_internal_address`、`dn_internal_address`。 @@ -42,7 +42,7 @@ 3. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考[文档](https://www.timecho.com/docs/zh/UserGuide/latest/Deployment-and-Maintenance/Monitoring-panel-deployment.html) -## 3 安装步骤 +## 3. 安装步骤 我们以两台单机A和B构建的双活版IoTDB为例,A和B的ip分别是192.168.1.3 和 192.168.1.4 ,这里用hostname来表示不同的主机,规划如下: diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Environment-Requirements.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Environment-Requirements.md index 5e1fe7edf..81b41af22 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Environment-Requirements.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Environment-Requirements.md @@ -20,7 +20,7 @@ --> # 环境配置 -## 1 磁盘阵列 +## 1. 磁盘阵列 ### 1.1 配置建议 @@ -77,7 +77,7 @@ IoTDB对磁盘阵列配置没有严格运行要求,推荐使用多个磁盘阵 | 数据盘 | RAID5 | 7 | 允许坏1块 | 6 | | 数据盘 | NoRaid | 1 | 损坏丢失 | 1 | -## 2 操作系统 +## 2. 操作系统 ### 2.1 版本要求 @@ -192,7 +192,7 @@ echo "* hard nofile 65535" >> /etc/security/limits.conf ulimit -n ``` -## 3 软件依赖 +## 3. 软件依赖 安装 Java 运行环境 ,Java 版本 >= 1.8,请确保已设置 jdk 环境变量。(V1.3.2.2 及之上版本推荐直接部署JDK17,老版本JDK部分场景下性能有问题,且datanode会出现stop不掉的问题) diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/IoTDB-Package_apache.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/IoTDB-Package_apache.md index e3f14a95d..c98ba8316 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/IoTDB-Package_apache.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/IoTDB-Package_apache.md @@ -19,11 +19,11 @@ --> # 安装包获取 -## 1 安装包获取方式 +## 1. 安装包获取方式 安装包可直接在Apache IoTDB官网获取:https://iotdb.apache.org/zh/Download/ -## 2 安装包结构 +## 2. 安装包结构 解压后安装包(`apache-iotdb--all-bin.zip`),安装包解压后目录结构如下: diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/IoTDB-Package_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/IoTDB-Package_timecho.md index e2e8f1e90..f502069a7 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/IoTDB-Package_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/IoTDB-Package_timecho.md @@ -20,11 +20,11 @@ --> # 安装包获取 -## 1 企业版获取方式 +## 1. 企业版获取方式 企业版安装包可通过产品试用申请,或直接联系与您对接的商务人员获取。 -## 2 安装包结构 +## 2. 安装包结构 解压后安装包(iotdb-enterprise-{version}-bin.zip),安装包解压后目录结构如下: diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Monitoring-panel-deployment.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Monitoring-panel-deployment.md index 4060e1de4..d2156fa29 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Monitoring-panel-deployment.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Monitoring-panel-deployment.md @@ -24,12 +24,12 @@ IoTDB配套监控面板是IoTDB企业版配套工具之一。它旨在解决IoTD 监控面板工具的使用说明可参考文档 [使用说明](../Tools-System/Monitor-Tool.md) 章节。 -## 1 安装准备 +## 1. 安装准备 1. 安装 IoTDB:需先安装IoTDB V1.0 版本及以上企业版,您可联系商务或技术支持获取 2. 获取 IoTDB 监控面板安装包:基于企业版 IoTDB 的数据库监控面板,您可联系商务或技术支持获取 -## 2 安装步骤 +## 2. 安装步骤 ### 2.1 步骤一:IoTDB开启监控指标采集 @@ -186,7 +186,7 @@ cd grafana-* ![](/img/%E9%9D%A2%E6%9D%BF%E6%B1%87%E6%80%BB.png) -## 3 附录、监控指标详解 +## 3. 附录、监控指标详解 ### 3.1 系统面板(System Dashboard) diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index c238afda0..17feba0e9 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -20,7 +20,7 @@ --> # 单机版部署 -## 1 注意事项 +## 1. 注意事项 1. 安装前请确认系统已参照[系统配置](./Environment-Requirements.md)准备完成。 @@ -40,7 +40,7 @@ - 使用同一用户操作:确保在启动、停止等操作均保持使用同一用户,不要切换用户。 - 避免使用 sudo:尽量避免使用 sudo 命令,因为它会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 -## 2 安装步骤 +## 2. 安装步骤 ### 2.1 解压安装包并进入安装目录 @@ -141,7 +141,7 @@ cd sbin > 出现`ACTIVATED(W)`为被动激活,表示此ConfigNode没有license文件(或没有签发时间戳最新的license文件)。此时建议检查license文件是否已放入license文件夹,没有请放入license文件,若已存在license文件,可能是此节点license文件与其他节点信息不一致导致,请联系天谋工作人员重新申请. -## 3 常见问题 +## 3. 常见问题 1. Confignode节点启动失败 diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index 4a6e850d1..c1dfb9ae4 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -22,7 +22,7 @@ 本章将介绍如何启动IoTDB单机实例,IoTDB单机实例包括 1 个ConfigNode 和1个DataNode(即通常所说的1C1D)。 -## 1 注意事项 +## 1. 注意事项 1. 安装前请确认系统已参照[系统配置](./Environment-Requirements.md)准备完成。 @@ -44,7 +44,7 @@ 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md)。 -## 2 安装步骤 +## 2. 安装步骤 ### 2.1 解压安装包并进入安装目录 @@ -180,7 +180,7 @@ cd sbin > 出现`ACTIVATED(W)`为被动激活,表示此ConfigNode没有license文件(或没有签发时间戳最新的license文件)。此时建议检查license文件是否已放入license文件夹,没有请放入license文件,若已存在license文件,可能是此节点license文件与其他节点信息不一致导致,请联系天谋工作人员重新申请. -## 3 常见问题 +## 3. 常见问题 1. 部署过程中多次提示激活失败 - 使用 `ls -al` 命令:使用 `ls -al` 命令检查安装包根目录的所有者信息是否为当前用户。 diff --git a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md index 770f426b8..6e86729f6 100644 --- a/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -29,7 +29,7 @@ 可视化控制台工具的使用说明可参考文档 [使用说明](../Tools-System/Workbench_timecho.md) 章节。 -## 1 安装准备 +## 1. 安装准备 | 准备内容 | 名称 | 版本要求 | 官方链接 | | :------: | :-----------------------: | :----------------------------------------------------------: | :----------------------------------------------------: | @@ -39,7 +39,7 @@ | 数据库 | IoTDB | 需要>=V1.2.0企业版 | 您可联系商务或技术支持获取 | | 控制台 | IoTDB-Workbench-``| - | 您可根据附录版本对照表进行选择后联系商务或技术支持获取 | -## 2 安装步骤 +## 2. 安装步骤 ### 2.1 步骤一:IoTDB 开启监控指标采集 @@ -191,7 +191,7 @@ ![](/img/workbench.png) -## 4 附录:IoTDB与控制台版本对照表 +## 3. 附录:IoTDB与控制台版本对照表 | 控制台版本号 | 版本说明 | 可支持IoTDB版本 | | :------------: | :------------------------------------------------------------: | :----------------: | diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/DBeaver.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/DBeaver.md index 4e71c0488..7ca4dda66 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/DBeaver.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/DBeaver.md @@ -23,11 +23,11 @@ DBeaver 是一个 SQL 客户端和数据库管理工具。DBeaver 可以使用 IoTDB 的 JDBC 驱动与 IoTDB 进行交互。 -## 1 DBeaver 安装 +## 1. DBeaver 安装 * DBeaver 下载地址:https://dbeaver.io/download/ -## 2 IoTDB 安装 +## 2. IoTDB 安装 * 下载 IoTDB 二进制版本 * IoTDB 下载地址:https://iotdb.apache.org/Download/ @@ -35,7 +35,7 @@ DBeaver 是一个 SQL 客户端和数据库管理工具。DBeaver 可以使用 I * 或者从源代码中编译 * 参考 https://github.com/apache/iotdb -## 3 连接 IoTDB 与 DBeaver +## 3. 连接 IoTDB 与 DBeaver 1. 启动 IoTDB 服务 diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/DataEase.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/DataEase.md index 41e2596e1..6534fcb78 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/DataEase.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/DataEase.md @@ -20,7 +20,7 @@ --> # DataEase -## 1 产品概述 +## 1. 产品概述 1. DataEase 简介 @@ -38,7 +38,7 @@ -## 2 安装要求 +## 2. 安装要求 | **准备内容** | **版本要求** | | :-------------------- | :----------------------------------------------------------- | @@ -47,7 +47,7 @@ | DataEase | 要求 v1 系列 v1.18 版本,安装请参考 DataEase 官网[安装指导](https://dataease.io/docs/v2/installation/offline_INSTL_and_UPG/)(暂不支持 v2.x,其他版本适配请联系天谋商务) | | DataEase-IoTDB 连接器 | 请联系天谋商务获取 | -## 3 安装步骤 +## 3. 安装步骤 步骤一:请联系商务获取压缩包,解压缩安装包( iotdb-api-source-1.0.0.zip ) @@ -89,7 +89,7 @@ iotdb.password=root lsof -i:8097 // config 里启动 IoTDB API Source 监听的端口 ``` -## 4 使用说明 +## 4. 使用说明 ### 4.1 登录 DataEase diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Flink-IoTDB.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Flink-IoTDB.md index a261c1927..24e09e3f1 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Flink-IoTDB.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Flink-IoTDB.md @@ -23,11 +23,11 @@ IoTDB 与 [Apache Flink](https://flink.apache.org/) 的集成。此模块包含了 iotdb sink,允许 flink job 将时序数据写入 IoTDB。 -## 1 IoTDBSink +## 1. IoTDBSink 使用 `IoTDBSink` ,您需要定义一个 `IoTDBOptions` 和一个 `IoTSerializationSchema` 实例。 `IoTDBSink` 默认每次发送一个数据,可以通过调用 `withBatchSize(int)` 进行调整。 -## 2 示例 +## 2. 示例 该示例演示了如下从一个 Flink job 中发送数据到 IoTDB server 的场景: @@ -115,7 +115,7 @@ IoTDB 与 [Apache Flink](https://flink.apache.org/) 的集成。此模块包含 -## 3 运行方法 +## 3. 运行方法 * 启动 IoTDB server * 运行 `org.apache.iotdb.flink.FlinkIoTDBSink.java` 将 Flink job 运行在本地的集群上。 diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Flink-TsFile.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Flink-TsFile.md index 7954fd6dd..f7a25a5a4 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Flink-TsFile.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Flink-TsFile.md @@ -21,7 +21,7 @@ # Apache Flink(TsFile) -## 1 关于 TsFile-Flink 连接器 +## 1. 关于 TsFile-Flink 连接器 TsFile-Flink-Connector 对 Tsfile 类型的外部数据源实现 Flink 的支持。 这使用户可以通过 Flink DataStream/DataSet 进行读取,写入和查询。 @@ -30,7 +30,7 @@ TsFile-Flink-Connector 对 Tsfile 类型的外部数据源实现 Flink 的支持 * 从本地文件系统或 hdfs 加载单个或多个 TsFile (只支持以 DataSet 的形式)到 Flink 。 * 将本地文件系统或 hdfs 中特定目录中的所有文件加载到 Flink 中。 -## 2 快速开始 +## 2. 快速开始 ### 2.1 TsFileInputFormat 示例 diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Grafana-Connector.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Grafana-Connector.md index 82c353321..a9b5a9ad4 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Grafana-Connector.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Grafana-Connector.md @@ -23,7 +23,7 @@ Grafana 是开源的指标量监测和可视化工具,可用于展示时序数据和应用程序运行分析。Grafana 支持 Graphite,InfluxDB 等国际主流时序数据库作为数据源。在 IoTDB 项目中,我们开发了 Grafana 展现 IoTDB 中时序数据的连接器 IoTDB-Grafana-Connector,为您提供使用 Grafana 展示 IoTDB 数据库中的时序数据的可视化方法。 -## 1 Grafana 的安装与部署 +## 1. Grafana 的安装与部署 ### 1.1 安装 @@ -85,17 +85,17 @@ Shell > grafana-server --config=/usr/local/etc/grafana/grafana.ini --homepath /u ``` 更多安装详情,请点 [这里](https://grafana.com/docs/grafana/latest/installation/) -## 2 IoTDB 安装 +## 2. IoTDB 安装 参见 [https://github.com/apache/iotdb](https://github.com/apache/iotdb) -## 3 Grafana-IoTDB-Connector 连接器安装 +## 3. Grafana-IoTDB-Connector 连接器安装 ```shell git clone https://github.com/apache/iotdb.git ``` -## 4 启动 Grafana-IoTDB-Connector +## 4. 启动 Grafana-IoTDB-Connector * 方案一(适合开发者) @@ -120,7 +120,7 @@ java -jar iotdb-grafana-connector-{version}.war 如果您需要配置属性,将`grafana/src/main/resources/application.properties`移动到 war 包同级目录下(`grafana/target`) -## 5 使用 Grafana +## 5. 使用 Grafana Grafana 以网页的 dashboard 形式为您展示数据,在使用时请您打开浏览器,访问 http://\:\ @@ -142,7 +142,7 @@ Grafana 以网页的 dashboard 形式为您展示数据,在使用时请您打 -## 6 配置 grafana +## 6. 配置 grafana ``` # IoTDB 的 IP 和端口 diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Grafana-Plugin.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Grafana-Plugin.md index 0a68347aa..84e7eec5d 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Grafana-Plugin.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Grafana-Plugin.md @@ -25,7 +25,7 @@ Grafana 是开源的指标量监测和可视化工具,可用于展示时序数 在 IoTDB 项目中,我们开发了 Grafana 插件,该插件通过调用 IoTDB REST 服务来展现 IoTDB 中时序数据 ,提供了众多时序数据的可视化方法。Grafana 插件相较于 IoTDB-Grafana-Connector 连接器执行效率更高、支持的查询种类更多。只要在您部署环境允许的情况下,*我们都推荐直接使用 Grafana 插件而不使用 IoTDB-Grafana-Connector 连接器*。 -## 1 部署 Grafana 插件 +## 1. 部署 Grafana 插件 ### 1.1 安装 Grafana @@ -97,7 +97,7 @@ rest_service_port=18080 -## 2 使用 Grafana 插件 +## 2. 使用 Grafana 插件 ### 2.1 访问 Grafana dashboard @@ -282,7 +282,7 @@ Type下拉中有Query、Custom、Text box、Constant、DataSource、Interval、A 想了解alert更多详细的操作可以查看官方文档https://grafana.com/docs/grafana/latest/alerting/ -## 6 更多 +## 3. 更多 更多关于 Grafana 操作详情可参看 Grafana 官方文档:http://docs.grafana.org/guides/getting_started/。 diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Hive-TsFile.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Hive-TsFile.md index c15e251b7..ce411bd4e 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Hive-TsFile.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Hive-TsFile.md @@ -21,7 +21,7 @@ # Apache Hive(TsFile) -## 1 什么是 TsFile 的 Hive 连接器 +## 1. 什么是 TsFile 的 Hive 连接器 TsFile 的 Hive 连接器实现了对 Hive 读取外部 Tsfile 类型的文件格式的支持, 使用户能够通过 Hive 操作 Tsfile。 @@ -32,13 +32,13 @@ TsFile 的 Hive 连接器实现了对 Hive 读取外部 Tsfile 类型的文件 * 使用 HQL 查询 tsfile * 到现在为止,写操作在 hive-connector 中还没有被支持。所以,HQL 中的 insert 操作是不被允许的 -## 2 系统环境要求 +## 2. 系统环境要求 |Hadoop Version |Hive Version | Java Version | TsFile | |------------- |------------ | ------------ |------------ | | `2.7.3` or `3.2.1` | `2.3.6` or `3.1.2` | `1.8` | `1.0.0+`| -## 3 数据类型对应关系 +## 3. 数据类型对应关系 | TsFile 数据类型 | Hive 数据类型 | | ---------------- | --------------- | @@ -49,7 +49,7 @@ TsFile 的 Hive 连接器实现了对 Hive 读取外部 Tsfile 类型的文件 | DOUBLE | Double | | TEXT | STRING | -## 4 为 Hive 添加依赖 jar 包 +## 4. 为 Hive 添加依赖 jar 包 为了在 Hive 中使用 Tsfile 的 hive 连接器,我们需要把 hive 连接器的 jar 导入进 hive。 @@ -64,7 +64,7 @@ Added [/Users/hive/iotdb/hive-connector/target/hive-connector-1.0.0-jar-with-dep Added resources: [/Users/hive/iotdb/hive-connector/target/hive-connector-1.0.0-jar-with-dependencies.jar] ``` -## 5 创建 Tsfile-backed 的 Hive 表 +## 5. 创建 Tsfile-backed 的 Hive 表 为了创建一个 Tsfile-backed 的表,需要将`serde`指定为`org.apache.iotdb.hive.TsFileSerDe`, 将`inputformat`指定为`org.apache.iotdb.hive.TSFHiveInputFormat`, @@ -108,7 +108,7 @@ Time taken: 0.053 seconds, Fetched: 2 row(s) 到目前为止,Tsfile-backed 的表已经可以像 hive 中其他表一样被操作了。 -## 6 从 Tsfile-backed 的 Hive 表中查询 +## 6. 从 Tsfile-backed 的 Hive 表中查询 在做任何查询之前,我们需要通过如下命令,在 hive 中设置`hive.input.format`: diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md index 1b8cfe518..553d01d39 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md @@ -20,7 +20,7 @@ --> # Ignition -## 1 产品概述 +## 1. 产品概述 1. Ignition简介 @@ -37,7 +37,7 @@ Ignition 是一个基于WEB的监控和数据采集工具(SCADA)- 一个开 ![](/img/Ignition.png) -## 2 安装要求 +## 2. 安装要求 | **准备内容** | **版本要求** | | :------------------------: | :------------------------------------------------------------: | @@ -46,7 +46,7 @@ Ignition 是一个基于WEB的监控和数据采集工具(SCADA)- 一个开 | Ignition-IoTDB连接器模块 | 请联系商务获取 | | Ignition-IoTDB With JDBC模块 | 下载地址:https://repo1.maven.org/maven2/org/apache/iotdb/iotdb-jdbc/ | -## 3 Ignition-IoTDB连接器使用说明 +## 3. Ignition-IoTDB连接器使用说明 ### 3.1 简介 @@ -232,7 +232,7 @@ Ignition-IoTDB连接器提供了将 Ignition 采集到的数据存入 IoTDB 的 system.iotdb.query("IoTDB", "select * from root.db.Sine where time > 1709563427247") ``` -## 4 Ignition-IoTDB With JDBC +## 4. Ignition-IoTDB With JDBC ### 4.1 简介 diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Kubernetes_apache.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Kubernetes_apache.md index 41a17214f..a21e6df28 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Kubernetes_apache.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Kubernetes_apache.md @@ -21,7 +21,7 @@ # Kubernetes -## 1 环境准备 +## 1. 环境准备 ### 1.1 准备 Kubernetes 集群 @@ -31,7 +31,7 @@ Kubernetes 版本要求:建议版本为 Kubernetes 1.24及以上 IoTDB版本要求:不能低于v1.3.3.2 -## 2 创建命名空间 +## 2. 创建命名空间 ### 2.1 创建命名空间 @@ -47,7 +47,7 @@ kubectl create ns iotdb-ns kubectl get ns ``` -## 3 创建 PersistentVolume (PV) +## 3. 创建 PersistentVolume (PV) ### 3.1 创建 PV 配置文件 @@ -116,11 +116,11 @@ mkdir -p /data/k8s-data/iotdb-pv-02 ... ``` -## 4 安装 Helm +## 4. 安装 Helm 安装Helm步骤请参考[Helm官网](https://helm.sh/zh/docs/intro/install/) -## 5 配置IoTDB的Helm Chart +## 5. 配置IoTDB的Helm Chart ### 5.1 克隆 IoTDB Kubernetes 部署代码 @@ -184,7 +184,7 @@ confignode: dataRegionConsensusProtocolClass: org.apache.iotdb.consensus.iot.IoTConsensus ``` -## 6 配置私库信息或预先使用ctr拉取镜像 +## 6. 配置私库信息或预先使用ctr拉取镜像 在k8s上配置私有仓库的信息,为下一步helm install的前置步骤。 @@ -258,7 +258,7 @@ ctr -n k8s.io images import iotdb-enterprise:1.3.3.2-standalone.tar ctr --namespace k8s.io images list | grep 1.3.3.2 ``` -## 7 安装 IoTDB +## 7. 安装 IoTDB ### 7.1 安装 IoTDB @@ -301,7 +301,7 @@ kubectl describe pod datanode-0 -n iotdb-ns kubectl logs -n iotdb-ns confignode-0 -f ``` -## 8 激活 IoTDB +## 8. 激活 IoTDB ### 8.1 方案1:直接在 Pod 中激活(最快捷) @@ -357,7 +357,7 @@ kubectl describe pv iotdb-pv-04 | grep "Path:" 4. 从对应节点的对应目录下找到 system-info 文件,使用该 system-info 作为机器码生成激活码,并在同级目录新建文件 license,将激活码写入到该文件。 -## 9 验证 IoTDB +## 9. 验证 IoTDB ### 9.1 查看命名空间内的 Pods 状态 @@ -400,7 +400,7 @@ start-cli.sh -h 172.20.31.88 -p 31895 -## 10 扩容 +## 10. 扩容 ### 10.1 新增pv diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Kubernetes_timecho.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Kubernetes_timecho.md index 4925667d9..2a6847ff9 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Kubernetes_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Kubernetes_timecho.md @@ -21,7 +21,7 @@ # Kubernetes -## 1 环境准备 +## 1. 环境准备 ### 1.1 准备 Kubernetes 集群 @@ -31,7 +31,7 @@ Kubernetes 版本要求:建议版本为 Kubernetes 1.24及以上 IoTDB版本要求:不能低于v1.3.3 -## 2 创建命名空间 +## 2. 创建命名空间 ### 2.1 创建命名空间 @@ -47,7 +47,7 @@ kubectl create ns iotdb-ns kubectl get ns ``` -## 3 创建 PersistentVolume (PV) +## 3. 创建 PersistentVolume (PV) ### 3.1 创建 PV 配置文件 @@ -116,11 +116,11 @@ mkdir -p /data/k8s-data/iotdb-pv-02 ... ``` -## 4 安装 Helm +## 4. 安装 Helm 安装Helm步骤请参考[Helm官网](https://helm.sh/zh/docs/intro/install/) -## 5 配置IoTDB的Helm Chart +## 5. 配置IoTDB的Helm Chart ### 5.1 克隆 IoTDB Kubernetes 部署代码 @@ -184,7 +184,7 @@ confignode: dataRegionConsensusProtocolClass: org.apache.iotdb.consensus.iot.IoTConsensus ``` -## 6 配置私库信息或预先使用ctr拉取镜像 +## 6. 配置私库信息或预先使用ctr拉取镜像 在k8s上配置私有仓库的信息,为下一步helm install的前置步骤。 @@ -258,7 +258,7 @@ ctr -n k8s.io images import iotdb-enterprise:1.3.3.2-standalone.tar ctr --namespace k8s.io images list | grep 1.3.3.2 ``` -## 7 安装 IoTDB +## 7. 安装 IoTDB ### 7.1 安装 IoTDB @@ -301,7 +301,7 @@ kubectl describe pod datanode-0 -n iotdb-ns kubectl logs -n iotdb-ns confignode-0 -f ``` -## 8 激活 IoTDB +## 8. 激活 IoTDB ### 8.1 方案1:直接在 Pod 中激活(最快捷) @@ -357,7 +357,7 @@ kubectl describe pv iotdb-pv-04 | grep "Path:" 4. 从对应节点的对应目录下找到 system-info 文件,使用该 system-info 作为机器码生成激活码,并在同级目录新建文件 license,将激活码写入到该文件。 -## 9 验证 IoTDB +## 9. 验证 IoTDB ### 9.1 查看命名空间内的 Pods 状态 @@ -400,7 +400,7 @@ start-cli.sh -h 172.20.31.88 -p 31895 -## 10 扩容 +## 10. 扩容 ### 10.1 新增pv diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/NiFi-IoTDB.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/NiFi-IoTDB.md index 353e472f0..0d7c1066e 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/NiFi-IoTDB.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/NiFi-IoTDB.md @@ -20,7 +20,7 @@ --> # Apache NiFi -## 1 Apache NiFi简介 +## 1. Apache NiFi简介 Apache NiFi 是一个易用的、功能强大的、可靠的数据处理和分发系统。 @@ -46,7 +46,7 @@ Apache NiFi 包含以下功能: * 多租户授权和策略管理 * 包括TLS和SSH的加密通信的标准协议 -## 2 PutIoTDBRecord +## 2. PutIoTDBRecord 这是一个用于数据写入的处理器。它使用配置的 Record Reader 将传入 FlowFile 的内容读取为单独的记录,并使用本机接口将它们写入 Apache IoTDB。 @@ -108,14 +108,14 @@ Apache NiFi 包含以下功能: 6. 支持的 `encoding` 有: `PLAIN`, `DICTIONARY`, `RLE`, `DIFF`, `TS_2DIFF`, `BITMAP`, `GORILLA_V1`, `REGULAR`, `GORILLA`,`ZIGZAG`,`CHIMP`, `SPRINTZ`, `RLBE`。 7. 支持的 `compressionType` 有: `UNCOMPRESSED`, `SNAPPY`, `GZIP`, `LZO`, `SDT`, `PAA`, `PLA`, `LZ4`, `ZSTD`, `LZMA2`。 -## 3 Relationships +## 3. Relationships | relationship | 描述 | | ------------ | ----------------------- | | success | 数据能被正确的写入。 | | failure | schema 或者数据有异常。 | -## 4 QueryIoTDBRecord +## 4. QueryIoTDBRecord 这是一个用于数据读取的处理器。它通过读取 FlowFile 的内容中的SQL 查询来对IoTDB的原生接口进行访问,并将查询结果用Record Writer写入 flowfile。 @@ -132,7 +132,7 @@ Apache NiFi 包含以下功能: | iotdb-query-chunk-size | 返回的结果可以进行分块,数据流中会返回一批按设置大小切分的数据,而不是一个单一的响应. 分块查询可以返回无限量的行。 注意: 数据分块只有在设置不为0时启用 | 0 | false | -## 5 Relationships +## 5. Relationships | relationship | 描述 | | ------------ | ----------------------- | diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Spark-IoTDB.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Spark-IoTDB.md index 96d79dac2..b6dec561e 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Spark-IoTDB.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Spark-IoTDB.md @@ -21,7 +21,7 @@ # Apache Spark(IoTDB) -## 1 版本支持 +## 1. 版本支持 支持的 Spark 与 Scala 版本如下: @@ -29,12 +29,12 @@ |----------------|--------------| | `2.4.0-latest` | `2.11, 2.12` | -## 2 注意事项 +## 2. 注意事项 1. 当前版本的 `spark-iotdb-connector` 支持 `2.11` 与 `2.12` 两个版本的 Scala,暂不支持 `2.13` 版本。 2. `spark-iotdb-connector` 支持在 Java、Scala 版本的 Spark 与 PySpark 中使用。 -## 3 部署 +## 3. 部署 `spark-iotdb-connector` 总共有两个使用场景,分别为 IDE 开发与 spark-shell 调试。 @@ -80,7 +80,7 @@ $IoTDB_HOME/iotdb-client/jdbc/target/iotdb-jdbc-{version}-SNAPSHOT-jar-with-depe cp iotdb-jdbc-{version}-SNAPSHOT-jar-with-dependencies.jar $SPARK_HOME/jars/ ``` -## 4 使用 +## 4. 使用 ### 4.1 参数 @@ -183,7 +183,7 @@ import org.apache.iotdb.spark.db._ val wide_df = Transformer.toWideForm(spark, narrow_df) ``` -## 5 宽表与窄表 +## 5. 宽表与窄表 以下 TsFile 结构为例:TsFile 模式中有三个度量:状态,温度和硬件。 这三种测量的基本信息如下: diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Spark-TsFile.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Spark-TsFile.md index f7aa71b7f..e7fc54b3c 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Spark-TsFile.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Spark-TsFile.md @@ -21,7 +21,7 @@ # Apache Spark(TsFile) -## 1 About TsFile-Spark-Connector +## 1. About TsFile-Spark-Connector TsFile-Spark-Connector 对 Tsfile 类型的外部数据源实现 Spark 的支持。 这使用户可以通过 Spark 读取,写入和查询 Tsfile。 @@ -31,7 +31,7 @@ TsFile-Spark-Connector 对 Tsfile 类型的外部数据源实现 Spark 的支持 - 将本地文件系统或 hdfs 中特定目录中的所有文件加载到 Spark 中 - 将数据从 Spark 写入 TsFile -## 2 System Requirements +## 2. System Requirements | Spark Version | Scala Version | Java Version | TsFile | | ------------- | ------------- | ------------ | -------- | @@ -40,7 +40,7 @@ TsFile-Spark-Connector 对 Tsfile 类型的外部数据源实现 Spark 的支持 > 注意:有关如何下载和使用 TsFile 的更多信息,请参见以下链接:https://github.com/apache/iotdb/tree/master/tsfile > 注意:spark 版本目前仅支持 2.4.3, 其他版本可能存在不适配的问题,目前已知 2.4.7 的版本存在不适配的问题 -## 3 快速开始 +## 3. 快速开始 ### 3.1 本地模式 @@ -69,7 +69,7 @@ TsFile-Spark-Connector 对 Tsfile 类型的外部数据源实现 Spark 的支持 - 多个 jar 包用逗号分隔,没有任何空格。 - 有关如何获取 TsFile 的信息,请参见 https://github.com/apache/iotdb/tree/master/tsfile。 -## 4 数据类型对应 +## 4. 数据类型对应 | TsFile 数据类型 | SparkSQL 数据类型 | | -------------- | ---------------- | @@ -80,7 +80,7 @@ TsFile-Spark-Connector 对 Tsfile 类型的外部数据源实现 Spark 的支持 | DOUBLE | DoubleType | | TEXT | StringType | -## 5 模式推断 +## 5. 模式推断 显示 TsFile 的方式取决于架构。 以以下 TsFile 结构为例:TsFile 模式中有三个度量:状态,温度和硬件。 这三种测量的基本信息如下: @@ -125,7 +125,7 @@ TsFile 中的现有数据如下: | 5 | root.ln.wf02.wt01 | false | null | null | | 6 | root.ln.wf02.wt02 | null | ccc | null | -## 6 Scala API +## 6. Scala API 注意:请记住预先分配必要的读写权限。 diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Telegraf.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Telegraf.md index 1c4bebee2..6590a3838 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Telegraf.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Telegraf.md @@ -20,7 +20,7 @@ --> # Telegraf -## 1 产品概述 +## 1. 产品概述 ### 1.1 Telegraf @@ -40,17 +40,17 @@ Telegraf-IoTDB 插件可以将保存在 Telegraf 中的监控信息输出存储 ![](/img/Telegraf.png) -## 2 安装要求 +## 2. 安装要求 Telegraf支持多种操作系统,包括Linux、Windows、macOS,Telegraf 的安装推荐使用`root`管理员权限才能成功完成,具体安装要求请查看 [安装要求](https://docs.influxdata.com/telegraf/v1/install/) -## 3 安装步骤 +## 3. 安装步骤 具体安装步骤请查看 [安装步骤](https://docs.influxdata.com/telegraf/v1/install/) - 注:此插件为Telegraf内置插件,无需进行二次安装 -## 4 使用说明 +## 4. 使用说明 ### 4.1 设置输入源 @@ -89,7 +89,7 @@ Telegraf支持多种操作系统,包括Linux、Windows、macOS,Telegraf 的 telegraf -config /path/to/telegraf.conf ``` -## 5 使用示例 +## 5. 使用示例 以下是一个使用 Telegraf 收集 CPU 数据并使用 Telegraf-IoTDB 输出到 IoTDB 的示例。使用 telegraf 命令生成配置文件 diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Thingsboard.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Thingsboard.md index f7f5e5a36..404e1f368 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Thingsboard.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Thingsboard.md @@ -20,7 +20,7 @@ --> # ThingsBoard -## 1 产品概述 +## 1. 产品概述 1. ThingsBoard 简介 @@ -36,7 +36,7 @@ ![](/img/Thingsboard-2.png) -## 2 安装要求 +## 2. 安装要求 | 准备内容 | 版本要求 | | :-------------------------- | :----------------------------------------------------------- | @@ -44,7 +44,7 @@ | IoTDB | 要求已安装 V1.3.0 及以上版本,具体安装过程请参考[ 部署指导](https://www.timecho.com/docs/zh/UserGuide/latest/Deployment-and-Maintenance/IoTDB-Package_timecho.html) | | ThingsBoard(IoTDB 适配版) | 安装包请联系商务获取,具体安装步骤参见下文 | -## 3 安装步骤 +## 3. 安装步骤 具体安装步骤请参考 [ThingsBoard 官网](https://thingsboard.io/docs/user-guide/install/ubuntu/)。其中: @@ -73,7 +73,7 @@ export IoTDB_MAX_SIZE=200 ##sessionpool内的最大数量,推荐设置为 export IoTDB_DATABASE=root.thingsboard ##thingsboard数据写入iotdb所存储的数据库,支持自定义 ``` -## 4 使用说明 +## 4. 使用说明 1. 创建设备并接入数据:在 Thingsboard 的实体-设备中创建设备并通过工业网关将数据发送到 ThingsBoard 指定设备中 diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Zeppelin-IoTDB_apache.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Zeppelin-IoTDB_apache.md index 4ef0a9f85..90675b28b 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Zeppelin-IoTDB_apache.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Zeppelin-IoTDB_apache.md @@ -21,13 +21,13 @@ # Apache Zeppelin -## 1 Zeppelin 简介 +## 1. Zeppelin 简介 Apache Zeppelin 是一个基于网页的交互式数据分析系统。用户可以通过 Zeppelin 连接数据源并使用 SQL、Scala 等进行交互式操作。操作可以保存为文档(类似于 Jupyter)。Zeppelin 支持多种数据源,包括 Spark、ElasticSearch、Cassandra 和 InfluxDB 等等。现在,IoTDB 已经支持使用 Zeppelin 进行操作。样例如下: ![iotdb-note-snapshot](/img/github/102752947-520a3e80-43a5-11eb-8fb1-8fac471c8c7e.png) -## 2 Zeppelin-IoTDB 解释器 +## 2. Zeppelin-IoTDB 解释器 ### 2.1 系统环境需求 @@ -103,7 +103,7 @@ or > sbin\start-server.bat -c -rpc_port ``` -## 3 使用 Zeppelin-IoTDB 解释器 +## 3. 使用 Zeppelin-IoTDB 解释器 当 Zeppelin 启动后,访问 [http://127.0.0.1:8080/](http://127.0.0.1:8080/) @@ -154,7 +154,7 @@ WHERE time >= 1 以上样例放置于 `$IoTDB_HOME/zeppelin-interpreter/Zeppelin-IoTDB-Demo.zpln` -## 4 解释器配置项 +## 4. 解释器配置项 进入页面 [http://127.0.0.1:8080/#/interpreter](http://127.0.0.1:8080/#/interpreter) 并配置 IoTDB 的连接参数: diff --git a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Zeppelin-IoTDB_timecho.md b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Zeppelin-IoTDB_timecho.md index a11490e8c..f3bba6de1 100644 --- a/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Zeppelin-IoTDB_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Ecosystem-Integration/Zeppelin-IoTDB_timecho.md @@ -21,13 +21,13 @@ # Apache Zeppelin -## 1 Zeppelin 简介 +## 1. Zeppelin 简介 Apache Zeppelin 是一个基于网页的交互式数据分析系统。用户可以通过 Zeppelin 连接数据源并使用 SQL、Scala 等进行交互式操作。操作可以保存为文档(类似于 Jupyter)。Zeppelin 支持多种数据源,包括 Spark、ElasticSearch、Cassandra 和 InfluxDB 等等。现在,IoTDB 已经支持使用 Zeppelin 进行操作。样例如下: ![iotdb-note-snapshot](/img/github/102752947-520a3e80-43a5-11eb-8fb1-8fac471c8c7e.png) -## 2 Zeppelin-IoTDB 解释器 +## 2. Zeppelin-IoTDB 解释器 ### 2.1 系统环境需求 @@ -103,7 +103,7 @@ or > sbin\start-server.bat -c -rpc_port ``` -## 6 使用 Zeppelin-IoTDB 解释器 +## 3. 使用 Zeppelin-IoTDB 解释器 当 Zeppelin 启动后,访问 [http://127.0.0.1:8080/](http://127.0.0.1:8080/) @@ -154,7 +154,7 @@ WHERE time >= 1 以上样例放置于 `$IoTDB_HOME/zeppelin-interpreter/Zeppelin-IoTDB-Demo.zpln` -## 7 解释器配置项 +## 4. 解释器配置项 进入页面 [http://127.0.0.1:8080/#/interpreter](http://127.0.0.1:8080/#/interpreter) 并配置 IoTDB 的连接参数: diff --git a/src/zh/UserGuide/Master/Tree/FAQ/Frequently-asked-questions.md b/src/zh/UserGuide/Master/Tree/FAQ/Frequently-asked-questions.md index e69de29bb..6fd50cc97 100644 --- a/src/zh/UserGuide/Master/Tree/FAQ/Frequently-asked-questions.md +++ b/src/zh/UserGuide/Master/Tree/FAQ/Frequently-asked-questions.md @@ -0,0 +1,261 @@ + + + + +# 常见问题 + +## 1. 一般问题 + +### 1.1 如何查询我的IoTDB版本? + +有几种方法可以识别您使用的 IoTDB 版本: + +* 启动 IoTDB 的命令行界面: + +``` +> ./start-cli.sh -p 6667 -pw root -u root -h localhost + _____ _________ ______ ______ +|_ _| | _ _ ||_ _ `.|_ _ \ + | | .--.|_/ | | \_| | | `. \ | |_) | + | | / .'`\ \ | | | | | | | __'. + _| |_| \__. | _| |_ _| |_.' /_| |__) | +|_____|'.__.' |_____| |______.'|_______/ version x.x.x +``` + +* 检查 pom.xml 文件: + +``` +x.x.x +``` + +* 使用 JDBC API: + +``` +String iotdbVersion = tsfileDatabaseMetadata.getDatabaseProductVersion(); +``` + +* 使用命令行接口: + +``` +IoTDB> show version +show version ++---------------+ +|version | ++---------------+ +|x.x.x | ++---------------+ +Total line number = 1 +It costs 0.241s +``` + +### 1.2 在哪里可以找到IoTDB的日志? + +假设您的根目录是: + +```shell +$ pwd +/workspace/iotdb + +$ ls -l +server/ +cli/ +pom.xml +Readme.md +... +``` + +假如 `$IOTDB_HOME = /workspace/iotdb/server/target/iotdb-server-{project.version}` + +假如 `$IOTDB_CLI_HOME = /workspace/iotdb/cli/target/iotdb-cli-{project.version}` + +在默认的设置里,logs 文件夹会被存储在```IOTDB_HOME/logs```。您可以在```IOTDB_HOME/conf```目录下的```logback.xml```文件中修改日志的级别和日志的存储路径。 + +### 1.3 在哪里可以找到IoTDB的数据文件? + +在默认的设置里,数据文件(包含 TsFile,metadata,WAL)被存储在```IOTDB_HOME/data/datanode```文件夹。 + +### 1.4 如何知道IoTDB中存储了多少时间序列? + +使用 IoTDB 的命令行接口: + +``` +IoTDB> show timeseries +``` + +在返回的结果里,会展示`Total timeseries number`,这个数据就是 IoTDB 中 timeseries 的数量。 + +在当前版本中,IoTDB 支持直接使用命令行接口查询时间序列的数量: + +``` +IoTDB> count timeseries +``` + +如果您使用的是 Linux 操作系统,您可以使用以下的 Shell 命令: + +``` +> grep "0,root" $IOTDB_HOME/data/system/schema/mlog.txt | wc -l +> 6 +``` + +### 1.5 可以使用Hadoop和Spark读取IoTDB中的TsFile吗? + +是的。IoTDB 与开源生态紧密结合。IoTDB 支持 [Hadoop](https://github.com/apache/iotdb-extras/tree/master/connectors/iotdb-connector/hadoop), [Spark](https://github.com/apache/iotdb-extras/tree/master/connectors/spark-iotdb-connector) 和 [Grafana](https://github.com/apache/iotdb-extras/tree/master/connectors/grafana-connector) 可视化工具。 + +### 1.6 IoTDB如何处理重复的数据点? + +一个数据点是由一个完整的时间序列路径(例如:```root.vehicle.d0.s0```) 和时间戳唯一标识的。如果您使用与现有点相同的路径和时间戳提交一个新点,那么 IoTDB 将更新这个点的值,而不是插入一个新点。 + +### 1.7 我如何知道具体的timeseries的类型? + +在 IoTDB 的命令行接口中使用 SQL ```SHOW TIMESERIES ```: + +例如:如果您想知道所有 timeseries 的类型 \ 应该为 `root.**`。上面的 SQL 应该修改为: + +``` +IoTDB> show timeseries root.** +``` + +如果您想查询一个指定的时间序列,您可以修改 \ 为时间序列的完整路径。比如: + +``` +IoTDB> show timeseries root.fit.d1.s1 +``` + +您还可以在 timeseries 路径中使用通配符: + +``` +IoTDB> show timeseries root.fit.d1.* +``` + +### 1.8 如何更改IoTDB的客户端时间显示格式? + +IoTDB 客户端默认显示的时间是人类可读的(比如:```1970-01-01T08:00:00.001```),如果您想显示是时间戳或者其他可读格式,请在启动命令上添加参数```-disableISO8601```: + +``` +> $IOTDB_CLI_HOME/sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root -disableISO8601 +``` + +### 1.9 怎么处理来自`org.apache.ratis.grpc.server.GrpcLogAppender`的`IndexOutOfBoundsException`? + +这是我们的依赖Ratis 2.4.1的一个内部错误日志,不会对数据写入和读取造成任何影响。 +已经报告给Ratis社区,并会在未来的版本中修复。 + +### 1.10 预估内存不足报错如何处理? + +报错信息: +``` +301: There is not enough memory to execute current fragment instance, current remaining free memory is 86762854, estimated memory usage for current fragment instance is 270139392 +``` +报错分析: +datanode_memory_proportion参数控制分给查询的内存,chunk_timeseriesmeta_free_memory_proportion参数控制查询执行可用的内存。 +默认情况下分给查询的内存为堆内存*30%,查询执行可用的内存为查询内存的20%。 +报错显示当前剩余查询执行可用内存为86762854B=82.74MB,该查询预估使用执行内存270139392B=257.6MB。 + +一些可能的改进项: + +- 在不改变默认参数的前提下,调大IoTDB的堆内存大于 4.2G(4.2G * 1024MB=4300MB),4300M*30%*20%=258M>257.6M,可以满足要求。 +- 更改 datanode_memory_proportion 等参数,使查询执行可用内存>257.6MB。 +- 减少导出的时间序列数量。 +- 给查询语句添加 slimit 限制,也是减少查询时间序列的一种方案。 +- 添加 align by device,会按照device顺序进行输出,内存占用会降低至单device级别。 + + +## 2. 分布式部署 FAQ + +### 2.1 集群启停 + +#### ConfigNode初次启动失败,如何排查原因? + +- ConfigNode初次启动时确保已清空data/confignode目录 +- 确保该ConfigNode使用到的没有被占用,没有与已启动的ConfigNode使用到的冲突 +- 确保该ConfigNode的cn_seed_config_node(指向存活的ConfigNode;如果该ConfigNode是启动的第一个ConfigNode,该值指向自身)配置正确 +- 确保该ConfigNode的配置项(共识协议、副本数等)等与cn_seed_config_node对应的ConfigNode集群一致 + +#### ConfigNode初次启动成功,show cluster的结果里为何没有该节点? + +- 检查cn_seed_config_node是否正确指向了正确的地址; 如果cn_seed_config_node指向了自身,则会启动一个新的ConfigNode集群 + +#### DataNode初次启动失败,如何排查原因? + +- DataNode初次启动时确保已清空data/datanode目录。 如果启动结果为“Reject DataNode restart.”则表示启动时可能没有清空data/datanode目录 +- 确保该DataNode使用到的没有被占用,没有与已启动的DataNode使用到的冲突 +- 确保该DataNode的dn_seed_config_node指向存活的ConfigNode + +#### 移除DataNode执行失败,如何排查? + +- 检查remove-datanode脚本的参数是否正确,是否传入了正确的ip:port或正确的dataNodeId +- 只有集群可用节点数量 > max(元数据副本数量, 数据副本数量)时,移除操作才允许被执行 +- 执行移除DataNode的过程会将该DataNode上的数据迁移到其他存活的DataNode,数据迁移以Region为粒度,如果某个Region迁移失败,则被移除的DataNode会一直处于Removing状态 +- 补充:处于Removing状态的节点,其节点上的Region也是Removing或Unknown状态,即不可用状态。 该Remvoing状态的节点也不会接受客户端的请求。如果要使Removing状态的节点变为可用,用户可以使用set system status to running 命令将该节点设置为Running状态;如果要使迁移失败的Region处于可用状态,可以使用migrate region from datanodeId1 to datanodeId2 命令将该不可用的Region迁移到其他存活的节点。另外IoTDB后续也会提供 `remove-datanode.sh -f` 命令,来强制移除节点(迁移失败的Region会直接丢弃) + +#### 挂掉的DataNode是否支持移除? + +- 当前集群副本数量大于1时可以移除。 如果集群副本数量等于1,则不支持移除。 在下个版本会推出强制移除的命令 + +#### 从0.13升级到1.0需要注意什么? + +- 0.13版本与1.0版本的文件目录结构是不同的,不能将0.13的data目录直接拷贝到1.0集群使用。如果需要将0.13的数据导入至1.0,可以使用LOAD功能 +- 0.13版本的默认RPC地址是0.0.0.0,1.0版本的默认RPC地址是127.0.0.1 + + +### 2.2 集群重启 + +#### 如何重启集群中的某个ConfigNode? + +- 第一步:通过`stop-confignode.sh`或kill进程方式关闭ConfigNode进程 +- 第二步:通过执行`start-confignode.sh`启动ConfigNode进程实现重启 +- 下个版本IoTDB会提供一键重启的操作 + +#### 如何重启集群中的某个DataNode? + +- 第一步:通过`stop-datanode.sh`或kill进程方式关闭DataNode进程 +- 第二步:通过执行`start-datanode.sh`启动DataNode进程实现重启 +- 下个版本IoTDB会提供一键重启的操作 + +#### 将某个ConfigNode移除后(remove-confignode),能否再利用该ConfigNode的data目录重启? + +- 不能。会报错:Reject ConfigNode restart. Because there are no corresponding ConfigNode(whose nodeId=xx) in the cluster. + +#### 将某个DataNode移除后(remove-datanode),能否再利用该DataNode的data目录重启? + +- 不能正常重启,启动结果为“Reject DataNode restart. Because there are no corresponding DataNode(whose nodeId=xx) in the cluster. Possible solutions are as follows:...” + +#### 用户看到某个ConfigNode/DataNode变成了Unknown状态,在没有kill对应进程的情况下,直接删除掉ConfigNode/DataNode对应的data目录,然后执行`start-confignode.sh`/`start-datanode.sh`,这种情况下能成功吗? + +- 无法启动成功,会报错端口已被占用 + +### 2.3 集群运维 + +#### Show cluster执行失败,显示“please check server status”,如何排查? + +- 确保ConfigNode集群一半以上的节点处于存活状态 +- 确保客户端连接的DataNode处于存活状态 + +#### 某一DataNode节点的磁盘文件损坏,如何修复这个节点? + +- 当前只能通过remove-datanode的方式进行实现。remove-datanode执行的过程中会将该DataNode上的数据迁移至其他存活的DataNode节点(前提是集群设置的副本数大于1) +- 下个版本IoTDB会提供一键修复节点的功能 + +#### 如何降低ConfigNode、DataNode使用的内存? + +- 在conf/confignode-env.sh、conf/datanode-env.sh文件可通过调整ON_HEAP_MEMORY、OFF_HEAP_MEMORY等选项可以调整ConfigNode、DataNode使用的最大堆内、堆外内存 + diff --git a/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_apache.md b/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_apache.md index 661d2fc65..f8b7b8e98 100644 --- a/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_apache.md +++ b/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_apache.md @@ -30,7 +30,7 @@ Apache IoTDB 是一款低成本、高性能的物联网原生时序数据库。 - 安装部署与使用文档:[快速上手](../QuickStart/QuickStart_apache.md) -## 1 产品体系 +## 1. 产品体系 IoTDB 体系由若干个组件构成,帮助用户高效地管理和分析物联网产生的海量时序数据。 @@ -44,13 +44,13 @@ IoTDB 体系由若干个组件构成,帮助用户高效地管理和分析物 2. **时序数据标准文件格式(Apache TsFile)**:该文件格式是一种专为时序数据设计的存储格式,可以高效地存储和查询海量时序数据。目前 IoTDB、AINode 等模块的底层存储文件均由 Apache TsFile 进行支撑。通过 TsFile,用户可以在采集、管理、应用&分析阶段统一使用相同的文件格式进行数据管理,极大简化了数据采集到分析的整个流程,提高时序数据管理的效率和便捷度。 3. **时序模型训推一体化引擎(IoTDB AINode)**:针对智能分析场景,IoTDB 提供 AINode 时序模型训推一体化引擎,它提供了一套完整的时序数据分析工具,底层为模型训练引擎,支持训练任务与数据管理,与包括机器学习、深度学习等。通过这些工具,用户可以对存储在 IoTDB 中的数据进行深入分析,挖掘出其中的价值。 -## 2 TimechoDB 整体架构 +## 2. TimechoDB 整体架构 下图展示了一个常见的 IoTDB 3C3D(3 个 ConfigNode、3 个 DataNode)的集群部署模式: -## 3 产品特性 +## 3. 产品特性 Apache IoTDB 具备以下优势和特性: @@ -70,7 +70,7 @@ Apache IoTDB 具备以下优势和特性: - 丰富的生态环境对接:支持Hadoop、Spark等大数据生态系统组件对接,支持Grafana、Thingsboard、DataEase等设备管理和可视化工具 -## 4 商业版本 +## 4. 商业版本 天谋科技在 Apache IoTDB 开源版本的基础上提供了原厂商业化产品 TimechoDB,为企业、商业客户提供企业级产品和服务,它可以解决企业组建物联网大数据平台管理时序数据时所遇到的应用场景复杂、数据体量大、采样频率高、数据乱序多、数据处理耗时长、分析需求多样、存储与运维成本高等多种问题。 diff --git a/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md b/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md index 8ecf2b001..aecb77043 100644 --- a/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md +++ b/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/IoTDB-Introduction_timecho.md @@ -27,7 +27,7 @@ TimechoDB 是一款低成本、高性能的物联网原生时序数据库,是 - 下载、部署与使用:[快速上手](../QuickStart/QuickStart_timecho.md) -## 1 产品体系 +## 1. 产品体系 天谋产品体系由若干个组件构成,覆盖由【数据采集】到【数据管理】到【数据分析&应用】的全时序数据生命周期,做到“采-存-用”一体化时序数据解决方案,帮助用户高效地管理和分析物联网产生的海量时序数据。 @@ -43,13 +43,13 @@ TimechoDB 是一款低成本、高性能的物联网原生时序数据库,是 3. **时序模型训推一体化引擎(AINode)**:针对智能分析场景,TimechoDB 提供 AINode 时序模型训推一体化引擎,它提供了一套完整的时序数据分析工具,底层为模型训练引擎,支持训练任务与数据管理,与包括机器学习、深度学习等。通过这些工具,用户可以对存储在 TimechoDB 中的数据进行深入分析,挖掘出其中的价值。 4. **数据采集**:为了更加便捷的对接各类工业采集场景, 天谋科技提供数据采集接入服务,支持多种协议和格式,可以接入各种传感器、设备产生的数据,同时支持断点续传、网闸穿透等特性。更加适配工业领域采集过程中配置难、传输慢、网络弱的特点,让用户的数采变得更加简单、高效。 -## 2 TimechoDB 整体架构 +## 2. TimechoDB 整体架构 下图展示了一个常见的 IoTDB 3C3D(3 个 ConfigNode、3 个 DataNode)的集群部署模式: -## 3 产品特性 +## 3. 产品特性 TimechoDB 具备以下优势和特性: @@ -69,7 +69,7 @@ TimechoDB 具备以下优势和特性: - 丰富的生态环境对接:支持Hadoop、Spark等大数据生态系统组件对接,支持Grafana、Thingsboard、DataEase等设备管理和可视化工具 -## 4 企业特性 +## 4. 企业特性 ### 4.1 更高阶的产品功能 diff --git a/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/Release-history_timecho.md b/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/Release-history_timecho.md index a07bcc8b4..30e6a18b2 100644 --- a/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/Release-history_timecho.md +++ b/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/Release-history_timecho.md @@ -20,7 +20,7 @@ --> # 发版历史 -## 1 TimechoDB(数据库内核) +## 1. TimechoDB(数据库内核) ### V1.3.4.1 > 发版时间:2025.01.08 > @@ -202,7 +202,7 @@ V1.0.0.1主要修复分区计算及查询执行时的相关问题,历史快照 - 流处理模块:支持流处理框架 - 流处理模块:支持集群间数据同步功能 -## 2 Workbench(控制台工具) +## 2. Workbench(控制台工具) | **控制台版本号** | **版本说明** | **可支持IoTDB版本** | | ---------------- | ------------------------------------------------------------ | ------------------- | diff --git a/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/Scenario.md b/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/Scenario.md index 16ee26f3f..ab59adafc 100644 --- a/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/Scenario.md +++ b/src/zh/UserGuide/Master/Tree/IoTDB-Introduction/Scenario.md @@ -21,7 +21,7 @@ # 应用场景 -## 1 应用1——能源电力 +## 1. 能源电力 ### 1.1 背景: @@ -34,7 +34,7 @@ IoTDB 凭借集群高可用、低流量数据同步、跨网闸支持和优异 ![img](/img/scenarios01.png) -## 2 应用2——航空航天 +## 2. 航空航天 ### 2.1 背景 @@ -47,7 +47,7 @@ IoTDB 凭借其国产自研的高效低流量数据同步、离线数据迁移 ![img](/img/scenarios02.png) -## 3 应用3——交通运输 +## 3. 交通运输 ### 3.1 背景 @@ -60,7 +60,7 @@ IoTDB 凭借其高效的时序数据管理和低延迟查询能力,有效应 ![img](/img/scenarios03.png) -## 4 应用4——钢铁冶炼 +## 4. 钢铁冶炼 ### 4.1 背景 @@ -73,7 +73,7 @@ IoTDB 通过其强大的数据存储与计算能力,为钢铁冶炼场景提 ![img](/img/scenarios04.png) -## 5 应用5——物联网 +## 5. 物联网 ### 5.1 背景 diff --git a/src/zh/UserGuide/Master/Tree/QuickStart/QuickStart_apache.md b/src/zh/UserGuide/Master/Tree/QuickStart/QuickStart_apache.md index 5f9050ece..842da6c2a 100644 --- a/src/zh/UserGuide/Master/Tree/QuickStart/QuickStart_apache.md +++ b/src/zh/UserGuide/Master/Tree/QuickStart/QuickStart_apache.md @@ -23,7 +23,7 @@ 本篇文档将帮助您了解快速入门 IoTDB 的方法。 -## 1 如何安装部署? +## 1. 如何安装部署? 本篇文档将帮助您快速安装部署 IoTDB,您可以通过以下文档的链接快速定位到所需要查看的内容: @@ -41,7 +41,7 @@ > ❗️注意:目前我们仍然推荐直接在物理机/虚拟机上安装部署,如需要 docker 部署,可参考:[Docker 部署](../Deployment-and-Maintenance/Docker-Deployment_apache.md) -## 2 如何使用? +## 2. 如何使用? 1. 数据库建模设计:数据库建模是创建数据库系统的重要步骤,它涉及到设计数据的结构和关系,以确保数据的组织方式能够满足特定应用的需求,下面的文档将会帮助您快速了解 IoTDB 的建模设计: @@ -65,7 +65,7 @@ 5. 应用编程接口: IoTDB 提供了多种应用编程接口(API),以便于开发者在应用程序中与 IoTDB 进行交互,目前支持 [Java](../API/Programming-Java-Native-API.md)、[Python](../API/Programming-Python-Native-API.md)、[C++](../API/Programming-Cpp-Native-API.md)等,更多编程接口可参见官网【应用编程接口】其他章节 -## 3 还有哪些便捷的周边工具? +## 3. 还有哪些便捷的周边工具? IoTDB 除了自身拥有丰富的功能外,其周边的工具体系包含的种类十分齐全。本篇文档将帮助您快速使用周边工具体系: @@ -76,7 +76,7 @@ IoTDB 除了自身拥有丰富的功能外,其周边的工具体系包含的 - 数据导出脚本:针对于不同场景,IoTDB 为用户提供多种批量导出数据的操作方式,具体使用介绍请查看:[数据导出](../Tools-System/Data-Export-Tool.md) -## 4 想了解更多技术细节? +## 4. 想了解更多技术细节? 如果您想了解 IoTDB 的更多技术内幕,可以移步至下面的文档: @@ -86,6 +86,6 @@ IoTDB 除了自身拥有丰富的功能外,其周边的工具体系包含的 - 数据分区和负载均衡:IoTDB 基于时序数据特性,精心设计了数据分区策略和负载均衡算法,提升了集群的可用性和性能,想了解更多请查看 [数据分区和负载均衡](../Technical-Insider/Cluster-data-partitioning.md) -## 5 使用过程中遇到问题? +## 5. 使用过程中遇到问题? 如果您在安装或使用过程中遇到困难,可以移步至 [常见问题](../FAQ/Frequently-asked-questions.md) 中进行查看 \ No newline at end of file diff --git a/src/zh/UserGuide/Master/Tree/QuickStart/QuickStart_timecho.md b/src/zh/UserGuide/Master/Tree/QuickStart/QuickStart_timecho.md index ce7b03f18..b9012e786 100644 --- a/src/zh/UserGuide/Master/Tree/QuickStart/QuickStart_timecho.md +++ b/src/zh/UserGuide/Master/Tree/QuickStart/QuickStart_timecho.md @@ -23,7 +23,7 @@ 本篇文档将帮助您了解快速入门 IoTDB 的方法。 -## 1 如何安装部署? +## 1. 如何安装部署? 本篇文档将帮助您快速安装部署 IoTDB,您可以通过以下文档的链接快速定位到所需要查看的内容: @@ -49,7 +49,7 @@ - 可视化控制台:是 IoTDB 的可视化界面,支持通过界面交互的形式提供元数据管理、数据查询、数据可视化等功能的操作,帮助用户简单、高效的使用数据库,安装步骤可查看 [可视化控制台部署](../Deployment-and-Maintenance/workbench-deployment_timecho.md) -## 2 如何使用? +## 2. 如何使用? 1. 数据库建模设计:数据库建模是创建数据库系统的重要步骤,它涉及到设计数据的结构和关系,以确保数据的组织方式能够满足特定应用的需求,下面的文档将会帮助您快速了解 IoTDB 的建模设计: @@ -77,7 +77,7 @@ 5. 应用编程接口: IoTDB 提供了多种应用编程接口(API),以便于开发者在应用程序中与 IoTDB 进行交互,目前支持[ Java 原生接口](../API/Programming-Java-Native-API.md)、[Python 原生接口](../API/Programming-Python-Native-API.md)、[C++原生接口](../API/Programming-Cpp-Native-API.md)、[Go 原生接口](../API/Programming-Go-Native-API.md)等,更多编程接口可参见官网【应用编程接口】其他章节 -## 3 还有哪些便捷的周边工具? +## 3. 还有哪些便捷的周边工具? IoTDB 除了自身拥有丰富的功能外,其周边的工具体系包含的种类十分齐全。本篇文档将帮助您快速使用周边工具体系: @@ -93,7 +93,7 @@ IoTDB 除了自身拥有丰富的功能外,其周边的工具体系包含的 - 数据导出脚本:针对于不同场景,IoTDB 为用户提供多种批量导出数据的操作方式,具体使用介绍请查看:[数据导出](../Tools-System/Data-Export-Tool.md) -## 4 想了解更多技术细节? +## 4. 想了解更多技术细节? 如果您想了解 IoTDB 的更多技术内幕,可以移步至下面的文档: @@ -104,6 +104,6 @@ IoTDB 除了自身拥有丰富的功能外,其周边的工具体系包含的 - 数据分区和负载均衡:IoTDB 基于时序数据特性,精心设计了数据分区策略和负载均衡算法,提升了集群的可用性和性能,想了解更多请查看 [数据分区和负载均衡](../Technical-Insider/Cluster-data-partitioning.md) -## 5 使用过程中遇到问题? +## 5. 使用过程中遇到问题? 如果您在安装或使用过程中遇到困难,可以移步至 [常见问题](../FAQ/Frequently-asked-questions.md) 中进行查看 \ No newline at end of file diff --git a/src/zh/UserGuide/Master/Tree/Reference/Common-Config-Manual.md b/src/zh/UserGuide/Master/Tree/Reference/Common-Config-Manual.md index 49f4b0128..dc236d086 100644 --- a/src/zh/UserGuide/Master/Tree/Reference/Common-Config-Manual.md +++ b/src/zh/UserGuide/Master/Tree/Reference/Common-Config-Manual.md @@ -21,7 +21,7 @@ # 配置参数 -## 1 公共配置参数 +## 1. 公共配置参数 IoTDB ConfigNode 和 DataNode 的公共配置参数位于 `conf` 目录下。 diff --git a/src/zh/UserGuide/Master/Tree/Reference/ConfigNode-Config-Manual.md b/src/zh/UserGuide/Master/Tree/Reference/ConfigNode-Config-Manual.md index ca71cb86d..873e4aebc 100644 --- a/src/zh/UserGuide/Master/Tree/Reference/ConfigNode-Config-Manual.md +++ b/src/zh/UserGuide/Master/Tree/Reference/ConfigNode-Config-Manual.md @@ -27,7 +27,7 @@ IoTDB ConfigNode 配置文件均位于 IoTDB 安装目录:`conf`文件夹下 * `iotdb-system.properties`:IoTDB 的配置文件。 -## 1 环境配置项(confignode-env.sh/bat) +## 1. 环境配置项(confignode-env.sh/bat) 环境配置项主要用于对 ConfigNode 运行的 Java 环境相关参数进行配置,如 JVM 相关配置。ConfigNode 启动时,此部分配置会被传给 JVM,详细配置项说明如下: @@ -58,7 +58,7 @@ IoTDB ConfigNode 配置文件均位于 IoTDB 安装目录:`conf`文件夹下 |默认值|取决于MEMORY\_SIZE的配置。| |改后生效方式|重启服务生效| -## 2 系统配置项(iotdb-system.properties) +## 2. 系统配置项(iotdb-system.properties) IoTDB 集群的全局配置通过 ConfigNode 配置。 diff --git a/src/zh/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_apache.md b/src/zh/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_apache.md index e428f16a3..be97c7962 100644 --- a/src/zh/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_apache.md +++ b/src/zh/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_apache.md @@ -27,14 +27,14 @@ IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB * `iotdb-system.properties`:IoTDB 的配置文件。 -## 1 热修改配置项 +## 1. 热修改配置项 为方便用户使用,IoTDB 为用户提供了热修改功能,即在系统运行过程中修改 `iotdb-system.properties` 中部分配置参数并即时应用到系统中。下面介绍的参数中,改后 生效方式为`热加载` 的均为支持热修改的配置参数。 通过 Session 或 Cli 发送 ```load configuration``` 或 `set configuration` 命令(SQL)至 IoTDB 可触发配置热加载。 -## 2 环境配置项(datanode-env.sh/bat) +## 2. 环境配置项(datanode-env.sh/bat) 环境配置项主要用于对 DataNode 运行的 Java 环境相关参数进行配置,如 JVM 相关配置。DataNode/Standalone 启动时,此部分配置会被传给 JVM,详细配置项说明如下: @@ -83,7 +83,7 @@ IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB |默认值|31999| |改后生效方式|重启服务生效| -## 3 系统配置项(iotdb-system.properties) +## 3. 系统配置项(iotdb-system.properties) 系统配置项是 IoTDB DataNode/Standalone 运行的核心配置,它主要用于设置 DataNode/Standalone 数据库引擎的参数。 @@ -381,7 +381,7 @@ IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB ### 3.6 Metric 配置 -## 4 开启 GC 日志 +## 4. 开启 GC 日志 GC 日志默认是关闭的。为了性能调优,用户可能会需要收集 GC 信息。 若要打开 GC 日志,则需要在启动 IoTDB Server 的时候加上"printgc"参数: diff --git a/src/zh/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_timecho.md b/src/zh/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_timecho.md index dcc415359..95f9baf68 100644 --- a/src/zh/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Reference/DataNode-Config-Manual_timecho.md @@ -27,14 +27,14 @@ IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB * `iotdb-system.properties`:IoTDB 的配置文件。 -## 1 热修改配置项 +## 1. 热修改配置项 为方便用户使用,IoTDB 为用户提供了热修改功能,即在系统运行过程中修改 `iotdb-system.properties` 中部分配置参数并即时应用到系统中。下面介绍的参数中,改后 生效方式为`热加载` 的均为支持热修改的配置参数。 通过 Session 或 Cli 发送 ```load configuration``` 或 `set configuration` 命令(SQL)至 IoTDB 可触发配置热加载。 -## 2 环境配置项(datanode-env.sh/bat) +## 2. 环境配置项(datanode-env.sh/bat) 环境配置项主要用于对 DataNode 运行的 Java 环境相关参数进行配置,如 JVM 相关配置。DataNode/Standalone 启动时,此部分配置会被传给 JVM,详细配置项说明如下: @@ -83,7 +83,7 @@ IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB |默认值|31999| |改后生效方式|重启服务生效| -## 3 系统配置项(iotdb-system.properties) +## 3. 系统配置项(iotdb-system.properties) 系统配置项是 IoTDB DataNode/Standalone 运行的核心配置,它主要用于设置 DataNode/Standalone 数据库引擎的参数。 @@ -381,7 +381,7 @@ IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB ### 3.6 Metric 配置 -## 4 开启 GC 日志 +## 4. 开启 GC 日志 GC 日志默认是关闭的。为了性能调优,用户可能会需要收集 GC 信息。 若要打开 GC 日志,则需要在启动 IoTDB Server 的时候加上"printgc"参数: diff --git a/src/zh/UserGuide/Master/Tree/Reference/UDF-Libraries_apache.md b/src/zh/UserGuide/Master/Tree/Reference/UDF-Libraries_apache.md index 03f2831c0..072b82921 100644 --- a/src/zh/UserGuide/Master/Tree/Reference/UDF-Libraries_apache.md +++ b/src/zh/UserGuide/Master/Tree/Reference/UDF-Libraries_apache.md @@ -24,7 +24,7 @@ > 注意:当前UDF函数库中的函数仅支持毫秒级的时间戳精度。 -## 1 安装步骤 +## 1. 安装步骤 1. 请获取与 IoTDB 版本兼容的 UDF 函数库 JAR 包的压缩包。 | UDF 安装包 | 支持的 IoTDB 版本 | 下载链接 | @@ -42,7 +42,7 @@ - SQL汇总语句 - 打开压缩包中的SQl文件,复制全部 SQL 语句,在 IoTDB 的 SQL 命令行终端(CLI)的 SQL 操作界面中,执行全部 SQl 语句批量注册 UDF -## 2 数据质量 +## 2. 数据质量 ### 2.1 Completeness @@ -592,7 +592,7 @@ select validity(s1,"window"="15") from root.test.d1 where time <= 2020-01-01 00: --> -## 3 数据画像 +## 3. 数据画像 ### 3.1 ACF diff --git a/src/zh/UserGuide/Master/Tree/SQL-Manual/Function-and-Expression.md b/src/zh/UserGuide/Master/Tree/SQL-Manual/Function-and-Expression.md index a55c164fe..883c63ca2 100644 --- a/src/zh/UserGuide/Master/Tree/SQL-Manual/Function-and-Expression.md +++ b/src/zh/UserGuide/Master/Tree/SQL-Manual/Function-and-Expression.md @@ -21,7 +21,7 @@ # 内置函数与表达式 -## 1 聚合函数 +## 1. 聚合函数 聚合函数是多对一函数。它们对一组值进行聚合计算,得到单个聚合结果。 @@ -502,7 +502,7 @@ IoTDB> select min_by(b, a) from root.test group by ([0,7),4ms) order by time des --> -## 2 算数运算符和函数 +## 2. 算数运算符和函数 ### 2.1 算数运算符 @@ -639,7 +639,7 @@ It costs 0.059s --> -## 3 比较运算符和函数 +## 3. 比较运算符和函数 ### 3.1 基本比较运算符 @@ -949,7 +949,7 @@ IoTDB> select ts, in_range(ts, 'lower'='2', 'upper'='3.1') from root.test; --> -## 4 逻辑运算符 +## 4. 逻辑运算符 ### 4.1 一元逻辑运算符 @@ -1012,7 +1012,7 @@ IoTDB> select a, b, a > 10, a <= b, !(a <= b), a > 10 && a > b from root.test; --> -## 5 字符串处理 +## 5. 字符串处理 ### 5.1 STRING_CONTAINS @@ -1917,7 +1917,7 @@ select regexsplit(s1, "regex"=",", "index"="3") from root.test.d1 --> -## 6 数据类型转换 +## 6. 数据类型转换 ### 6.1 CAST @@ -2020,7 +2020,7 @@ IoTDB> select cast(s6 as BOOLEAN) from root.sg.d1 where time >= 2 --> -## 7 常序列生成函数 +## 7. 常序列生成函数 常序列生成函数用于生成所有数据点的值都相同的时间序列。 @@ -2078,7 +2078,7 @@ It costs 0.005s --> -## 8 选择函数 +## 8. 选择函数 目前 IoTDB 支持如下选择函数: @@ -2130,7 +2130,7 @@ It costs 0.006s --> -## 9 区间查询函数 +## 9. 区间查询函数 ### 9.1 连续满足区间函数 @@ -2206,7 +2206,7 @@ select s1, zero_count(s1), non_zero_count(s2), zero_duration(s3), non_zero_durat --> -## 10 趋势计算函数 +## 10. 趋势计算函数 目前 IoTDB 支持如下趋势计算函数: @@ -2321,7 +2321,7 @@ SELECT DIFF(s1, 'ignoreNull'='false'), DIFF(s2, 'ignoreNull'='false') from root. --> -## 11 采样函数 +## 11. 采样函数 ### 11.1 等数量分桶降采样函数 @@ -2724,7 +2724,7 @@ select M4(s1,'timeInterval'='$__interval_ms') from root.sg1.d1 --> -## 12 时间序列处理 +## 12. 时间序列处理 ### 12.1 CHANGE_POINTS @@ -2794,7 +2794,7 @@ select change_points(s1), change_points(s2), change_points(s3), change_points(s4 --> -## 13 Lambda 表达式 +## 13. Lambda 表达式 ### 13.1 JEXL 自定义函数 @@ -2877,7 +2877,7 @@ It costs 0.118s --> -## 14 条件表达式 +## 14. 条件表达式 ### 14.1 CASE diff --git a/src/zh/UserGuide/Master/Tree/SQL-Manual/Keywords.md b/src/zh/UserGuide/Master/Tree/SQL-Manual/Keywords.md index f42175a45..36836f76a 100644 --- a/src/zh/UserGuide/Master/Tree/SQL-Manual/Keywords.md +++ b/src/zh/UserGuide/Master/Tree/SQL-Manual/Keywords.md @@ -21,13 +21,13 @@ # 关键字 -## 1 保留字(不能用于作为标识符): +## 1. 保留字(不能用于作为标识符): - ROOT - TIME - TIMESTAMP -## 2 一般关键字: +## 2. 一般关键字: - ADD - AFTER diff --git a/src/zh/UserGuide/Master/Tree/SQL-Manual/Operator-and-Expression.md b/src/zh/UserGuide/Master/Tree/SQL-Manual/Operator-and-Expression.md index 13ee7f6f2..c3c694dba 100644 --- a/src/zh/UserGuide/Master/Tree/SQL-Manual/Operator-and-Expression.md +++ b/src/zh/UserGuide/Master/Tree/SQL-Manual/Operator-and-Expression.md @@ -21,7 +21,7 @@ # 函数与运算符 -## 1 运算符 +## 1. 运算符 ### 1.1 算数运算符 |运算符 |含义| |----------------------------|-----------| @@ -83,7 +83,7 @@ AND, &, && OR, |, || ``` -## 2 内置函数 +## 2. 内置函数 列表中的函数无须注册即可在 IoTDB 中使用,数据函数质量库中的函数需要参考注册步骤进行注册后才能使用。 diff --git a/src/zh/UserGuide/Master/Tree/SQL-Manual/SQL-Manual.md b/src/zh/UserGuide/Master/Tree/SQL-Manual/SQL-Manual.md index 4793dfbdb..cf86a4fd4 100644 --- a/src/zh/UserGuide/Master/Tree/SQL-Manual/SQL-Manual.md +++ b/src/zh/UserGuide/Master/Tree/SQL-Manual/SQL-Manual.md @@ -1,6 +1,6 @@ # SQL手册 -## 1 元数据操作 +## 1. 元数据操作 ### 1.1 数据库管理 @@ -360,7 +360,7 @@ IoTDB> SHOW TTL ON pathPattern ```sql IoTDB> show DEVICES ``` -## 2 写入数据 +## 2. 写入数据 ### 2.1 写入单列数据 ```sql @@ -412,7 +412,7 @@ load '' [sglevel=int][onSuccess=delete/none] - `load '/Users/Desktop/data' onSuccess=delete` - `load '/Users/Desktop/data' sglevel=1 onSuccess=delete` -## 3 删除数据 +## 3. 删除数据 ### 3.1 删除单列数据 ```sql @@ -465,7 +465,7 @@ IoTDB> delete from root.ln.wf03.wt02.status where time < now() Msg: The statement is executed successfully. ``` -## 4 数据查询 +## 4. 数据查询 ### 4.1 基础查询 @@ -1021,7 +1021,7 @@ select * into ::(backup_${4}) from root.sg.** align by device; select s1, s2 into root.sg_copy.d1(t1, t2), aligned root.sg_copy.d2(t1, t2) from root.sg.d1, root.sg.d2 align by device; ``` -## 5 运维语句 +## 5. 运维语句 生成对应的查询计划 ``` explain select s1,s2 from root.sg.d1 @@ -1030,7 +1030,7 @@ explain select s1,s2 from root.sg.d1 ``` explain analyze select s1,s2 from root.sg.d1 order by s1 ``` -## 6 运算符 +## 6. 运算符 更多见文档[Operator-and-Expression](./Operator-and-Expression.md) @@ -1081,7 +1081,7 @@ select a, a in (1, 2) from root.test; select a, b, a > 10, a <= b, !(a <= b), a > 10 && a > b from root.test; ``` -## 7 内置函数 +## 7. 内置函数 更多见文档[Operator-and-Expression](./Operator-and-Expression.md#聚合函数) @@ -1212,7 +1212,7 @@ select M4(s1,'windowSize'='10') from root.vehicle.d1 select change_points(s1), change_points(s2), change_points(s3), change_points(s4), change_points(s5), change_points(s6) from root.testChangePoints.d1 ``` -## 8 数据质量函数库 +## 8. 数据质量函数库 更多见文档[UDF-Libraries](../SQL-Manual/UDF-Libraries.md) @@ -1462,7 +1462,7 @@ select representation(s0,"tb"="3","vb"="2") from root.test.d0 select rm(s0, s1,"tb"="3","vb"="2") from root.test.d0 ``` -## 9 Lambda 表达式 +## 9. Lambda 表达式 更多见文档[Lambda](./Operator-and-Expression.md#lambda-表达式) @@ -1470,7 +1470,7 @@ select rm(s0, s1,"tb"="3","vb"="2") from root.test.d0 select jexl(temperature, 'expr'='x -> {x + x}') as jexl1, jexl(temperature, 'expr'='x -> {x * 3}') as jexl2, jexl(temperature, 'expr'='x -> {x * x}') as jexl3, jexl(temperature, 'expr'='x -> {multiply(x, 100)}') as jexl4, jexl(temperature, st, 'expr'='(x, y) -> {x + y}') as jexl5, jexl(temperature, st, str, 'expr'='(x, y, z) -> {x + y + z}') as jexl6 from root.ln.wf01.wt01;``` ``` -## 10 条件表达式 +## 10. 条件表达式 更多见文档[Conditional Expressions](./Operator-and-Expression.md#条件表达式) @@ -1508,7 +1508,7 @@ end as `result` from root.test4 ``` -## 11 触发器 +## 11. 触发器 ### 11.1 使用 SQL 语句注册该触发器 ```sql @@ -1608,7 +1608,7 @@ DROP TRIGGER triggerTest1 ```sql SHOW TRIGGERS ``` -## 12 连续查询(Continuous Query, CQ) +## 12. 连续查询(Continuous Query, CQ) ### 12.1 语法 @@ -1789,7 +1789,7 @@ END ```sql SELECT avg(count_s1) from root.sg_count.d; ``` -## 12 用户自定义函数 +## 12. 用户自定义函数 ### 12.1 UDFParameters ```sql @@ -1840,7 +1840,7 @@ SELECT s1, s2, s1 + example(s1, s2), s1 - example(s1 + example(s1, s2) / s2) FRO ```sql SHOW FUNCTIONS ``` -## 13 权限管理 +## 13. 权限管理 ### 13.1 用户与角色相关 diff --git a/src/zh/UserGuide/Master/Tree/SQL-Manual/Syntax-Rule.md b/src/zh/UserGuide/Master/Tree/SQL-Manual/Syntax-Rule.md index 45e2976d2..c4a9961e4 100644 --- a/src/zh/UserGuide/Master/Tree/SQL-Manual/Syntax-Rule.md +++ b/src/zh/UserGuide/Master/Tree/SQL-Manual/Syntax-Rule.md @@ -20,7 +20,7 @@ --> # 标识符 -## 1 字面值常量 +## 1. 字面值常量 该部分对 IoTDB 中支持的字面值常量进行说明,包括字符串常量、数值型常量、时间戳常量、布尔型常量和空值。 @@ -150,7 +150,7 @@ `NULL`值表示没有数据。`NULL`对大小写不敏感。 -## 2 标识符 +## 2. 标识符 ### 2.1 使用场景 diff --git a/src/zh/UserGuide/Master/Tree/SQL-Manual/UDF-Libraries_apache.md b/src/zh/UserGuide/Master/Tree/SQL-Manual/UDF-Libraries_apache.md index 03f2831c0..096fd4c16 100644 --- a/src/zh/UserGuide/Master/Tree/SQL-Manual/UDF-Libraries_apache.md +++ b/src/zh/UserGuide/Master/Tree/SQL-Manual/UDF-Libraries_apache.md @@ -24,7 +24,7 @@ > 注意:当前UDF函数库中的函数仅支持毫秒级的时间戳精度。 -## 1 安装步骤 +## 1. 安装步骤 1. 请获取与 IoTDB 版本兼容的 UDF 函数库 JAR 包的压缩包。 | UDF 安装包 | 支持的 IoTDB 版本 | 下载链接 | @@ -42,7 +42,7 @@ - SQL汇总语句 - 打开压缩包中的SQl文件,复制全部 SQL 语句,在 IoTDB 的 SQL 命令行终端(CLI)的 SQL 操作界面中,执行全部 SQl 语句批量注册 UDF -## 2 数据质量 +## 2. 数据质量 ### 2.1 Completeness @@ -592,7 +592,7 @@ select validity(s1,"window"="15") from root.test.d1 where time <= 2020-01-01 00: --> -## 3 数据画像 +## 3. 数据画像 ### 3.1 ACF @@ -2486,7 +2486,7 @@ select zscore(s1) from root.test --> -## 4 异常检测 +## 4. 异常检测 ### 4.1 IQR @@ -3366,7 +3366,7 @@ select MasterDetect(lo,la,m_lo,m_la,model,'output_type'='anomaly','p'='3','k'='3 --> -## 5 频域分析 +## 5. 频域分析 ### 5.1 Conv @@ -4073,7 +4073,7 @@ select envelope(s1),envelope(s1,'frequency'='1000'),envelope(s1,'amplification'= --> -## 6 数据匹配 +## 6. 数据匹配 ### 6.1 Cov @@ -4437,7 +4437,7 @@ select xcorr(s1, s2) from root.test.d1 where time <= 2020-01-01 00:00:05 --> -## 7 数据修复 +## 7. 数据修复 ### 7.1 TimestampRepair @@ -4966,7 +4966,7 @@ select seasonalrepair(s1,'method'='improved','period'=3) from root.test.d2 --> -## 8 序列发现 +## 8. 序列发现 ### 8.1 ConsecutiveSequences @@ -5152,7 +5152,7 @@ select consecutivewindows(s1,s2,'length'='10m') from root.test.d1 --> -## 9 机器学习 +## 9. 机器学习 ### 9.1 AR diff --git a/src/zh/UserGuide/Master/Tree/SQL-Manual/UDF-Libraries_timecho.md b/src/zh/UserGuide/Master/Tree/SQL-Manual/UDF-Libraries_timecho.md index 5321bc23d..42756d5e2 100644 --- a/src/zh/UserGuide/Master/Tree/SQL-Manual/UDF-Libraries_timecho.md +++ b/src/zh/UserGuide/Master/Tree/SQL-Manual/UDF-Libraries_timecho.md @@ -24,7 +24,7 @@ > 注意:当前UDF函数库中的函数仅支持毫秒级的时间戳精度。 -## 1 安装步骤 +## 1. 安装步骤 1. 请获取与 IoTDB 版本兼容的 UDF 函数库 JAR 包的压缩包。 | UDF 安装包 | 支持的 IoTDB 版本 | 下载链接 | @@ -42,7 +42,7 @@ - SQL汇总语句 - 打开压缩包中的SQl文件,复制全部 SQL 语句,在 IoTDB 的 SQL 命令行终端(CLI)或可视化控制台(Workbench)的 SQL 操作界面中,执行全部 SQl 语句批量注册 UDF -## 2 数据质量 +## 2. 数据质量 ### 2.1 Completeness @@ -592,7 +592,7 @@ select validity(s1,"window"="15") from root.test.d1 where time <= 2020-01-01 00: --> -## 3 数据画像 +## 3. 数据画像 ### 3.1 ACF @@ -2486,7 +2486,7 @@ select zscore(s1) from root.test --> -## 4 异常检测 +## 4. 异常检测 ### 4.1 IQR @@ -3366,7 +3366,7 @@ select MasterDetect(lo,la,m_lo,m_la,model,'output_type'='anomaly','p'='3','k'='3 --> -## 5 频域分析 +## 5. 频域分析 ### 5.1 Conv @@ -4060,7 +4060,7 @@ select envelope(s1),envelope(s1,'frequency'='1000'),envelope(s1,'amplification'= ``` -## 6 数据匹配 +## 6. 数据匹配 ### 6.1 Cov @@ -4424,7 +4424,7 @@ select xcorr(s1, s2) from root.test.d1 where time <= 2020-01-01 00:00:05 --> -## 7 数据修复 +## 7. 数据修复 ### 7.1 TimestampRepair @@ -4953,7 +4953,7 @@ select seasonalrepair(s1,'method'='improved','period'=3) from root.test.d2 --> -## 8 序列发现 +## 8. 序列发现 ### 8.1 ConsecutiveSequences @@ -5139,7 +5139,7 @@ select consecutivewindows(s1,s2,'length'='10m') from root.test.d1 --> -## 9 机器学习 +## 9. 机器学习 ### 9.1 AR diff --git a/src/zh/UserGuide/Master/Tree/Technical-Insider/Cluster-data-partitioning.md b/src/zh/UserGuide/Master/Tree/Technical-Insider/Cluster-data-partitioning.md index d8fb03381..c5bdc673d 100644 --- a/src/zh/UserGuide/Master/Tree/Technical-Insider/Cluster-data-partitioning.md +++ b/src/zh/UserGuide/Master/Tree/Technical-Insider/Cluster-data-partitioning.md @@ -22,7 +22,7 @@ # 负载均衡 本文档介绍 IoTDB 中的分区策略和负载均衡策略。根据时序数据的特性,IoTDB 按序列和时间维度对其进行分区。结合序列分区与时间分区创建一个分区,作为划分的基本单元。为了提高吞吐量并降低管理成本,这些分区被均匀分配到分片(Region)中,分片是复制的基本单元。分片的副本决定了数据的存储位置,主副本负责主要负载的管理。在此过程中,副本放置算法决定哪些节点将持有分片副本,而主副本选择算法则指定哪个副本将成为主副本。 -## 1 分区策略和分区分配 +## 1. 分区策略和分区分配 IoTDB 为时间序列数据实现了量身定制的分区算法。在此基础上,缓存于配置节点和数据节点上的分区信息不仅易于管理,而且能够清晰区分冷热数据。随后,平衡的分区被均匀分配到集群的分片中,以实现存储均衡。 ### 1.1 分区策略 @@ -70,7 +70,7 @@ $$\text{RegionGroupNumber}=\left\lfloor\frac{\sum_{i=1}^{DataNodeNumber}\text{Re 值得注意的是,IoTDB 有效利用了时序数据的特性。当配置了 TTL(生存时间)时,IoTDB 可实现无需迁移的时序数据弹性存储,该功能在集群扩展时最小化了对在线操作的影响。上图展示了该功能的一个实例:新生成的数据分区被均匀分配到每个数据分片,过期数据会自动归档。因此,集群的存储最终将保持平衡。 -## 2 均衡策略 +## 2. 均衡策略 为了提高集群的可用性和性能,IoTDB 采用了精心设计的存储均衡和计算均衡算法。 ### 2.1 存储均衡 @@ -103,7 +103,7 @@ $$\text{RegionGroupNumber}=\left\lfloor\frac{\sum_{i=1}^{DataNodeNumber}\text{Re 为了解决这个问题,IoTDB 采用了一种主副本选择算法,能够持续平衡集群中的主副本分布。因此,集群实现了计算负载的均衡分布,确保了其性能。 -## 3 Source Code +## 3. Source Code + [数据分区](https://github.com/apache/iotdb/tree/master/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/partition) + [分区分配](https://github.com/apache/iotdb/tree/master/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/partition) + [副本放置](https://github.com/apache/iotdb/tree/master/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/副本) diff --git a/src/zh/UserGuide/Master/Tree/Technical-Insider/Encoding-and-Compression.md b/src/zh/UserGuide/Master/Tree/Technical-Insider/Encoding-and-Compression.md index 0fb8a3a29..877f08b02 100644 --- a/src/zh/UserGuide/Master/Tree/Technical-Insider/Encoding-and-Compression.md +++ b/src/zh/UserGuide/Master/Tree/Technical-Insider/Encoding-and-Compression.md @@ -21,7 +21,7 @@ # 编码和压缩 -## 1 编码方式 +## 1. 编码方式 ### 1.1 基本编码方式 @@ -97,7 +97,7 @@ IoTDB> create timeseries root.ln.wf02.wt02.status WITH DATATYPE=BOOLEAN, ENCODIN Msg: 507: encoding TS_2DIFF does not support BOOLEAN ``` -## 2 压缩方式 +## 2. 压缩方式 当时间序列写入并按照指定的类型编码为二进制数据后,IoTDB 会使用压缩技术对该数据进行压缩,进一步提升空间存储效率。虽然编码和压缩都旨在提升存储效率,但编码技术通常只适合特定的数据类型(如二阶差分编码只适合与 INT32 或者 INT64 编码,存储浮点数需要先将他们乘以 10m 以转换为整数),然后将它们转换为二进制流。压缩方式(SNAPPY)针对二进制流进行压缩,因此压缩方式的使用不再受数据类型的限制。 diff --git a/src/zh/UserGuide/Master/Tree/Tools-System/Benchmark.md b/src/zh/UserGuide/Master/Tree/Tools-System/Benchmark.md index efafdaf7a..d3c5026dc 100644 --- a/src/zh/UserGuide/Master/Tree/Tools-System/Benchmark.md +++ b/src/zh/UserGuide/Master/Tree/Tools-System/Benchmark.md @@ -21,7 +21,7 @@ # 测试工具 -## 1 概述 +## 1. 概述 IoT-benchmark 是基于 Java 和大数据环境开发的时序数据库基准测试工具,由清华大学软件学院研发并开源。它使用方便,支持多种写入以及查询方式,支持存储测试信息和结果以供进一步查询或分析,支持与 Tableau 集成以可视化测试结果。 @@ -205,7 +205,7 @@ IoT-benchmark目前支持通过配置参数“TEST_DATA_PERSISTENCE”将测试 如果我们设置“TEST_DATA_PERSISTENCE=CSV”,测试执行时和执行完毕后我们可以在IoT-benchmark根目录下看到新生成的data文件夹,其下包含csv文件夹记录测试过程;csvOutput文件夹记录测试结果。如果我们设置“TEST_DATA_PERSISTENCE=MySQL”,它会在测试开始前在指定的MySQL数据库中创建命名如“testWithDefaultPath_被测数据库名称_备注_测试启动时间”的数据表记录测试过程;会在名为“CONFIG”的数据表(如果不存在则创建该表),写入本次测试的配置信息;当测试完成时会在名为“FINAL_RESULT”的数据表(如果不存在则创建该表)中写入本次测试结果。 -## 2 实际案例 +## 2. 实际案例 我们以中车青岛四方车辆研究所有限公司应用为例,参考《ApacheIoTDB在智能运维平台存储中的应用》中描述的场景进行实际操作说明。 diff --git a/src/zh/UserGuide/Master/Tree/Tools-System/CLI.md b/src/zh/UserGuide/Master/Tree/Tools-System/CLI.md index d37f9bc9e..7c508d22c 100644 --- a/src/zh/UserGuide/Master/Tree/Tools-System/CLI.md +++ b/src/zh/UserGuide/Master/Tree/Tools-System/CLI.md @@ -24,7 +24,7 @@ IOTDB 为用户提供 cli/Shell 工具用于启动客户端和服务端程序。下面介绍每个 cli/Shell 工具的运行方式和相关参数。 > \$IOTDB\_HOME 表示 IoTDB 的安装目录所在路径。 -## 1 安装 +## 1. 安装 如果使用源码版,可以在 iotdb 的根目录下执行 ```shell @@ -35,7 +35,7 @@ IOTDB 为用户提供 cli/Shell 工具用于启动客户端和服务端程序。 如果你下载的是二进制版,那么 Cli 可以在 sbin 文件夹下直接找到。 -## 2 运行 +## 2. 运行 ### 2.1 Cli 运行方式 安装后的 IoTDB 中有一个默认用户:`root`,默认密码为`root`。用户可以使用该用户尝试运行 IoTDB 客户端以测试服务器是否正常启动。客户端启动脚本为$IOTDB_HOME/sbin 文件夹下的`start-cli`脚本。启动脚本时需要指定运行 IP 和 RPC PORT。以下为服务器在本机启动,且用户未更改运行端口号的示例,默认端口为 6667。若用户尝试连接远程服务器或更改了服务器运行的端口号,请在-h 和-p 项处使用服务器的 IP 和 RPC PORT。
diff --git a/src/zh/UserGuide/Master/Tree/Tools-System/Data-Export-Tool.md b/src/zh/UserGuide/Master/Tree/Tools-System/Data-Export-Tool.md index c597aa464..361d5076e 100644 --- a/src/zh/UserGuide/Master/Tree/Tools-System/Data-Export-Tool.md +++ b/src/zh/UserGuide/Master/Tree/Tools-System/Data-Export-Tool.md @@ -1,10 +1,10 @@ # 数据导出 -## 1 导出工具介绍 +## 1. 导出工具介绍 导出工具可以将 SQL 查询的数据导出为指定的格式,包含用于导出 TsFile 文件的 `export-tsfile.sh/bat` 脚本和支持 CSV 和 SQL 格式的导出的 `export-data.sh/bat` 脚本。 -## 2 支持的数据类型 +## 2. 支持的数据类型 - CSV:纯文本格式,存储格式化数据,需按照下文指定 CSV 格式进行构造 @@ -12,7 +12,7 @@ - TsFile: IoTDB 中使用的时间序列的文件格式 -## 3 export-tsfile 脚本 +## 3. export-tsfile 脚本 支持 TsFile: IoTDB 中使用的时间序列的文件格式 @@ -68,7 +68,7 @@ tools/export-tsfile.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s ./sql.tx tools/export-tsfile.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s ./sql.txt -f myTsFile -t 10000 ``` -## 4 export-data 脚本 +## 4. export-data 脚本 支持 CSV:纯文本格式,存储格式化数据,需按照下文指定 CSV 格式进行构造 diff --git a/src/zh/UserGuide/Master/Tree/Tools-System/Data-Import-Tool.md b/src/zh/UserGuide/Master/Tree/Tools-System/Data-Import-Tool.md index fd7021e13..4c14acdf9 100644 --- a/src/zh/UserGuide/Master/Tree/Tools-System/Data-Import-Tool.md +++ b/src/zh/UserGuide/Master/Tree/Tools-System/Data-Import-Tool.md @@ -1,6 +1,6 @@ # 数据导入 -## 1 IoTDB 数据导入 +## 1. IoTDB 数据导入 IoTDB 目前支持将 CSV、SQL、及TsFile(IoTDB底层开放式时间序列文件格式)格式的数据导入数据库。具体功能如下: @@ -32,7 +32,7 @@ IoTDB 目前支持将 CSV、SQL、及TsFile(IoTDB底层开放式时间序列
-## 2 import-data 脚本 +## 2. import-data 脚本 - 支持格式:CSV、SQL @@ -100,7 +100,7 @@ IoTDB 目前支持将 CSV、SQL、及TsFile(IoTDB底层开放式时间序列 >tools/import-data.bat -h 192.168.100.1 -p 6667 -u root -pw root -s ./data/dump0_0.csv -fd ./failed/ -aligned true -batch 100000 -tp ms -typeInfer boolean=text,float=double -lpf 1000 ``` -## 3 load-tsfile 脚本 +## 3. load-tsfile 脚本 - 支持格式:TsFile @@ -141,7 +141,7 @@ IoTDB 目前支持将 CSV、SQL、及TsFile(IoTDB底层开放式时间序列 > tools/load_data.bat -h 127.0.0.1 -p 6667 -u root -pw root -s /path/sql -os delete -of delete -tn 8 ``` -## 4 TsFile 主动监听&加载功能 +## 4. TsFile 主动监听&加载功能 TsFile 主动监听&加载功能能够主动监听指定目标路径(用户配置)下TsFile的文件变化,并将目标路径下的TsFile文件自动同步至指定接收路径(用户配置)。通过此功能,IoTDB 能自动检测并加载这些文件,无需手动执行任何额外的加载操作。这种自动化流程不仅简化了用户的操作步骤,还减少了操作过程中可能出现的错误,有效降低了用户在使用过程中的复杂性。 diff --git a/src/zh/UserGuide/Master/Tree/Tools-System/Maintenance-Tool_apache.md b/src/zh/UserGuide/Master/Tree/Tools-System/Maintenance-Tool_apache.md index 9062be9fb..55d6828dc 100644 --- a/src/zh/UserGuide/Master/Tree/Tools-System/Maintenance-Tool_apache.md +++ b/src/zh/UserGuide/Master/Tree/Tools-System/Maintenance-Tool_apache.md @@ -21,7 +21,7 @@ # 集群管理工具 -## 1 数据文件夹概览工具 +## 1. 数据文件夹概览工具 IoTDB数据文件夹概览工具用于打印出数据文件夹的结构概览信息,工具位置为 tools/tsfile/print-iotdb-data-dir。 @@ -82,7 +82,7 @@ data dir num:1 |============================================================== ````````````````````````` -## 2 TsFile概览工具 +## 2. TsFile概览工具 TsFile概览工具用于以概要模式打印出一个TsFile的内容,工具位置为 tools/tsfile/print-tsfile。 @@ -170,7 +170,7 @@ file length: 2974 - "|||||||||||||||||||||"是为增强可读性而添加的导引信息,不是TsFile中实际存储的数据。 - 最后打印的"IndexOfTimerseriesIndex Tree"是对TsFile文件末尾的元数据索引树的重新整理打印,便于直观理解,不是TsFile中存储的实际数据。 -## 3 TsFile Resource概览工具 +## 3. TsFile Resource概览工具 TsFile resource概览工具用于打印出TsFile resource文件的内容,工具位置为 tools/tsfile/print-tsfile-resource-files。 diff --git a/src/zh/UserGuide/Master/Tree/Tools-System/Maintenance-Tool_timecho.md b/src/zh/UserGuide/Master/Tree/Tools-System/Maintenance-Tool_timecho.md index ebc8b6b7f..1457e848a 100644 --- a/src/zh/UserGuide/Master/Tree/Tools-System/Maintenance-Tool_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Tools-System/Maintenance-Tool_timecho.md @@ -21,7 +21,7 @@ # 集群管理工具 -## 1 集群管理工具 +## 1. 集群管理工具 IoTDB 集群管理工具是一款易用的运维工具(企业版工具)。旨在解决 IoTDB 分布式系统多节点的运维难题,主要包括集群部署、集群启停、弹性扩容、配置更新、数据导出等功能,从而实现对复杂数据库集群的一键式指令下发,极大降低管理难度。本文档将说明如何用集群管理工具远程部署、配置、启动和停止 IoTDB 集群实例。 @@ -805,7 +805,7 @@ 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 数据文件夹概览工具 +## 2. 数据文件夹概览工具 IoTDB数据文件夹概览工具用于打印出数据文件夹的结构概览信息,工具位置为 tools/tsfile/print-iotdb-data-dir。 @@ -866,7 +866,7 @@ data dir num:1 |============================================================== ````````````````````````` -## 3 TsFile概览工具 +## 3. TsFile概览工具 TsFile概览工具用于以概要模式打印出一个TsFile的内容,工具位置为 tools/tsfile/print-tsfile。 @@ -954,7 +954,7 @@ file length: 2974 - "|||||||||||||||||||||"是为增强可读性而添加的导引信息,不是TsFile中实际存储的数据。 - 最后打印的"IndexOfTimerseriesIndex Tree"是对TsFile文件末尾的元数据索引树的重新整理打印,便于直观理解,不是TsFile中存储的实际数据。 -## 4 TsFile Resource概览工具 +## 4. TsFile Resource概览工具 TsFile resource概览工具用于打印出TsFile resource文件的内容,工具位置为 tools/tsfile/print-tsfile-resource-files。 diff --git a/src/zh/UserGuide/Master/Tree/Tools-System/Monitor-Tool_apache.md b/src/zh/UserGuide/Master/Tree/Tools-System/Monitor-Tool_apache.md index 12eed8823..7ad7d7a40 100644 --- a/src/zh/UserGuide/Master/Tree/Tools-System/Monitor-Tool_apache.md +++ b/src/zh/UserGuide/Master/Tree/Tools-System/Monitor-Tool_apache.md @@ -24,7 +24,7 @@ 监控工具的部署可参考文档 [监控面板部署](../Deployment-and-Maintenance/Monitoring-panel-deployment.md) 章节。 -## 1 监控指标的 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 修改配置文件 +## 2. 修改配置文件 1) 以 DataNode 为例,修改 iotdb-system.properties 配置文件如下: @@ -60,7 +60,7 @@ file_count{name="seq",} 2.0 ... ``` -## 3 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) -## 4 Apache IoTDB Dashboard +## 4. Apache IoTDB Dashboard `Apache IoTDB Dashboard`是 IoTDB 企业版的配套产品,支持统一集中式运维管理,可通过一个监控面板监控多个集群。你可以联系商务获取到 Dashboard 的 Json文件。 diff --git a/src/zh/UserGuide/Master/Tree/Tools-System/Monitor-Tool_timecho.md b/src/zh/UserGuide/Master/Tree/Tools-System/Monitor-Tool_timecho.md index c44210e51..9002bdf28 100644 --- a/src/zh/UserGuide/Master/Tree/Tools-System/Monitor-Tool_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Tools-System/Monitor-Tool_timecho.md @@ -24,7 +24,7 @@ 监控工具的部署可参考文档 [监控面板部署](../Deployment-and-Maintenance/Monitoring-panel-deployment.md) 章节。 -## 1 监控指标的 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 修改配置文件 +## 2. 修改配置文件 1) 以 DataNode 为例,修改 iotdb-system.properties 配置文件如下: @@ -60,7 +60,7 @@ file_count{name="seq",} 2.0 ... ``` -## 3 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) -## 4 Apache IoTDB Dashboard +## 4. Apache IoTDB Dashboard 我们提供了Apache IoTDB Dashboard,支持统一集中式运维管理,可通过一个监控面板监控多个集群。 diff --git a/src/zh/UserGuide/Master/Tree/Tools-System/Workbench_timecho.md b/src/zh/UserGuide/Master/Tree/Tools-System/Workbench_timecho.md index 3ecf4934e..423a657a8 100644 --- a/src/zh/UserGuide/Master/Tree/Tools-System/Workbench_timecho.md +++ b/src/zh/UserGuide/Master/Tree/Tools-System/Workbench_timecho.md @@ -2,10 +2,10 @@ 可视化控制台的部署可参考文档 [可视化控制台部署](../Deployment-and-Maintenance/workbench-deployment_timecho.md) 章节。 -## 1 产品介绍 +## 1. 产品介绍 IoTDB可视化控制台是在IoTDB企业版时序数据库基础上针对工业场景的实时数据收集、存储与分析一体化的数据管理场景开发的扩展组件,旨在为用户提供高效、可靠的实时数据存储和查询解决方案。它具有体量轻、性能高、易使用的特点,完美对接 Hadoop 与 Spark 生态,适用于工业物联网应用中海量时间序列数据高速写入和复杂分析查询的需求。 -## 2 使用说明 +## 2. 使用说明 IoTDB的可视化控制台包含以下功能模块: | **功能模块** | **功能说明** | | ------------ | ------------------------------------------------------------ | diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/AINode_apache.md b/src/zh/UserGuide/Master/Tree/User-Manual/AINode_apache.md index 8f4b1274d..c5875c2cd 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/AINode_apache.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/AINode_apache.md @@ -33,7 +33,7 @@ AINode 是 IoTDB 在ConfigNode、DataNode后提供的第三种内生节点,该 - **DataNode**:负责接收并解析用户的 SQL请求;负责存储时间序列数据;负责数据的预处理计算。 - **AINode**:负责模型文件的导入创建以及模型推理。 -## 1 优势特点 +## 1. 优势特点 与单独构建机器学习服务相比,具有以下优势: @@ -49,7 +49,7 @@ AINode 是 IoTDB 在ConfigNode、DataNode后提供的第三种内生节点,该 - **时间序列标注(Time Series Annotation)**:为每个数据点或特定时间段添加额外的信息或标记,例如事件发生、异常点、趋势变化等,以便更好地理解和分析数据。 -## 2 基本概念 +## 2. 基本概念 - **模型(Model)**:机器学习模型,以时序数据作为输入,输出分析任务的结果或决策。模型是AINode 的基本管理单元,支持模型的增(注册)、删、查、用(推理)。 - **创建(Create)**: 将外部设计或训练好的模型文件或算法加载到MLNode中,由IoTDB统一管理与使用。 @@ -60,11 +60,11 @@ AINode 是 IoTDB 在ConfigNode、DataNode后提供的第三种内生节点,该 ::: -## 3 安装部署 +## 3. 安装部署 AINode 的部署可参考文档 [部署指导](../Deployment-and-Maintenance/AINode_Deployment_apache.md#ainode-部署) 章节。 -## 4 使用指导 +## 4. 使用指导 AINode 对时序数据相关的深度学习模型提供了模型创建及删除的流程,内置模型无需创建及删除,可直接使用,并且在完成推理后创建的内置模型实例将自动销毁。 @@ -441,7 +441,7 @@ Total line number = 4 其中结果集中每行的标签对应每24行数据为一组,输入该异常检测模型后的输出。 -## 5 权限管理 +## 5. 权限管理 使用AINode相关的功能时,可以使用IoTDB本身的鉴权去做一个权限管理,用户只有在具备 USE_MODEL 权限时,才可以使用模型管理的相关功能。当使用推理功能时,用户需要有访问输入模型的SQL对应的源序列的权限。 @@ -450,7 +450,7 @@ Total line number = 4 | USE_MODEL | create model / show models / drop model | √ | √ | x | | READ_DATA | call inference | √ | √ | √ | -## 6 实际案例 +## 6. 实际案例 ### 6.1 电力负载预测 diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/AINode_timecho.md b/src/zh/UserGuide/Master/Tree/User-Manual/AINode_timecho.md index 3f4aa77e0..9bb18f4e5 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/AINode_timecho.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/AINode_timecho.md @@ -33,7 +33,7 @@ AINode 是 IoTDB 在ConfigNode、DataNode后提供的第三种内生节点,该 - **DataNode**:负责接收并解析用户的 SQL请求;负责存储时间序列数据;负责数据的预处理计算。 - **AINode**:负责模型文件的导入创建以及模型推理。 -## 1 优势特点 +## 1. 优势特点 与单独构建机器学习服务相比,具有以下优势: @@ -49,7 +49,7 @@ AINode 是 IoTDB 在ConfigNode、DataNode后提供的第三种内生节点,该 - **时间序列标注(Time Series Annotation)**:为每个数据点或特定时间段添加额外的信息或标记,例如事件发生、异常点、趋势变化等,以便更好地理解和分析数据。 -## 2 基本概念 +## 2. 基本概念 - **模型(Model)**:机器学习模型,以时序数据作为输入,输出分析任务的结果或决策。模型是AINode 的基本管理单元,支持模型的增(注册)、删、查、用(推理)。 - **创建(Create)**: 将外部设计或训练好的模型文件或算法加载到MLNode中,由IoTDB统一管理与使用。 @@ -60,11 +60,11 @@ AINode 是 IoTDB 在ConfigNode、DataNode后提供的第三种内生节点,该 ::: -## 3 安装部署 +## 3. 安装部署 AINode 的部署可参考文档 [部署指导](../Deployment-and-Maintenance/AINode_Deployment_timecho.md#AINode-部署) 章节。 -## 4 使用指导 +## 4. 使用指导 AINode 对时序数据相关的深度学习模型提供了模型创建及删除的流程,内置模型无需创建及删除,可直接使用,并且在完成推理后创建的内置模型实例将自动销毁。 @@ -441,7 +441,7 @@ Total line number = 4 其中结果集中每行的标签对应每24行数据为一组,输入该异常检测模型后的输出。 -## 5 权限管理 +## 5. 权限管理 使用AINode相关的功能时,可以使用IoTDB本身的鉴权去做一个权限管理,用户只有在具备 USE_MODEL 权限时,才可以使用模型管理的相关功能。当使用推理功能时,用户需要有访问输入模型的SQL对应的源序列的权限。 @@ -450,7 +450,7 @@ Total line number = 4 | USE_MODEL | create model / show models / drop model | √ | √ | x | | READ_DATA | call inference | √ | √ | √ | -## 6 实际案例 +## 6. 实际案例 ### 6.1 电力负载预测 diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/Audit-Log_timecho.md b/src/zh/UserGuide/Master/Tree/User-Manual/Audit-Log_timecho.md index 2aacd8444..991be279f 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/Audit-Log_timecho.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/Audit-Log_timecho.md @@ -22,7 +22,7 @@ # 审计日志 -## 1 功能背景 +## 1. 功能背景 审计日志是数据库的记录凭证,通过审计日志功能可以查询到用户在数据库中增删改查等各项操作,以保证信息安全。关于IoTDB的审计日志功能可以实现以下场景的需求: @@ -56,7 +56,7 @@ -## 2 功能定义 +## 2. 功能定义 diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/Authority-Management.md b/src/zh/UserGuide/Master/Tree/User-Manual/Authority-Management.md index d58d4cdf3..cecb60898 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/Authority-Management.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/Authority-Management.md @@ -24,7 +24,7 @@ IoTDB 为用户提供了权限管理操作,为用户提供对数据与集群系统的权限管理功能,保障数据与系统安全。 本篇介绍IoTDB 中权限模块的基本概念、用户定义、权限管理、鉴权逻辑与功能用例。在 JAVA 编程环境中,您可以使用 [JDBC API](../API/Programming-JDBC.md) 单条或批量执行权限管理类语句。 -## 1 基本概念 +## 1. 基本概念 ### 1.1 用户 @@ -44,7 +44,7 @@ IoTDB 为用户提供了权限管理操作,为用户提供对数据与集群 一个新创建的用户或角色不具备任何权限。 -## 2 用户定义 +## 2. 用户定义 拥有 MANAGE_USER、MANAGE_ROLE 的用户或者管理员可以创建用户或者角色,需要满足以下约束: @@ -64,7 +64,7 @@ IoTDB 为用户提供了权限管理操作,为用户提供对数据与集群 用户无法创建和管理员用户同名的角色。 -## 3 权限管理 +## 3. 权限管理 IoTDB 主要有两类权限:序列权限、全局权限。 @@ -128,7 +128,7 @@ IoTDB 主要有两类权限:序列权限、全局权限。 -## 4 鉴权 +## 4. 鉴权 用户权限主要由三部分组成:权限生效范围(路径), 权限类型, with grant option 标记: @@ -151,7 +151,7 @@ userTest1 : -## 5 功能语法与示例 +## 5. 功能语法与示例 IoTDB 提供了组合权限,方便用户授权: @@ -275,7 +275,7 @@ eg: ALTER USER tempuser SET PASSWORD 'newpwd'; 用户使用授权语句对赋予其他用户权限,语法如下: ```SQL -GRANT ON TO ROLE/USER [WITH GRANT OPTION]; +GRANT ON TO ROLE/USER [WITH GRANT OPTION]; eg: GRANT READ ON root.** TO ROLE role1; eg: GRANT READ_DATA, WRITE_DATA ON root.t1.** TO USER user1; eg: GRANT READ_DATA, WRITE_DATA ON root.t1.**,root.t2.** TO USER user1; @@ -331,7 +331,7 @@ eg: REVOKE ALL ON ROOT.** FROM USER user1; root.t1*.t2.t3 ``` -## 6 示例 +## 6. 示例 根据本文中描述的 [样例数据](https://github.com/thulab/iotdb/files/4438687/OtherMaterial-Sample.Data.txt) 内容,IoTDB 的样例数据可能同时属于 ln, sgcc 等不同发电集团,不同的发电集团不希望其他发电集团获取自己的数据库数据,因此我们需要将不同的数据在集团层进行权限隔离。 @@ -430,7 +430,7 @@ IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp, status) values(1509465600000, tr Msg: 803: No permissions for this operation, please add privilege WRITE_DATA on [root.ln.wf01.wt01.status] ``` -## 7 其他说明 +## 7. 其他说明 角色是权限的集合,而权限和角色都是用户的一种属性。即一个角色可以拥有若干权限。一个用户可以拥有若干角色与权限(称为用户自身权限)。 @@ -440,7 +440,7 @@ Msg: 803: No permissions for this operation, please add privilege WRITE_DATA on 同时,对角色的修改会立即反映到所有拥有该角色的用户上,例如对角色增加某种权限将立即使所有拥有该角色的用户都拥有对应权限,删除某种权限也将使对应用户失去该权限(除非用户本身有该权限)。 -## 8 升级说明 +## 8. 升级说明 在 1.3 版本前,权限类型较多,在这一版实现中,权限类型做了精简,并且添加了对权限路径的约束。 diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/Data-Recovery.md b/src/zh/UserGuide/Master/Tree/User-Manual/Data-Recovery.md index 95902c846..f58cf75e1 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/Data-Recovery.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/Data-Recovery.md @@ -23,7 +23,7 @@ 用于修复数据中存在的问题,如顺序空间内的数据未按时间递增顺序排列。 -## 1 START REPAIR DATA +## 1. START REPAIR DATA 启动一个数据修复任务,扫描创建修复任务的时间之前产生的 tsfile 文件并修复有乱序错误的文件。 @@ -33,7 +33,7 @@ IoTDB> START REPAIR DATA ON LOCAL IoTDB> START REPAIR DATA ON CLUSTER ``` -## 2 STOP REPAIR DATA +## 2. STOP REPAIR DATA 停止一个进行中的修复任务。如果需要再次恢复一个已停止的数据修复任务的进度,可以重新执行 `START REPAIR DATA`. diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_apache.md b/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_apache.md index 8acb21db6..ef41e2e37 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_apache.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_apache.md @@ -22,7 +22,7 @@ # 数据同步 数据同步是工业物联网的典型需求,通过数据同步机制,可实现 IoTDB 之间的数据共享,搭建完整的数据链路来满足内网外网数据互通、端边云同步、数据迁移、数据备份等需求。 -## 1 功能概述 +## 1. 功能概述 ### 1.1 数据同步 @@ -88,7 +88,7 @@ - 在进行数据同步任务时,请避免执行任何删除操作,防止两端状态不一致。 -## 2 使用说明 +## 2. 使用说明 数据同步任务有三种状态:RUNNING、STOPPED 和 DROPPED。任务状态转换如下图所示: @@ -257,7 +257,7 @@ IoTDB> SHOW PIPEPLUGINS 导入自定义插件可参考[流处理框架](./Streaming_apache.md#自定义流处理插件管理)章节。 -## 3 使用示例 +## 3. 使用示例 ### 3.1 全量数据同步 @@ -410,7 +410,7 @@ with sink ( ) ``` -## 4 参考:注意事项 +## 4. 参考:注意事项 可通过修改 IoTDB 配置文件(`iotdb-system.properties`)以调整数据同步的参数,如同步数据存储目录等。完整配置如下:: @@ -474,7 +474,7 @@ pipe_sink_max_client_number=16 pipe_all_sinks_rate_limit_bytes_per_second=-1 ``` -## 5 参考:参数说明 +## 5. 参考:参数说明 ### 5.1 source 参数(V1.3.3) diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_timecho.md b/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_timecho.md index beda99c85..c91ef222d 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_timecho.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/Data-Sync_timecho.md @@ -22,7 +22,7 @@ # 数据同步 数据同步是工业物联网的典型需求,通过数据同步机制,可实现 IoTDB 之间的数据共享,搭建完整的数据链路来满足内网外网数据互通、端边云同步、数据迁移、数据备份等需求。 -## 1 功能概述 +## 1. 功能概述 ### 1.1 数据同步 @@ -90,7 +90,7 @@ - 在进行数据同步任务时,请避免执行任何删除操作,防止两端状态不一致。 -## 2 使用说明 +## 2. 使用说明 数据同步任务有三种状态:RUNNING、STOPPED 和 DROPPED。任务状态转换如下图所示: @@ -265,7 +265,7 @@ IoTDB> SHOW PIPEPLUGINS 导入自定义插件可参考[流处理框架](./Streaming_timecho.md#自定义流处理插件管理)章节。 -## 3 使用示例 +## 3. 使用示例 ### 3.1 全量数据同步 @@ -483,7 +483,7 @@ with sink ( ) ``` -## 4 参考:注意事项 +## 4. 参考:注意事项 可通过修改 IoTDB 配置文件(`iotdb-system.properties`)以调整数据同步的参数,如同步数据存储目录等。完整配置如下:: @@ -558,7 +558,7 @@ pipe_air_gap_receiver_port=9780 pipe_all_sinks_rate_limit_bytes_per_second=-1 ``` -## 5 参考:参数说明 +## 5. 参考:参数说明 ### 5.1 source 参数(V1.3.3) diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/Data-subscription.md b/src/zh/UserGuide/Master/Tree/User-Manual/Data-subscription.md index e77b9b74e..cb46617a5 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/Data-subscription.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/Data-subscription.md @@ -1,6 +1,6 @@ # 数据订阅 -## 1 功能介绍 +## 1. 功能介绍 IoTDB 数据订阅模块(又称 IoTDB 订阅客户端)是IoTDB V1.3.3 版本后支持的功能,它为用户提供了一种区别于数据查询的流式数据消费方式。它参考了 Kafka 等消息队列产品的基本概念和逻辑,**提供数据订阅和消费接口**,但并不是为了完全替代这些消费队列的产品,更多的是在简单流式获取数据的场景为用户提供更加便捷的数据订阅服务。 @@ -9,7 +9,7 @@ IoTDB 数据订阅模块(又称 IoTDB 订阅客户端)是IoTDB V1.3.3 版本 1. **持续获取最新数据**:使用订阅的方式,比定时查询更实时、应用编程更简单、系统负担更小; 2. **简化数据推送至第三方系统**:无需在 IoTDB 内部开发不同系统的数据推送组件,可以在第三方系统内实现数据的流式获取,更方便将数据发送至 Flink、Kafka、DataX、Camel、MySQL、PG 等系统。 -## 2 主要概念 +## 2. 主要概念 IoTDB 订阅客户端包含 3 个核心概念:Topic、Consumer、Consumer Group,具体关系如下图 @@ -29,7 +29,7 @@ IoTDB 订阅客户端包含 3 个核心概念:Topic、Consumer、Consumer Grou - 一个 topic 不需要被一个 consumer group 中的所有 consumer 订阅 - 当同一个 Consumer Group 中不同的 Consumers 订阅了相同的 Topic 时,该 Topic 下的每条数据只会被组内的一个 Consumer 处理,确保数据不会被重复处理 -## 3 SQL 语句 +## 3. SQL 语句 ### 3.1 Topic 管理 @@ -125,11 +125,11 @@ SHOW SUBSCRIPTIONS ON - ConsumerGroupName:用户代码中指定的消费者组 ID - SubscribedConsumers:该消费者组中订阅了该主题的所有客户端 ID -## 4 API 接口 +## 4. API 接口 除 SQL 语句外,IoTDB 还支持通过 Java 原生接口使用数据订阅功能。详细语法参见页面:Java 原生接口([链接](../API/Programming-Java-Native-API.md))。 -## 5 常见问题 +## 5. 常见问题 ### 5.1 IoTDB 数据订阅与 Kafka 的区别是什么? diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/Database-Programming.md b/src/zh/UserGuide/Master/Tree/User-Manual/Database-Programming.md index 4c994ee39..789cd4b9c 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/Database-Programming.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/Database-Programming.md @@ -21,12 +21,12 @@ # 连续查询 -## 1 简介 +## 1. 简介 连续查询(Continuous queries, aka CQ) 是对实时数据周期性地自动执行的查询,并将查询结果写入指定的时间序列中。 用户可以通过连续查询实现滑动窗口流式计算,如计算某个序列每小时平均温度,并写入一个新序列中。用户可以自定义 `RESAMPLE` 子句去创建不同的滑动窗口,可以实现对于乱序数据一定程度的容忍。 -## 2 语法 +## 2. 语法 ```sql CREATE (CONTINUOUS QUERY | CQ) @@ -97,7 +97,7 @@ END - `DISCARD`意味着如果前一个时间窗口还未执行完,我们会直接丢弃下一个窗口的执行时间。如果使用`DISCARD`策略,可能会有部分时间窗口得不到执行。但是一旦前一个查询执行完后,它将会使用最新的时间窗口,所以它的执行结果总能赶上最新的时间窗口范围,当然是以部分时间窗口得不到执行为代价。 -## 3 连续查询的用例 +## 3. 连续查询的用例 下面是用例数据,这是一个实时的数据流,我们假设数据都按时到达。 @@ -480,7 +480,7 @@ At **2021-05-11T22:19:00.000+08:00**, `cq5` executes a query within the time ran +-----------------------------+-------------------------------+-----------+ ```` -## 4 连续查询的管理 +## 4. 连续查询的管理 ### 4.1 查询系统已有的连续查询 @@ -528,7 +528,7 @@ DROP CONTINUOUS QUERY s1_count_cq; 目前连续查询一旦被创建就不能再被修改。如果想要修改某个连续查询,只能先用`DROP`命令删除它,然后再用`CREATE`命令重新创建。 -## 5 连续查询的使用场景 +## 5. 连续查询的使用场景 ### 5.1 对数据进行降采样并对降采样后的数据使用不同的保留策略 @@ -579,7 +579,7 @@ SELECT avg(count_s1) from root.sg_count.d; ``` -## 6 连续查询相关的配置参数 +## 6. 连续查询相关的配置参数 | 参数名 | 描述 | 类型 | 默认值 | | :---------------------------------- |----------------------|----------|---------------| | `continuous_query_submit_thread_count` | 用于周期性提交连续查询执行任务的线程数 | int32 | 2 | diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/IoTDB-View_timecho.md b/src/zh/UserGuide/Master/Tree/User-Manual/IoTDB-View_timecho.md index 091b2064c..e5dc7c08f 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/IoTDB-View_timecho.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/IoTDB-View_timecho.md @@ -21,7 +21,7 @@ # 视图 -## 1 序列视图应用背景 +## 1. 序列视图应用背景 ### 1.1 应用场景1 时间序列重命名(PI资产管理) @@ -53,7 +53,7 @@ 2. 简化业务层查询逻辑。 3. 辅助权限管理,通过视图向特定用户开放数据。 -## 2 序列视图概念 +## 2. 序列视图概念 ### 2.1 术语概念 @@ -130,7 +130,7 @@ 这是因为进行业务查询时,面向视图的用户关心的是当前视图的结构,而如果使用group by tag等方式做查询,显然希望是得到视图下含有对应tag的分组效果,而非时间序列的tag的分组效果(用户甚至对那些时间序列毫无感知)。 -## 3 序列视图功能介绍 +## 3. 序列视图功能介绍 ### 3.1 创建视图 @@ -518,7 +518,7 @@ IoTDB> 上述两种查询都涉及视图的数据类型。视图的数据类型是根据定义视图的查询语句或别名序列的原始时间序列类型推断出来的。这个数据类型是根据当前系统的状态实时计算出来的,因此在不同时刻查询到的数据类型可能是改变的。 -## 4 FAQ +## 4. FAQ #### Q1:我想让视图实现类型转换的功能。例如,原有一个int32类型的时间序列,和其他int64类型的序列被放在了同一个视图中。我现在希望通过视图查询到的数据,都能自动转换为int64类型。 diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/Load-Balance.md b/src/zh/UserGuide/Master/Tree/User-Manual/Load-Balance.md index 72e52cecd..c499ab937 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/Load-Balance.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/Load-Balance.md @@ -23,7 +23,7 @@ Region 迁移属于高级运维功能,具有一定操作成本,建议完整阅读后再使用该功能。如有疑问请联系 IoTDB 团队寻求技术支持。 -## 1 功能介绍 +## 1. 功能介绍 IoTDB 是一个分布式数据库,数据的均衡分布对集群的磁盘空间、写入压力的负载均衡有着重要作用,region 是数据在 IoTDB 集群中进行分布式存储的基本单元,具体概念可见[region](../Background-knowledge/Cluster-Concept.md)。 @@ -34,14 +34,14 @@ IoTDB 是一个分布式数据库,数据的均衡分布对集群的磁盘空 ![](/img/region%E8%BF%81%E7%A7%BB%E7%A4%BA%E6%84%8F%E5%9B%BE20241210.png) -## 2 注意事项 +## 2. 注意事项 1. 推荐仅在 IoTDB 1.3.3 以及更高版本使用 Region 迁移功能。 2. 仅在共识协议为 IoTConsensus、Ratis 时支持 Region 迁移(iotdb-system.properties中的`schema_region_consensus_protocol_class` 和 `data_region_consensus_protocol_class`)。 3. Region 迁移会占用硬盘和网络带宽等系统资源,推荐在低业务负载时进行。 4. 在理想情况下,Region 迁移不影响用户侧读写。特殊情况下,Region 迁移可能阻塞写入,这种情况的具体鉴别与处理方式见使用说明。 -## 3 使用说明 +## 3. 使用说明 - **语法定义**: diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/Query-Performance-Analysis.md b/src/zh/UserGuide/Master/Tree/User-Manual/Query-Performance-Analysis.md index 998682ed1..dc2ad5733 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/Query-Performance-Analysis.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/Query-Performance-Analysis.md @@ -20,7 +20,7 @@ --> # 运维语句 -## 1 查询性能分析 +## 1. 查询性能分析 查询分析的意义在于帮助用户理解查询的执行机制和性能瓶颈,从而实现查询优化和性能提升。这不仅关乎到查询的执行效率,也直接影响到应用的用户体验和资源的有效利用。为了进行有效的查询分析,**IoTDB** **V1.3.2及以上版本**提供了查询分析语句:Explain 和 Explain Analyze。 diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/Streaming_apache.md b/src/zh/UserGuide/Master/Tree/User-Manual/Streaming_apache.md index c2ee7495f..9a79f6fd7 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/Streaming_apache.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/Streaming_apache.md @@ -42,7 +42,7 @@ Pipe Source 用于抽取数据,Pipe Processor 用于处理数据,Pipe Sink 利用流处理框架,可以搭建完整的数据链路来满足端*边云同步、异地灾备、读写负载分库*等需求。 -## 1 自定义流处理插件开发 +## 1. 自定义流处理插件开发 ### 1.1 编程开发依赖 @@ -438,7 +438,7 @@ public interface PipeSink extends PipePlugin { } ``` -## 2 自定义流处理插件管理 +## 2. 自定义流处理插件管理 为了保证用户自定义插件在实际生产中的灵活性和易用性,系统还需要提供对插件进行动态统一管理的能力。 本章节介绍的流处理插件管理语句提供了对插件进行动态统一管理的入口。 @@ -486,7 +486,7 @@ DROP PIPEPLUGIN [IF EXISTS] <别名> SHOW PIPEPLUGINS ``` -## 3 系统预置的流处理插件 +## 3. 系统预置的流处理插件 ### 3.1 预置 source 插件 @@ -561,7 +561,7 @@ SHOW PIPEPLUGINS |------|-----------------|-------------------------|-----------------------------------| | sink | do-nothing-sink | String: do-nothing-sink | required | -## 4 流处理任务管理 +## 4. 流处理任务管理 ### 4.1 创建流处理任务 @@ -728,7 +728,7 @@ WHERE SINK USED BY ![状态迁移图](/img/%E7%8A%B6%E6%80%81%E8%BF%81%E7%A7%BB%E5%9B%BE.png) -## 5 权限管理 +## 5. 权限管理 ### 5.1 流处理任务 @@ -750,7 +750,7 @@ WHERE SINK USED BY | USE_PIPE | 卸载流处理任务插件。路径无关。 | | USE_PIPE | 查询流处理任务插件。路径无关。 | -## 6 配置参数 +## 6. 配置参数 在 iotdb-system.properties 中: diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/Streaming_timecho.md b/src/zh/UserGuide/Master/Tree/User-Manual/Streaming_timecho.md index 1f707da61..b8ecd936e 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/Streaming_timecho.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/Streaming_timecho.md @@ -42,7 +42,7 @@ Pipe Source 用于抽取数据,Pipe Processor 用于处理数据,Pipe Sink 利用流处理框架,可以搭建完整的数据链路来满足端*边云同步、异地灾备、读写负载分库*等需求。 -## 1 自定义流处理插件开发 +## 1. 自定义流处理插件开发 ### 1.1 编程开发依赖 @@ -438,7 +438,7 @@ public interface PipeSink extends PipePlugin { } ``` -## 2 自定义流处理插件管理 +## 2. 自定义流处理插件管理 为了保证用户自定义插件在实际生产中的灵活性和易用性,系统还需要提供对插件进行动态统一管理的能力。 本章节介绍的流处理插件管理语句提供了对插件进行动态统一管理的入口。 @@ -502,7 +502,7 @@ DROP PIPEPLUGIN [IF EXISTS] <别名> SHOW PIPEPLUGINS ``` -## 3 系统预置的流处理插件 +## 3. 系统预置的流处理插件 ### 3.1 预置 source 插件 @@ -590,7 +590,7 @@ SHOW PIPEPLUGINS |------|-----------------|-------------------------|-----------------------------------| | sink | do-nothing-sink | String: do-nothing-sink | required | -## 4 流处理任务管理 +## 4. 流处理任务管理 ### 4.1 创建流处理任务 @@ -763,7 +763,7 @@ WHERE SINK USED BY ![状态迁移图](/img/%E7%8A%B6%E6%80%81%E8%BF%81%E7%A7%BB%E5%9B%BE.png) -## 5 权限管理 +## 5. 权限管理 ### 5.1 流处理任务 @@ -785,7 +785,7 @@ WHERE SINK USED BY | USE_PIPE | 卸载流处理任务插件。路径无关。 | | USE_PIPE | 查询流处理任务插件。路径无关。 | -## 6 配置参数 +## 6. 配置参数 在 iotdb-system.properties 中: diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/Tiered-Storage_timecho.md b/src/zh/UserGuide/Master/Tree/User-Manual/Tiered-Storage_timecho.md index 7e3d3bfce..1bc65232c 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/Tiered-Storage_timecho.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/Tiered-Storage_timecho.md @@ -20,11 +20,11 @@ --> # 多级存储 -## 1 概述 +## 1. 概述 多级存储功能向用户提供多种存储介质管理的能力,用户可以使用多级存储功能为 IoTDB 配置不同类型的存储介质,并为存储介质进行分级。具体的,在 IoTDB 中,多级存储的配置体现为多目录的管理。用户可以将多个存储目录归为同一类,作为一个“层级”向 IoTDB 中配置,这种“层级”我们称之为 storage tier;同时,用户可以根据数据的冷热进行分类,并将不同类别的数据存储到指定的“层级”中。当前 IoTDB 支持通过数据的 TTL 进行冷热数据的分类,当一个层级中的数据不满足当前层级定义的 TTL 规则时,该数据会被自动迁移至下一层级中。 -## 2 参数定义 +## 2. 参数定义 在 IoTDB 中开启多级存储,需要进行以下几个方面的配置: @@ -49,7 +49,7 @@ | remote_tsfile_cache_max_disk_usage_in_mb | 51200 | 云端存储本地缓存的最大磁盘占用大小 | 如果未使用远端存储,无需配置 | -## 3 本地多级存储配置示例 +## 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 远端多级存储配置示例 +## 4. 远端多级存储配置示例 以下以三级存储为例: diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/Trigger.md b/src/zh/UserGuide/Master/Tree/User-Manual/Trigger.md index c03613913..ea64b0ee5 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/Trigger.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/Trigger.md @@ -21,7 +21,7 @@ # 触发器 -## 1 使用说明 +## 1. 使用说明 触发器提供了一种侦听序列数据变动的机制。配合用户自定义逻辑,可完成告警、数据转发等功能。 @@ -45,7 +45,7 @@ IoTDB 的单个触发器可用于侦听符合特定模式的时间序列的数 - BEFORE INSERT,即在数据持久化之前触发。请注意,目前触发器并不支持数据清洗,不会对要持久化的数据本身进行变动。 - AFTER INSERT,即在数据持久化之后触发。 -## 2 编写触发器 +## 2. 编写触发器 ### 2.1 触发器依赖 @@ -319,7 +319,7 @@ public class ClusterAlertingExample implements Trigger { } } ``` -## 3 管理触发器 +## 3. 管理触发器 您可以通过 SQL 语句注册和卸载一个触发器实例,您也可以通过 SQL 语句查询到所有已经注册的触发器。 @@ -448,7 +448,7 @@ SHOW TRIGGERS | DROPPING | 执行 `DROP TRIGGER` 的中间状态,集群正处在卸载该触发器的过程中 | 否 | | TRANSFERRING | 集群正在进行该触发器实例位置的迁移 | 否 | -## 4 重要注意事项 +## 4. 重要注意事项 - 触发器从注册时开始生效,不对已有的历史数据进行处理。**即只有成功注册触发器之后发生的写入请求才会被触发器侦听到。** - 触发器目前采用**同步触发**,所以编写时需要保证触发器效率,否则可能会大幅影响写入性能。**您需要自己保证触发器内部的并发安全性**。 @@ -459,7 +459,7 @@ SHOW TRIGGERS - 触发器 JAR 包有大小限制,必须小于 min(`config_node_ratis_log_appender_buffer_size_max`, 2G),其中 `config_node_ratis_log_appender_buffer_size_max` 是一个配置项,具体含义可以参考 IOTDB 配置项说明。 - **不同的 JAR 包中最好不要有全类名相同但功能实现不一样的类**。例如:触发器 trigger1、trigger2 分别对应资源 trigger1.jar、trigger2.jar。如果两个 JAR 包里都包含一个 `org.apache.iotdb.trigger.example.AlertListener` 类,当 `CREATE TRIGGER` 使用到这个类时,系统会随机加载其中一个 JAR 包中的类,最终导致触发器执行行为不一致以及其他的问题。 -## 5 配置参数 +## 5. 配置参数 | 配置项 | 含义 | | ------------------------------------------------- | ---------------------------------------------- | diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/UDF-development.md b/src/zh/UserGuide/Master/Tree/User-Manual/UDF-development.md index fc252335c..24e0366ad 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/UDF-development.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/UDF-development.md @@ -1,6 +1,6 @@ # UDF 开发 -## 1 UDF 开发 +## 1. UDF 开发 ### 1.1 UDF 依赖 @@ -675,7 +675,7 @@ UDAF 的结束方法,您可以在此方法中进行一些资源释放等的操 如果您使用 [Maven](http://search.maven.org/),可以参考我们编写的示例项目**udf-example**。您可以在 [这里](https://github.com/apache/iotdb/tree/master/example/udf) 找到它。 -## 2 为iotdb贡献通用的内置UDF函数 +## 2. 为iotdb贡献通用的内置UDF函数 该部分主要讲述了外部用户如何将自己编写的 UDF 贡献给 IoTDB 社区。 diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_apache.md b/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_apache.md index 6d49a6eca..924ea47f7 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_apache.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_apache.md @@ -1,6 +1,6 @@ # 用户自定义函数 -## 1 UDF 介绍 +## 1. UDF 介绍 UDF(User Defined Function)即用户自定义函数,IoTDB 提供多种内建的面向时序处理的函数,也支持扩展自定义函数来满足更多的计算需求。 @@ -78,11 +78,11 @@ SELECT s1, s2, s1 + example(s1, s2), s1 - example(s1 + example(s1, s2) / s2) FRO ``` -## 2 UDF 开发 +## 2. UDF 开发 可以参考 UDF函数开发:[开发指导](./UDF-development.md) -## 3 UDF 管理 +## 3. UDF 管理 ### 3.1 UDF 注册 @@ -191,13 +191,13 @@ udf_reader_transformer_collector_memory_proportion=1:1:1 更多用户权限相关的内容,请参考 [权限管理语句](../User-Manual/Authority-Management.md##权限管理)。 -## 4 UDF 函数库 +## 4. UDF 函数库 基于用户自定义函数能力,IoTDB 提供了一系列关于时序数据处理的函数,包括数据质量、数据画像、异常检测、 频域分析、数据匹配、数据修复、序列发现、机器学习等,能够满足工业领域对时序数据处理的需求。 可以参考 [UDF 函数库](../SQL-Manual/UDF-Libraries_apache.md)文档,查找安装步骤及每个函数对应的注册语句,以确保正确注册所有需要的函数。 -## 5 常见问题 +## 5. 常见问题 1. 如何修改已经注册的 UDF? diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_timecho.md b/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_timecho.md index 3e5325a94..2fd50ed9b 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_timecho.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/User-defined-function_timecho.md @@ -1,6 +1,6 @@ # 用户自定义函数 -## 1 UDF 介绍 +## 1. UDF 介绍 UDF(User Defined Function)即用户自定义函数,IoTDB 提供多种内建的面向时序处理的函数,也支持扩展自定义函数来满足更多的计算需求。 @@ -78,11 +78,11 @@ SELECT s1, s2, s1 + example(s1, s2), s1 - example(s1 + example(s1, s2) / s2) FRO ``` -## 2 UDF 开发 +## 2. UDF 开发 可以参考 UDF函数开发:[开发指导](./UDF-development.md) -## 3 UDF 管理 +## 3. UDF 管理 ### 3.1 UDF 注册 @@ -191,13 +191,13 @@ udf_reader_transformer_collector_memory_proportion=1:1:1 更多用户权限相关的内容,请参考 [权限管理语句](../User-Manual/Authority-Management.md##权限管理)。 -## 4 UDF 函数库 +## 4. UDF 函数库 基于用户自定义函数能力,IoTDB 提供了一系列关于时序数据处理的函数,包括数据质量、数据画像、异常检测、 频域分析、数据匹配、数据修复、序列发现、机器学习等,能够满足工业领域对时序数据处理的需求。 可以参考 [UDF 函数库](../SQL-Manual/UDF-Libraries_timecho.md)文档,查找安装步骤及每个函数对应的注册语句,以确保正确注册所有需要的函数。 -## 5 常见问题 +## 5. 常见问题 1. 如何修改已经注册的 UDF? diff --git a/src/zh/UserGuide/Master/Tree/User-Manual/White-List_timecho.md b/src/zh/UserGuide/Master/Tree/User-Manual/White-List_timecho.md index 0db9d1d9d..e5176f313 100644 --- a/src/zh/UserGuide/Master/Tree/User-Manual/White-List_timecho.md +++ b/src/zh/UserGuide/Master/Tree/User-Manual/White-List_timecho.md @@ -22,17 +22,17 @@ # 白名单 -## 1 功能描述 +## 1. 功能描述 允许哪些客户端地址能连接 IoTDB -## 2 配置文件 +## 2. 配置文件 conf/iotdb-system.properties conf/white.list -## 3 配置项 +## 3. 配置项 iotdb-system.properties: diff --git a/src/zh/UserGuide/latest/API/Programming-CSharp-Native-API.md b/src/zh/UserGuide/latest/API/Programming-CSharp-Native-API.md index 2dfe568b4..d4f94771c 100644 --- a/src/zh/UserGuide/latest/API/Programming-CSharp-Native-API.md +++ b/src/zh/UserGuide/latest/API/Programming-CSharp-Native-API.md @@ -21,13 +21,13 @@ # C# 原生接口 -## 1 依赖 +## 1. 依赖 - .NET SDK >= 5.0 或 .NET Framework 4.x - Thrift >= 0.14.1 - NLog >= 4.7.9 -## 2 安装 +## 2. 安装 您可以使用 NuGet Package Manager, .NET CLI等工具来安装,以 .NET CLI为例 @@ -50,7 +50,7 @@ dotnet add package Apache.IoTDB.framework dotnet add package Apache.IoTDB --version 0.12.1.2 ``` -## 3 基本接口说明 +## 3. 基本接口说明 Session接口在语义上和其他语言客户端相同 @@ -88,7 +88,7 @@ await session_pool.InsertTabletAsync(tablet); await session_pool.Close(); ``` -## 4 **Row Record** +## 4. **Row Record** - 对**IoTDB**中的`record`数据进行封装和抽象。 - 示例: @@ -124,7 +124,7 @@ var tablet = -## 5 **API** +## 5. **API** ### 5.1 **基础接口** @@ -188,7 +188,7 @@ var tablet = 用法可以参考[用户示例](https://github.com/apache/iotdb-client-csharp/tree/main/samples/Apache.IoTDB.Samples) -## 6 连接池 +## 6. 连接池 为了实现并发客户端请求,我们提供了针对原生接口的连接池(`SessionPool`),由于`SessionPool`本身为`Session`的超集,当`SessionPool`的`pool_size`参数设置为1时,退化为原来的`Session` @@ -198,7 +198,7 @@ var tablet = 当一个连接被用完后,他会自动返回池中等待下次被使用 -## 7 ByteBuffer +## 7. ByteBuffer 在传入RPC接口参数时,需要对Record和Tablet两种数据结构进行序列化,我们主要通过封装的ByteBuffer类实现 @@ -266,7 +266,7 @@ private void extend_buffer(int space_need){ 通过上述的策略,我们在一个有`20000`行的Tablet上进行测试时,序列化速度相比Naive数组长度动态生长实现算法具有约35倍的性能加速。 -## 8 异常重连 +## 8. 异常重连 当服务端发生异常或者宕机重启时,客户端中原来通过`Open()`产生的的session会失效,抛出`TException`异常 diff --git a/src/zh/UserGuide/latest/API/Programming-Cpp-Native-API.md b/src/zh/UserGuide/latest/API/Programming-Cpp-Native-API.md index 76dff7c84..be83e82d1 100644 --- a/src/zh/UserGuide/latest/API/Programming-Cpp-Native-API.md +++ b/src/zh/UserGuide/latest/API/Programming-Cpp-Native-API.md @@ -21,7 +21,7 @@ # C++ 原生接口 -## 1 依赖 +## 1. 依赖 - Java 8+ - Flex @@ -31,7 +31,7 @@ - GCC 5.5.0+ -## 2 安装 +## 2. 安装 ### 2.1 安装相关依赖 @@ -163,7 +163,7 @@ A: - 执行 `.\mvnw.cmd clean install` - 回到 iotdb 代码目录执行 `.\mvnw.cmd clean package -pl example/client-cpp-example -am -DskipTests -P with-cpp -Dcmake.generator="Visual Studio 15 2017"` -## 3 基本接口说明 +## 3. 基本接口说明 下面将给出 Session 接口的简要介绍和原型定义: @@ -404,7 +404,7 @@ void executeNonQueryStatement(const std::string &sql); ``` -## 4 示例代码 +## 4. 示例代码 示例工程源代码: @@ -413,7 +413,7 @@ void executeNonQueryStatement(const std::string &sql); 编译成功后,示例代码工程位于 `example/client-cpp-example/target` -## 5 FAQ +## 5. FAQ ### 5.1 Thrift 编译相关问题 diff --git a/src/zh/UserGuide/latest/API/Programming-Data-Subscription.md b/src/zh/UserGuide/latest/API/Programming-Data-Subscription.md index 981c28e32..b2b4c6e36 100644 --- a/src/zh/UserGuide/latest/API/Programming-Data-Subscription.md +++ b/src/zh/UserGuide/latest/API/Programming-Data-Subscription.md @@ -23,7 +23,7 @@ IoTDB 提供了强大的数据订阅功能,允许用户通过订阅 API 实时获取 IoTDB 新增的数据。详细的功能定义及介绍:[数据订阅](../User-Manual/Data-subscription.md) -## 1 核心步骤 +## 1. 核心步骤 1. 创建Topic:创建一个Topic,Topic中包含希望订阅的测点。 2. 订阅Topic:在 consumer 订阅 topic 前,topic 必须已经被创建,否则订阅会失败。同一个 consumer group 下的 consumers 会均分数据。 @@ -31,7 +31,7 @@ IoTDB 提供了强大的数据订阅功能,允许用户通过订阅 API 实时 4. 取消订阅: consumer close 时会退出对应的 consumer group,同时取消现存的所有订阅。 -## 2 详细步骤 +## 2. 详细步骤 本章节用于说明开发的核心流程,并未演示所有的参数和接口,如需了解全部功能及参数请参见: [全量接口说明](./Programming-Java-Native-API.md#3-全量接口说明) @@ -181,7 +181,7 @@ public class DataConsumerExample { -## 3 全量接口说明 +## 3. 全量接口说明 ### 3.1 参数列表 diff --git a/src/zh/UserGuide/latest/API/Programming-Go-Native-API.md b/src/zh/UserGuide/latest/API/Programming-Go-Native-API.md index 5c12e8489..99f8d748c 100644 --- a/src/zh/UserGuide/latest/API/Programming-Go-Native-API.md +++ b/src/zh/UserGuide/latest/API/Programming-Go-Native-API.md @@ -21,7 +21,7 @@ # Go 原生接口 -## 1 依赖 +## 1. 依赖 * golang >= 1.13 * make >= 3.0 @@ -30,7 +30,7 @@ * Linux、Macos 或其他类 unix 系统 * Windows+bash (下载 IoTDB Go client 需要 git ,通过 WSL、cygwin、Git Bash 任意一种方式均可) -## 2 安装方法 +## 2. 安装方法 * 通过 go mod diff --git a/src/zh/UserGuide/latest/API/Programming-JDBC.md b/src/zh/UserGuide/latest/API/Programming-JDBC.md index 7056fda4c..334c02f16 100644 --- a/src/zh/UserGuide/latest/API/Programming-JDBC.md +++ b/src/zh/UserGuide/latest/API/Programming-JDBC.md @@ -24,12 +24,12 @@ *注意: 目前的JDBC实现仅是为与第三方工具连接使用的。使用JDBC(执行插入语句时)无法提供高性能写入。 对于Java应用,我们推荐使用[Java 原生接口](./Programming-Java-Native-API.md)* -## 1 依赖 +## 1. 依赖 * JDK >= 1.8 * Maven >= 3.6 -## 2 安装方法 +## 2. 安装方法 在根目录下执行下面的命令: ```shell diff --git a/src/zh/UserGuide/latest/API/Programming-Java-Native-API.md b/src/zh/UserGuide/latest/API/Programming-Java-Native-API.md index 8b291730d..40c45535c 100644 --- a/src/zh/UserGuide/latest/API/Programming-Java-Native-API.md +++ b/src/zh/UserGuide/latest/API/Programming-Java-Native-API.md @@ -23,13 +23,13 @@ IoTDB 原生 API 中的 Session 是实现与数据库交互的核心接口,它 SessionPool 是 Session 的连接池,推荐使用SessionPool编程。在多线程并发的情形下,SessionPool 能够合理地管理和分配连接资源,以提升系统性能与资源利用效率。 -## 1 步骤概览 +## 1. 步骤概览 1. 创建连接池实例:初始化一个SessionPool对象,用于管理多个Session实例。 2. 执行操作:直接从SessionPool中获取Session实例,并执行数据库操作,无需每次都打开和关闭连接。 3. 关闭连接池资源:在不再需要进行数据库操作时,关闭SessionPool,释放所有相关资源。 -## 2 详细步骤 +## 2. 详细步骤 本章节用于说明开发的核心流程,并未演示所有的参数和接口,如需了解全部功能及参数请参见: [全量接口说明](./Programming-Java-Native-API.md#3-全量接口说明) 或 查阅: [源码](https://github.com/apache/iotdb/tree/master/example/session/src/main/java/org/apache/iotdb) @@ -341,7 +341,7 @@ public class SessionPoolExample { } ``` -## 3 全量接口说明 +## 3. 全量接口说明 ### 3.1 参数列表 diff --git a/src/zh/UserGuide/latest/API/Programming-Kafka.md b/src/zh/UserGuide/latest/API/Programming-Kafka.md index ba95ff07f..214cc2c74 100644 --- a/src/zh/UserGuide/latest/API/Programming-Kafka.md +++ b/src/zh/UserGuide/latest/API/Programming-Kafka.md @@ -23,7 +23,7 @@ [Apache Kafka](https://kafka.apache.org/) 是一个开源的分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。 -## 1 示例代码 +## 1. 示例代码 ### 1.1 kafka 生产者生产数据 Java 代码示例 diff --git a/src/zh/UserGuide/latest/API/Programming-MQTT.md b/src/zh/UserGuide/latest/API/Programming-MQTT.md index 3863e07d3..ce0519593 100644 --- a/src/zh/UserGuide/latest/API/Programming-MQTT.md +++ b/src/zh/UserGuide/latest/API/Programming-MQTT.md @@ -32,7 +32,7 @@ IoTDB 服务器包括内置的 MQTT 服务,该服务允许远程设备将消 -## 1 内置 MQTT 服务 +## 1. 内置 MQTT 服务 内置的 MQTT 服务提供了通过 MQTT 直接连接到 IoTDB 的能力。 它侦听来自 MQTT 客户端的发布消息,然后立即将数据写入存储。 MQTT 主题与 IoTDB 时间序列相对应。 消息有效载荷可以由 Java SPI 加载的`PayloadFormatter`格式化为事件,默认实现为`JSONPayloadFormatter` @@ -59,7 +59,7 @@ MQTT 主题与 IoTDB 时间序列相对应。 -## 2 MQTT 配置 +## 2. MQTT 配置 默认情况下,IoTDB MQTT 服务从`${IOTDB_HOME}/${IOTDB_CONF}/iotdb-system.properties`加载配置。 配置如下: @@ -101,7 +101,7 @@ connection.disconnect(); ``` -## 3 自定义 MQTT 消息格式 +## 3. 自定义 MQTT 消息格式 事实上可以通过简单编程来实现 MQTT 消息的格式自定义。 可以在源码的 `example/mqtt-customize` 项目中找到一个简单示例。 diff --git a/src/zh/UserGuide/latest/API/Programming-NodeJS-Native-API.md b/src/zh/UserGuide/latest/API/Programming-NodeJS-Native-API.md index 381fd7fb2..7e453fbcf 100644 --- a/src/zh/UserGuide/latest/API/Programming-NodeJS-Native-API.md +++ b/src/zh/UserGuide/latest/API/Programming-NodeJS-Native-API.md @@ -25,7 +25,7 @@ IoTDB 使用 Thrift 作为跨语言的 RPC 框架,因此可以通过 Thrift 提供的接口来实现对 IoTDB 的访问。本文档将介绍如何生成可访问 IoTDB 的原生 Node.js 接口。 -## 1 依赖 +## 1. 依赖 * JDK >= 1.8 * Node.js >= 16.0.0 @@ -40,7 +40,7 @@ http://thrift.apache.org/docs/install/ ``` -## 2 编译 thrift 库,生成 Node.js 原生接口 +## 2. 编译 thrift 库,生成 Node.js 原生接口 1. 在 IoTDB 源代码文件夹的根目录中找到 pom.xml 文件。 2. 打开 pom.xml 文件,找到以下内容: @@ -86,12 +86,12 @@ http://thrift.apache.org/docs/install/ **注意**不要将`iotdb/iotdb-protocol/thrift/target` 和 `iotdb/iotdb-protocol/thrift-commons/target`上传到 git 仓库中 ! -## 3 使用 Node.js 原生接口 +## 3. 使用 Node.js 原生接口 将 `iotdb/iotdb-protocol/thrift/target/generated-sources-nodejs/` 和 `iotdb/iotdb-protocol/thrift-commons/target/generated-sources-nodejs/` 中的文件复制到您的项目中,即可使用。 -## 4 支持的 rpc 接口 +## 4. 支持的 rpc 接口 ``` // 打开一个 session diff --git a/src/zh/UserGuide/latest/API/Programming-ODBC.md b/src/zh/UserGuide/latest/API/Programming-ODBC.md index d1971f2c3..756ba2fdd 100644 --- a/src/zh/UserGuide/latest/API/Programming-ODBC.md +++ b/src/zh/UserGuide/latest/API/Programming-ODBC.md @@ -22,11 +22,11 @@ # ODBC 在 JDBC 插件的基础上,IoTDB 可以通过 ODBC-JDBC 桥来支持通过 ODBC 对数据库的操作。 -## 1 依赖 +## 1. 依赖 * 带依赖打包的 IoTDB JDBC 插件包 * ODBC-JDBC 桥(如 Zappy-Sys) -## 2 部署方法 +## 2. 部署方法 ### 2.1 准备 JDBC 插件包 下载 IoTDB 源码,在根目录下执行下面的命令: ```shell diff --git a/src/zh/UserGuide/latest/API/Programming-OPC-UA_timecho.md b/src/zh/UserGuide/latest/API/Programming-OPC-UA_timecho.md index c204c3b2f..22879945d 100644 --- a/src/zh/UserGuide/latest/API/Programming-OPC-UA_timecho.md +++ b/src/zh/UserGuide/latest/API/Programming-OPC-UA_timecho.md @@ -21,7 +21,7 @@ # OPC UA 协议 -## 1 OPC UA +## 1. OPC UA OPC UA 是一种在自动化领域用于不同设备和系统之间进行通信的技术规范,用于实现跨平台、跨语言和跨网络的操作,为工业物联网提供一个可靠和安全的数据交换基础。IoTDB 中支持 OPC UA协议, IoTDB OPC Server 支持 Client/Server 和 Pub/Sub 两种通信模式。 @@ -62,7 +62,7 @@ OPC UA 是一种在自动化领域用于不同设备和系统之间进行通信 - Event 仅会发送给所有已经监听的客户端,客户端未连接则会忽略该 Event。 -## 2 IoTDB OPC Server 启动方式 +## 2. IoTDB OPC Server 启动方式 ### 2.1 语法 @@ -117,7 +117,7 @@ start pipe p1; 4. **不支持删除数据和修改测点类型:**在Client Server模式下,OPC UA无法删除数据或者改变数据类型的设置。而在Pub Sub模式下,如果数据被删除了,信息是无法推送给客户端的。 -## 3 IoTDB OPC Server 示例 +## 3. IoTDB OPC Server 示例 ### 3.1 Client / Server 模式 diff --git a/src/zh/UserGuide/latest/API/Programming-Python-Native-API.md b/src/zh/UserGuide/latest/API/Programming-Python-Native-API.md index d800caa4a..e47cb6c7c 100644 --- a/src/zh/UserGuide/latest/API/Programming-Python-Native-API.md +++ b/src/zh/UserGuide/latest/API/Programming-Python-Native-API.md @@ -21,11 +21,11 @@ # Python 原生接口 -## 1 依赖 +## 1. 依赖 在使用 Python 原生接口包前,您需要安装 thrift (>=0.13) 依赖。 -## 2 如何使用 (示例) +## 2. 如何使用 (示例) 首先下载包:`pip3 install apache-iotdb` @@ -49,7 +49,7 @@ session.open(False) zone = session.get_time_zone() session.close() ``` -## 3 基本接口说明 +## 3. 基本接口说明 下面将给出 Session 对应的接口的简要介绍和对应参数: @@ -134,7 +134,7 @@ session_pool.put_back(session) session_pool.close() ``` -## 4 数据定义接口 DDL +## 4. 数据定义接口 DDL ### 4.1 Database 管理 @@ -186,7 +186,7 @@ session.delete_time_series(paths_list) session.check_time_series_exists(path) ``` -## 5 数据操作接口 DML +## 5. 数据操作接口 DML ### 5.1 数据写入 @@ -327,7 +327,7 @@ session.insert_str_record(device_id, timestamp, measurements, string_values) * insert_aligned_tablets -## 6 IoTDB-SQL 接口 +## 6. IoTDB-SQL 接口 * 执行查询语句 @@ -348,7 +348,7 @@ session.execute_statement(sql) ``` -## 7 元数据模版接口 +## 7. 元数据模版接口 ### 7.1 构建元数据模版 1. 首先构建 Template 类 2. 添加子节点 MeasurementNode @@ -431,7 +431,7 @@ session.drop_schema_template("template_python") ``` -## 8 对 Pandas 的支持 +## 8. 对 Pandas 的支持 我们支持将查询结果轻松地转换为 [Pandas Dataframe](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html)。 @@ -459,7 +459,7 @@ session.close() df = ... ``` -## 9 IoTDB Testcontainer +## 9. IoTDB Testcontainer Python 客户端对测试的支持是基于`testcontainers`库 (https://testcontainers-python.readthedocs.io/en/latest/index.html) 的,如果您想使用该特性,就需要将其安装到您的项目中。 @@ -479,7 +479,7 @@ class MyTestCase(unittest.TestCase): 默认情况下,它会拉取最新的 IoTDB 镜像 `apache/iotdb:latest`进行测试,如果您想指定待测 IoTDB 的版本,您只需要将版本信息像这样声明:`IoTDBContainer("apache/iotdb:0.12.0")`,此时,您就会得到一个`0.12.0`版本的 IoTDB 实例。 -## 10 IoTDB DBAPI +## 10. IoTDB DBAPI IoTDB DBAPI 遵循 Python DB API 2.0 规范 (https://peps.python.org/pep-0249/),实现了通过Python语言访问数据库的通用接口。 @@ -532,7 +532,7 @@ cursor.close() conn.close() ``` -## 11 IoTDB SQLAlchemy Dialect(实验性) +## 11. IoTDB SQLAlchemy Dialect(实验性) IoTDB的SQLAlchemy方言主要是为了适配Apache superset而编写的,该部分仍在完善中,请勿在生产环境中使用! ### 11.1 元数据模型映射 SQLAlchemy 所使用的数据模型为关系数据模型,这种数据模型通过表格来描述不同实体之间的关系。 @@ -619,7 +619,7 @@ for row in res: print(row) ``` -## 12 给开发人员 +## 12. 给开发人员 ### 12.1 介绍 @@ -682,7 +682,7 @@ session.close() [black](https://pypi.org/project/black/) 和 [flake8](https://pypi.org/project/flake8/) 分别用于自动格式化和 linting。 它们可以通过 `black .` 或 `flake8 .` 分别运行。 -## 13 发版 +## 13. 发版 要进行发版, diff --git a/src/zh/UserGuide/latest/API/Programming-Rust-Native-API.md b/src/zh/UserGuide/latest/API/Programming-Rust-Native-API.md index c74976b3c..57c95b3e9 100644 --- a/src/zh/UserGuide/latest/API/Programming-Rust-Native-API.md +++ b/src/zh/UserGuide/latest/API/Programming-Rust-Native-API.md @@ -25,7 +25,7 @@ IoTDB 使用 Thrift 作为跨语言的 RPC 框架,因此可以通过 Thrift 提供的接口来实现对 IoTDB 的访问。本文档将介绍如何生成可访问 IoTDB 的原生 Rust 接口。 -## 1 依赖 +## 1. 依赖 * JDK >= 1.8 * Rust >= 1.0.0 @@ -40,7 +40,7 @@ http://thrift.apache.org/docs/install/ ``` -## 2 编译 thrift 库,生成 Rust 原生接口 +## 2. 编译 thrift 库,生成 Rust 原生接口 1. 在 IoTDB 源代码文件夹的根目录中找到 pom.xml 文件。 2. 打开 pom.xml 文件,找到以下内容: @@ -86,11 +86,11 @@ http://thrift.apache.org/docs/install/ **注意**不要将`iotdb/iotdb-protocol/thrift/target` 和 `iotdb/iotdb-protocol/thrift-commons/target`上传到 git 仓库中 ! -## 3 使用 Rust 原生接口 +## 3. 使用 Rust 原生接口 将 `iotdb/iotdb-protocol/thrift/target/generated-sources-rust/` 和 `iotdb/iotdb-protocol/thrift-commons/target/generated-sources-rust/` 中的文件复制到您的项目中,即可使用。 -## 4 支持的 rpc 接口 +## 4. 支持的 rpc 接口 ``` // 打开一个 session diff --git a/src/zh/UserGuide/latest/API/RestServiceV1.md b/src/zh/UserGuide/latest/API/RestServiceV1.md index dac1de90d..6eb2d6817 100644 --- a/src/zh/UserGuide/latest/API/RestServiceV1.md +++ b/src/zh/UserGuide/latest/API/RestServiceV1.md @@ -22,7 +22,7 @@ # RESTful API V1(不推荐) IoTDB 的 RESTful 服务可用于查询、写入和管理操作,它使用 OpenAPI 标准来定义接口并生成框架。 -## 1 开启RESTful 服务 +## 1. 开启RESTful 服务 RESTful 服务默认情况是关闭的 找到IoTDB安装目录下面的`conf/iotdb-system.properties`文件,将 `enable_rest_service` 设置为 `true` 以启用该模块。 @@ -31,7 +31,7 @@ RESTful 服务默认情况是关闭的 enable_rest_service=true ``` -## 2 鉴权 +## 2. 鉴权 除了检活接口 `/ping`,RESTful 服务使用了基础(basic)鉴权,每次 URL 请求都需要在 header 中携带 `'Authorization': 'Basic ' + base64.encode(username + ':' + password)`。 示例中使用的用户名为:`root`,密码为:`root`,对应的 Basic 鉴权 Header 格式为 @@ -64,7 +64,7 @@ Authorization: Basic cm9vdDpyb290 } ``` -## 3 接口 +## 3. 接口 ### 3.1 ping @@ -853,7 +853,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X ``` -## 4 配置 +## 4. 配置 配置位于 `iotdb-system.properties` 中。 diff --git a/src/zh/UserGuide/latest/API/RestServiceV2.md b/src/zh/UserGuide/latest/API/RestServiceV2.md index b88b8c199..dfb5ea9c8 100644 --- a/src/zh/UserGuide/latest/API/RestServiceV2.md +++ b/src/zh/UserGuide/latest/API/RestServiceV2.md @@ -22,7 +22,7 @@ # RESTful API V2 IoTDB 的 RESTful 服务可用于查询、写入和管理操作,它使用 OpenAPI 标准来定义接口并生成框架。 -## 1 开启RESTful 服务 +## 1. 开启RESTful 服务 RESTful 服务默认情况是关闭的 找到IoTDB安装目录下面的`conf/iotdb-system.properties`文件,将 `enable_rest_service` 设置为 `true` 以启用该模块。 @@ -31,7 +31,7 @@ RESTful 服务默认情况是关闭的 enable_rest_service=true ``` -## 2 鉴权 +## 2. 鉴权 除了检活接口 `/ping`,RESTful 服务使用了基础(basic)鉴权,每次 URL 请求都需要在 header 中携带 `'Authorization': 'Basic ' + base64.encode(username + ':' + password)`。 示例中使用的用户名为:`root`,密码为:`root`,对应的 Basic 鉴权 Header 格式为 @@ -64,7 +64,7 @@ Authorization: Basic cm9vdDpyb290 } ``` -## 3 接口 +## 3. 接口 ### 3.1 ping @@ -892,7 +892,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X ``` -## 4 配置 +## 4. 配置 配置位于 `iotdb-system.properties` 中。 diff --git a/src/zh/UserGuide/latest/Background-knowledge/Cluster-Concept_apache.md b/src/zh/UserGuide/latest/Background-knowledge/Cluster-Concept_apache.md index 1d3fdba14..5860f3005 100644 --- a/src/zh/UserGuide/latest/Background-knowledge/Cluster-Concept_apache.md +++ b/src/zh/UserGuide/latest/Background-knowledge/Cluster-Concept_apache.md @@ -21,7 +21,7 @@ # 常见概念 -## 1 数据模型相关概念 +## 1. 数据模型相关概念 ### 1.1 数据模型(sql_dialect) @@ -49,7 +49,7 @@ IoTDB 支持两种时序数据模型(SQL语法),管理的对象均为设 IoTDB 在数据编码后,使用压缩技术进一步压缩二进制数据,提升存储效率。IoTDB 支持多种压缩方法,详细信息请查看:[压缩和编码](../Technical-Insider/Encoding-and-Compression.md)。 -## 2 分布式相关概念 +## 2. 分布式相关概念 下图展示了一个常见的 IoTDB 3C3D(3 个 ConfigNode、3 个 DataNode)的集群部署模式: @@ -90,7 +90,7 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data | 数据 | data_replication_factor | 1 | 2 | -## 3 部署相关概念 +## 3. 部署相关概念 IoTDB 有两种运行模式:单机模式、集群模式。 diff --git a/src/zh/UserGuide/latest/Background-knowledge/Cluster-Concept_timecho.md b/src/zh/UserGuide/latest/Background-knowledge/Cluster-Concept_timecho.md index 1a4de58e5..33a7b567f 100644 --- a/src/zh/UserGuide/latest/Background-knowledge/Cluster-Concept_timecho.md +++ b/src/zh/UserGuide/latest/Background-knowledge/Cluster-Concept_timecho.md @@ -21,7 +21,7 @@ # 常见概念 -## 1 数据模型相关概念 +## 1. 数据模型相关概念 ### 1.1 数据模型(sql_dialect) @@ -48,7 +48,7 @@ IoTDB 支持两种时序数据模型(SQL语法),管理的对象均为设 IoTDB 在数据编码后,使用压缩技术进一步压缩二进制数据,提升存储效率。IoTDB 支持多种压缩方法,详细信息请查看:[压缩和编码](../Technical-Insider/Encoding-and-Compression.md)。 -## 2 分布式相关概念 +## 2. 分布式相关概念 下图展示了一个常见的 IoTDB 3C3D(3 个 ConfigNode、3 个 DataNode)的集群部署模式: @@ -89,7 +89,7 @@ IoTDB 集群包括三种节点(进程):ConfigNode(管理节点),Data | 数据 | data_replication_factor | 1 | 2 | -## 3 部署相关概念 +## 3. 部署相关概念 IoTDB 有三种运行模式:单机模式、集群模式和双活模式。 diff --git a/src/zh/UserGuide/latest/Background-knowledge/Data-Model-and-Terminology_apache.md b/src/zh/UserGuide/latest/Background-knowledge/Data-Model-and-Terminology_apache.md index 377f3182c..e690f1311 100644 --- a/src/zh/UserGuide/latest/Background-knowledge/Data-Model-and-Terminology_apache.md +++ b/src/zh/UserGuide/latest/Background-knowledge/Data-Model-and-Terminology_apache.md @@ -23,11 +23,11 @@ 本章节主要介绍如何将时序数据应用场景转化为IoTDB时序建模。 -## 1 时序数据模型 +## 1. 时序数据模型 在构建IoTDB建模方案前,需要先了解时序数据和时序数据模型,详细内容见此页面:[时序数据模型](../Background-knowledge/Navigating_Time_Series_Data.md) -## 2 IoTDB 的两种时序模型 +## 2. IoTDB 的两种时序模型 IoTDB 提供了两种数据建模方式——树模型和表模型,其特点分别如下: @@ -80,7 +80,7 @@ IoTDB 提供了两种数据建模方式——树模型和表模型,其特点 - 在通过客户端工具 Cli 或 SDK 建立数据库连接时,需要通过 sql_dialect 参数指定使用的模型语法(默认使用树语法进行操作)。 -## 3 应用场景 +## 3. 应用场景 应用场景主要包括两类: diff --git a/src/zh/UserGuide/latest/Background-knowledge/Data-Model-and-Terminology_timecho.md b/src/zh/UserGuide/latest/Background-knowledge/Data-Model-and-Terminology_timecho.md index 5a41c8909..d5c424bc7 100644 --- a/src/zh/UserGuide/latest/Background-knowledge/Data-Model-and-Terminology_timecho.md +++ b/src/zh/UserGuide/latest/Background-knowledge/Data-Model-and-Terminology_timecho.md @@ -23,11 +23,11 @@ 本章节主要介绍如何将时序数据应用场景转化为IoTDB时序建模。 -## 1 时序数据模型 +## 1. 时序数据模型 在构建IoTDB建模方案前,需要先了解时序数据和时序数据模型,详细内容见此页面:[时序数据模型](../Background-knowledge/Navigating_Time_Series_Data.md) -## 2 IoTDB 的两种时序模型 +## 2. IoTDB 的两种时序模型 IoTDB 提供了两种数据建模方式——树模型和表模型,其特点分别如下: @@ -80,7 +80,7 @@ IoTDB 提供了两种数据建模方式——树模型和表模型,其特点 - 在通过客户端工具 Cli 或 SDK 建立数据库连接时,需要通过 sql_dialect 参数指定使用的模型语法(默认使用树语法进行操作)。 -## 3 应用场景 +## 3. 应用场景 应用场景主要包括三类: diff --git a/src/zh/UserGuide/latest/Background-knowledge/Data-Type.md b/src/zh/UserGuide/latest/Background-knowledge/Data-Type.md index 3ed23a63e..5205a0528 100644 --- a/src/zh/UserGuide/latest/Background-knowledge/Data-Type.md +++ b/src/zh/UserGuide/latest/Background-knowledge/Data-Type.md @@ -21,7 +21,7 @@ # 数据类型 -## 1 基本数据类型 +## 1. 基本数据类型 IoTDB 支持以下十种数据类型: @@ -70,7 +70,7 @@ CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=FLOAT, ENCODING=RLE, 'MAX_POI | TIMESTAMP | INT32 INT64 TIMESTAMP | | DATE | DATE | -## 2 时间戳类型 +## 2. 时间戳类型 时间戳是一个数据到来的时间点,其中包括绝对时间戳和相对时间戳。 diff --git a/src/zh/UserGuide/latest/Background-knowledge/Navigating_Time_Series_Data.md b/src/zh/UserGuide/latest/Background-knowledge/Navigating_Time_Series_Data.md index 65d170c0b..c2db63990 100644 --- a/src/zh/UserGuide/latest/Background-knowledge/Navigating_Time_Series_Data.md +++ b/src/zh/UserGuide/latest/Background-knowledge/Navigating_Time_Series_Data.md @@ -20,7 +20,7 @@ --> # 走进时序数据 -## 1 什么叫时序数据? +## 1. 什么叫时序数据? 万物互联的今天,物联网场景、工业场景等各类场景都在进行数字化转型,人们通过在各类设备上安装传感器对设备的各类状态进行采集。如电机采集电压、电流,风机的叶片转速、角速度、发电功率;车辆采集经纬度、速度、油耗;桥梁的振动频率、挠度、位移量等。传感器的数据采集,已经渗透在各个行业中。 @@ -34,7 +34,7 @@ 传感器产生的海量时序数据是各行各业数字化转型的基础,因此我们对时序数据的模型梳理主要围绕设备、传感器展开。 -## 2 时序数据中的关键概念有哪些? +## 2. 时序数据中的关键概念有哪些? 时序数据中主要涉及的概念由下至上可分为:数据点、测点、设备。 diff --git a/src/zh/UserGuide/latest/Basic-Concept/Operate-Metadata_apache.md b/src/zh/UserGuide/latest/Basic-Concept/Operate-Metadata_apache.md index 90610d1b5..fb469b6f9 100644 --- a/src/zh/UserGuide/latest/Basic-Concept/Operate-Metadata_apache.md +++ b/src/zh/UserGuide/latest/Basic-Concept/Operate-Metadata_apache.md @@ -21,7 +21,7 @@ # 测点管理 -## 1 数据库管理 +## 1. 数据库管理 数据库(Database)可以被视为关系数据库中的Database。 @@ -341,7 +341,7 @@ It costs 0.058s + 数据库允许拥有的最大 DataRegionGroup 数量 -## 2 设备模板管理 +## 2. 设备模板管理 IoTDB 支持设备模板功能,实现同类型不同实体的物理量元数据共享,减少元数据内存占用,同时简化同类型实体的管理。 @@ -565,7 +565,7 @@ IoTDB> alter device template t1 add (speed FLOAT encoding=RLE, FLOAT TEXT encodi **向已挂载模板的路径下的设备中写入数据,若写入请求中的物理量不在模板中,将自动扩展模板。** -## 3 时间序列管理 +## 3. 时间序列管理 ### 3.1 创建时间序列 @@ -984,7 +984,7 @@ IoTDB> show timeseries where TAGS(tag1)='v1' 上述对时间序列标签、属性的更新等操作都支持。 -## 4 路径查询 +## 4. 路径查询 ### 路径(Path) diff --git a/src/zh/UserGuide/latest/Basic-Concept/Operate-Metadata_timecho.md b/src/zh/UserGuide/latest/Basic-Concept/Operate-Metadata_timecho.md index f824d4713..ddf31edd9 100644 --- a/src/zh/UserGuide/latest/Basic-Concept/Operate-Metadata_timecho.md +++ b/src/zh/UserGuide/latest/Basic-Concept/Operate-Metadata_timecho.md @@ -21,7 +21,7 @@ # 测点管理 -## 1 数据库管理 +## 1. 数据库管理 数据库(Database)可以被视为关系数据库中的Database。 @@ -341,7 +341,7 @@ It costs 0.058s + 数据库允许拥有的最大 DataRegionGroup 数量 -## 2 设备模板管理 +## 2. 设备模板管理 IoTDB 支持设备模板功能,实现同类型不同实体的物理量元数据共享,减少元数据内存占用,同时简化同类型实体的管理。 @@ -565,7 +565,7 @@ IoTDB> alter device template t1 add (speed FLOAT encoding=RLE, FLOAT TEXT encodi **向已挂载模板的路径下的设备中写入数据,若写入请求中的物理量不在模板中,将自动扩展模板。** -## 3 时间序列管理 +## 3. 时间序列管理 ### 3.1 创建时间序列 @@ -1025,7 +1025,7 @@ IoTDB> show timeseries where TAGS(tag1)='v1' 上述对时间序列标签、属性的更新等操作都支持。 -## 4 路径查询 +## 4. 路径查询 ### 路径(Path) diff --git a/src/zh/UserGuide/latest/Basic-Concept/Query-Data.md b/src/zh/UserGuide/latest/Basic-Concept/Query-Data.md index 5c0684e2b..b5085b32f 100644 --- a/src/zh/UserGuide/latest/Basic-Concept/Query-Data.md +++ b/src/zh/UserGuide/latest/Basic-Concept/Query-Data.md @@ -20,7 +20,7 @@ --> # 数据查询 -## 1 概述 +## 1. 概述 在 IoTDB 中,使用 `SELECT` 语句从一条或多条时间序列中查询数据,IoTDB 不区分历史数据和实时数据,用户可以用统一的sql语法进行查询,通过 `WHERE` 子句中的时间过滤谓词决定查询的时间范围。 @@ -333,7 +333,7 @@ SessionDataSet executeAggregationQuery( long slidingStep); ``` -## 2 选择表达式(SELECT FROM 子句) +## 2. 选择表达式(SELECT FROM 子句) `SELECT` 子句指定查询的输出,由若干个 `selectExpr` 组成。 每个 `selectExpr` 定义了查询结果中的一列或多列。 @@ -680,7 +680,7 @@ Total line number = 2 It costs 0.002s ``` -## 3 查询过滤条件(WHERE 子句) +## 3. 查询过滤条件(WHERE 子句) `WHERE` 子句指定了对数据行的筛选条件,由一个 `whereCondition` 组成。 @@ -845,7 +845,7 @@ Total line number = 2 It costs 0.002s ``` -## 4 分段分组聚合(GROUP BY 子句) +## 4. 分段分组聚合(GROUP BY 子句) IoTDB支持通过`GROUP BY`子句对序列进行分段或者分组聚合。 分段聚合是指按照时间维度,针对同时间序列中不同数据点之间的时间关系,对数据在行的方向进行分段,每个段得到一个聚合值。目前支持**时间区间分段**、**差值分段**、**条件分段**、**会话分段**和**点数分段**,未来将支持更多分段方式。 @@ -1738,7 +1738,7 @@ SELECT AVG(temperature) FROM root.factory1.** GROUP BY ([1000, 10000), 5s), TAGS > 5. 暂不支持聚合函数内部包含表达式,例如 `count(s+1)`。 > 6. 不支持值过滤条件聚合,和分层聚合查询行为保持一致。 -## 5 聚合结果过滤(HAVING 子句) +## 5. 聚合结果过滤(HAVING 子句) 如果想对聚合查询的结果进行过滤,可以在 `GROUP BY` 子句之后使用 `HAVING` 子句。 @@ -1834,7 +1834,7 @@ SELECT AVG(temperature) FROM root.factory1.** GROUP BY ([1000, 10000), 5s), TAGS ``` -## 6 结果集补空值(FILL 子句) +## 6. 结果集补空值(FILL 子句) ### 6.1 功能介绍 @@ -2145,7 +2145,7 @@ Total line number = 4 ``` -## 7 查询结果分页(LIMIT/SLIMIT 子句) +## 7. 查询结果分页(LIMIT/SLIMIT 子句) 当查询结果集数据量很大,放在一个页面不利于显示,可以使用 `LIMIT/SLIMIT` 子句和 `OFFSET/SOFFSET `子句进行分页控制。 @@ -2408,7 +2408,7 @@ Total line number = 10 It costs 0.009s ``` -## 8 结果集排序(ORDER BY 子句) +## 8. 结果集排序(ORDER BY 子句) ### 8.1 时间对齐模式下的排序 IoTDB的查询结果集默认按照时间对齐,可以使用`ORDER BY TIME`的子句指定时间戳的排列顺序。示例代码如下: @@ -2665,7 +2665,7 @@ select score from root.** order by device asc, score desc, time asc align by dev +-----------------------------+---------+-----+ ``` -## 9 查询对齐模式(ALIGN BY DEVICE 子句) +## 9. 查询对齐模式(ALIGN BY DEVICE 子句) 在 IoTDB 中,查询结果集**默认按照时间对齐**,包含一列时间列和若干个值列,每一行数据各列的时间戳相同。 @@ -2710,7 +2710,7 @@ It costs 0.012s 详细说明及示例见文档 [结果集排序](../SQL-Manual/Operator-and-Expression.md)。 -## 10 查询写回(INTO 子句) +## 10. 查询写回(INTO 子句) `SELECT INTO` 语句用于将查询结果写入一系列指定的时间序列中。 diff --git a/src/zh/UserGuide/latest/Basic-Concept/Write-Delete-Data.md b/src/zh/UserGuide/latest/Basic-Concept/Write-Delete-Data.md index 921886330..db98677ac 100644 --- a/src/zh/UserGuide/latest/Basic-Concept/Write-Delete-Data.md +++ b/src/zh/UserGuide/latest/Basic-Concept/Write-Delete-Data.md @@ -21,7 +21,7 @@ # 数据写入与删除 -## 1 CLI写入数据 +## 1. CLI写入数据 IoTDB 为用户提供多种插入实时数据的方式,例如在 [Cli/Shell 工具](../Tools-System/CLI.md) 中直接输入插入数据的 INSERT 语句,或使用 Java API(标准 [Java JDBC](../API/Programming-JDBC.md) 接口)单条或批量执行插入数据的 INSERT 语句。 @@ -114,7 +114,7 @@ Total line number = 3 It costs 0.004s ``` -## 2 原生接口写入 +## 2. 原生接口写入 原生接口 (Session) 是目前IoTDB使用最广泛的系列接口,包含多种写入接口,适配不同的数据采集场景,性能高效且支持多语言。 ### 2.1 多语言接口写入 @@ -131,7 +131,7 @@ It costs 0.004s * ### Go 参考 [Go 原生接口](../API/Programming-Go-Native-API.md) -## 3 REST API写入 +## 3. REST API写入 参考 [insertTablet (v1)](../API/RestServiceV1.md#inserttablet) or [insertTablet (v2)](../API/RestServiceV2.md#inserttablet) @@ -168,11 +168,11 @@ It costs 0.004s } ``` -## 4 MQTT写入 +## 4. MQTT写入 参考 [内置 MQTT 服务](../API/Programming-MQTT.md#内置-mqtt-服务) -## 5 批量数据导入 +## 5. 批量数据导入 针对于不同场景,IoTDB 为用户提供多种批量导入数据的操作方式,本章节向大家介绍最为常用的两种方式为 CSV文本形式的导入 和 TsFile文件形式的导入。 @@ -184,7 +184,7 @@ TsFile 是在 IoTDB 中使用的时间序列的文件格式,您可以通过CLI CSV 是以纯文本形式存储表格数据,您可以在CSV文件中写入多条格式化的数据,并批量的将这些数据导入到 IoTDB 中,在导入数据之前,建议在IoTDB中创建好对应的元数据信息。如果忘记创建元数据也不要担心,IoTDB 可以自动将CSV中数据推断为其对应的数据类型,前提是你每一列的数据类型必须唯一。除单个文件外,此工具还支持以文件夹的形式导入多个 CSV 文件,并且支持设置如时间精度等优化参数。具体操作方式请参考[数据导入](../Tools-System/Data-Import-Tool.md)。 -## 6 删除数据 +## 6. 删除数据 用户使用 [DELETE 语句](../SQL-Manual/SQL-Manual.md#删除数据) 可以删除指定的时间序列中符合时间删除条件的数据。在删除数据时,用户可以选择需要删除的一个或多个时间序列、时间序列的前缀、时间序列带、*路径对某一个时间区间内的数据进行删除。 diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_apache.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_apache.md index b78edee84..5758f7ab1 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_apache.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_apache.md @@ -20,7 +20,7 @@ --> # AINode 部署 -## 1 AINode介绍 +## 1. AINode介绍 ### 1.1 能力介绍 @@ -35,7 +35,7 @@ AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点, -## 2 安装准备 +## 2. 安装准备 ### 2.1 安装包获取 @@ -67,7 +67,7 @@ AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点, # 安装3.8.0版本的venv,创建虚拟环境,文件夹名为 `venv` ../Python-3.8.0/python -m venv `venv` ``` -## 3 安装部署及使用 +## 3. 安装部署及使用 ### 3.1 安装 AINode @@ -451,7 +451,7 @@ IoTDB> show cluster sbin\remove-ainode.bat -t /: ``` -## 4 常见问题 +## 4. 常见问题 ### 4.1 启动AINode时出现找不到venv模块的报错 diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.md index 41b5db378..659603392 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/AINode_Deployment_timecho.md @@ -20,7 +20,7 @@ --> # AINode 部署 -## 1 AINode介绍 +## 1. AINode介绍 ### 1.1 能力介绍 @@ -35,7 +35,7 @@ AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点, -## 2 安装准备 +## 2. 安装准备 ### 2.1 装包获取 @@ -67,7 +67,7 @@ AINode 是 IoTDB 在 ConfigNode、DataNode 后提供的第三种内生节点, # 安装3.8.0版本的venv,创建虚拟环境,文件夹名为 `venv` ../Python-3.8.0/python -m venv `venv` ``` -## 3 安装部署及使用 +## 3. 安装部署及使用 ### 3.1 安装 AINode @@ -485,7 +485,7 @@ IoTDB> show cluster sbin\remove-ainode.bat -t /: ``` -## 4 常见问题 +## 4. 常见问题 ### 4.1 启动AINode时出现找不到venv模块的报错 diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md index fb129fdee..05ed25142 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_apache.md @@ -26,7 +26,7 @@ -## 1 注意事项 +## 1. 注意事项 1. 安装前请确认系统已参照[系统配置](./Environment-Requirements.md)准备完成。 @@ -46,13 +46,13 @@ - 使用同一用户操作:确保在启动、停止等操作均保持使用同一用户,不要切换用户。 - 避免使用 sudo:尽量避免使用 sudo 命令,因为它会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 -## 2 准备步骤 +## 2. 准备步骤 1. 准备IoTDB数据库安装包 :apache-iotdb-{version}-all-bin.zip(安装包获取见:[链接](../Deployment-and-Maintenance/IoTDB-Package_apache.md)) 2. 按环境要求配置好操作系统环境(系统环境配置见:[链接](../Deployment-and-Maintenance/Environment-Requirements.md)) -## 3 安装步骤 +## 3. 安装步骤 假设现在有3台linux服务器,IP地址和服务角色分配如下: @@ -170,7 +170,7 @@ cd sbin > 出现`ACTIVATED(W)`为被动激活,表示此ConfigNode没有license文件(或没有签发时间戳最新的license文件),其激活依赖于集群中其它Activate状态的ConfigNode。此时建议检查license文件是否已放入license文件夹,没有请放入license文件,若已存在license文件,可能是此节点license文件与其他节点信息不一致导致,请联系天谋工作人员重新申请. -## 4 节点维护步骤 +## 4. 节点维护步骤 ### 4.1 ConfigNode节点维护 @@ -305,7 +305,7 @@ sbin/remove-datanode.sh [datanode_id] sbin/remove-datanode.bat [datanode_id] ``` -## 5 常见问题 +## 5. 常见问题 1. Confignode节点启动失败 diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md index c6b022ff3..e6b88e99b 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.md @@ -26,7 +26,7 @@ -## 1 注意事项 +## 1. 注意事项 1. 安装前请确认系统已参照[系统配置](./Environment-Requirements.md)准备完成。 @@ -48,12 +48,12 @@ 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md) -## 2 准备步骤 +## 2. 准备步骤 1. 准备IoTDB数据库安装包 :iotdb-enterprise-{version}-bin.zip(安装包获取见:[链接](../Deployment-and-Maintenance/IoTDB-Package_timecho.md)) 2. 按环境要求配置好操作系统环境(系统环境配置见:[链接](../Deployment-and-Maintenance/Environment-Requirements.md)) -## 3 安装步骤 +## 3. 安装步骤 假设现在有3台linux服务器,IP地址和服务角色分配如下: @@ -208,7 +208,7 @@ cd sbin > 出现`ACTIVATED(W)`为被动激活,表示此ConfigNode没有license文件(或没有签发时间戳最新的license文件),其激活依赖于集群中其它Activate状态的ConfigNode。此时建议检查license文件是否已放入license文件夹,没有请放入license文件,若已存在license文件,可能是此节点license文件与其他节点信息不一致导致,请联系天谋工作人员重新申请. -## 4 节点维护步骤 +## 4. 节点维护步骤 ### 4.1 ConfigNode节点维护 @@ -343,7 +343,7 @@ sbin/remove-datanode.sh [datanode_id] sbin/remove-datanode.bat [datanode_id] ``` -## 5 常见问题 +## 5. 常见问题 1. 部署过程中多次提示激活失败 - 使用 `ls -al` 命令:使用 `ls -al` 命令检查安装包根目录的所有者信息是否为当前用户。 diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Database-Resources.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Database-Resources.md index 2ecff8d69..dcd674a64 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Database-Resources.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Database-Resources.md @@ -19,7 +19,7 @@ --> # 资源规划 -## 1 CPU +## 1. CPU @@ -81,7 +81,7 @@
-## 2 内存 +## 2. 内存 @@ -143,7 +143,7 @@
-## 3 存储(磁盘) +## 3. 存储(磁盘) ### 3.1 存储空间 计算公式:测点数量 * 采样频率(Hz)* 每个数据点大小(Byte,不同数据类型不一样,见下表) @@ -189,11 +189,11 @@ - 简版计算公式:1000 * 100 * 12 * 86400 * 365 * 3 / 10 / 1024 / 1024 / 1024 / 1024 = 11T ### 3.2 存储配置 1000w 点位以上或查询负载较大,推荐配置 SSD。 -## 4 网络(网卡) +## 4. 网络(网卡) 在写入吞吐不超过1000万点/秒时,需配置千兆网卡;当写入吞吐超过 1000万点/秒时,需配置万兆网卡。 | **写入吞吐(数据点/秒)** | **网卡速率** | | ------------------- | ------------- | | <1000万 | 1Gbps(千兆) | | >=1000万 | 10Gbps(万兆) | -## 5 其他说明 +## 5. 其他说明 IoTDB 具有集群秒级扩容能力,扩容节点数据可不迁移,因此您无需担心按现有数据情况估算的集群能力有限,未来您可在需要扩容时为集群加入新的节点。 \ No newline at end of file diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Deployment-form_apache.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Deployment-form_apache.md index 984b5fb3d..f6a913807 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Deployment-form_apache.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Deployment-form_apache.md @@ -22,7 +22,7 @@ IoTDB 有两种运行模式:单机模式、集群模式。 -## 1 单机模式 +## 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 集群模式 +## 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 特点总结 +## 3. 特点总结 | 维度 | 单机模式 | 集群模式 | | ------------ | ---------------------------- | ------------------------ | diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Deployment-form_timecho.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Deployment-form_timecho.md index d4a78a6b5..d49674d07 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Deployment-form_timecho.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Deployment-form_timecho.md @@ -22,7 +22,7 @@ IoTDB 有三种运行模式:单机模式、集群模式和双活模式。 -## 1 单机模式 +## 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 双活模式 +## 2. 双活模式 双活版部署为 TimechoDB 企业版功能,是指两个独立的实例进行双向同步,能同时对外提供服务。当一台停机重启后,另一个实例会将缺失数据断点续传。 @@ -40,7 +40,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;当部分节点出现故障时,剩余节点仍然能对外提供服务,保证数据库服务的高可用性,且可随节点增加提升数据库性能。 @@ -48,7 +48,7 @@ IoTDB 集群实例为 3 个ConfigNode 和不少于 3 个 DataNode,通常为 3 - **适用场景**:需要提供高可用和可靠性的企业级应用场景。 - **部署方法**:[集群版部署](../Deployment-and-Maintenance/Cluster-Deployment_timecho.md) -## 4 特点总结 +## 4. 特点总结 | 维度 | 单机模式 | 双活模式 | 集群模式 | | ------------ | ---------------------------- | ------------------------ | ------------------------ | diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Docker-Deployment_apache.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Docker-Deployment_apache.md index 0d9e90aee..f0a0a79be 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Docker-Deployment_apache.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Docker-Deployment_apache.md @@ -20,7 +20,7 @@ --> # Docker部署 -## 1 环境准备 +## 1. 环境准备 ### 1.1 Docker安装 @@ -53,7 +53,7 @@ ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose docker-compose --version #显示版本信息即安装成功 ``` -## 2 单机版 +## 2. 单机版 本节演示如何部署1C1D的docker单机版。 @@ -197,7 +197,7 @@ docker cp iotdb:/iotdb/conf /docker-iotdb/iotdb/conf docker-compose -f docker-compose-standalone.yml up -d ``` -## 3 集群版 +## 3. 集群版 本小节描述如何手动部署包括3个ConfigNode和3个DataNode的实例,即通常所说的3C3D集群。 diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Docker-Deployment_timecho.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Docker-Deployment_timecho.md index cfd708fdb..84af4fd6e 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Docker-Deployment_timecho.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Docker-Deployment_timecho.md @@ -20,7 +20,7 @@ --> # Docker部署 -## 1 环境准备 +## 1. 环境准备 ### 1.1 Docker安装 @@ -67,7 +67,7 @@ dmidecode 安装后,查找安装路径:`whereis dmidecode`,这里假设结 关于IoTDB企业版的容器镜像您可联系商务或技术支持获取。 -## 2 单机版部署 +## 2. 单机版部署 本节演示如何部署1C1D的docker单机版。 @@ -239,7 +239,7 @@ docker cp iotdb:/iotdb/conf /docker-iotdb/iotdb/conf docker-compose -f docker-compose-standalone.yml up -d ``` -## 3 集群版部署 +## 3. 集群版部署 本小节描述如何手动部署包括3个ConfigNode和3个DataNode的实例,即通常所说的3C3D集群。 diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Dual-Active-Deployment_timecho.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Dual-Active-Deployment_timecho.md index 0abc1148c..35e4c779b 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Dual-Active-Deployment_timecho.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Dual-Active-Deployment_timecho.md @@ -20,7 +20,7 @@ --> # 双活版部署 -## 1 什么是双活版? +## 1. 什么是双活版? 双活通常是指两个独立的单机(或集群),实时进行镜像同步,它们的配置完全独立,可以同时接收外界的写入,每一个独立的单机(或集群)都可以将写入到自己的数据同步到另一个单机(或集群)中,两个单机(或集群)的数据可达到最终一致。 @@ -30,7 +30,7 @@ ![](/img/%E5%8F%8C%E6%B4%BB%E5%90%8C%E6%AD%A5.png) -## 2 注意事项 +## 2. 注意事项 1. 部署时推荐优先使用`hostname`进行IP配置,可避免后期修改主机ip导致数据库无法启动的问题。设置hostname需要在目标服务器上配置`/etc/hosts`,如本机ip是192.168.1.3,hostname是iotdb-1,则可以使用以下命令设置服务器的 hostname,并使用hostname配置IoTDB的`cn_internal_address`、`dn_internal_address`。 @@ -42,7 +42,7 @@ 3. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考[文档](https://www.timecho.com/docs/zh/UserGuide/latest/Deployment-and-Maintenance/Monitoring-panel-deployment.html) -## 3 安装步骤 +## 3. 安装步骤 我们以两台单机A和B构建的双活版IoTDB为例,A和B的ip分别是192.168.1.3 和 192.168.1.4 ,这里用hostname来表示不同的主机,规划如下: diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Environment-Requirements.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Environment-Requirements.md index 5e1fe7edf..81b41af22 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Environment-Requirements.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Environment-Requirements.md @@ -20,7 +20,7 @@ --> # 环境配置 -## 1 磁盘阵列 +## 1. 磁盘阵列 ### 1.1 配置建议 @@ -77,7 +77,7 @@ IoTDB对磁盘阵列配置没有严格运行要求,推荐使用多个磁盘阵 | 数据盘 | RAID5 | 7 | 允许坏1块 | 6 | | 数据盘 | NoRaid | 1 | 损坏丢失 | 1 | -## 2 操作系统 +## 2. 操作系统 ### 2.1 版本要求 @@ -192,7 +192,7 @@ echo "* hard nofile 65535" >> /etc/security/limits.conf ulimit -n ``` -## 3 软件依赖 +## 3. 软件依赖 安装 Java 运行环境 ,Java 版本 >= 1.8,请确保已设置 jdk 环境变量。(V1.3.2.2 及之上版本推荐直接部署JDK17,老版本JDK部分场景下性能有问题,且datanode会出现stop不掉的问题) diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/IoTDB-Package_apache.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/IoTDB-Package_apache.md index e3f14a95d..c98ba8316 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/IoTDB-Package_apache.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/IoTDB-Package_apache.md @@ -19,11 +19,11 @@ --> # 安装包获取 -## 1 安装包获取方式 +## 1. 安装包获取方式 安装包可直接在Apache IoTDB官网获取:https://iotdb.apache.org/zh/Download/ -## 2 安装包结构 +## 2. 安装包结构 解压后安装包(`apache-iotdb--all-bin.zip`),安装包解压后目录结构如下: diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/IoTDB-Package_timecho.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/IoTDB-Package_timecho.md index e2e8f1e90..f502069a7 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/IoTDB-Package_timecho.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/IoTDB-Package_timecho.md @@ -20,11 +20,11 @@ --> # 安装包获取 -## 1 企业版获取方式 +## 1. 企业版获取方式 企业版安装包可通过产品试用申请,或直接联系与您对接的商务人员获取。 -## 2 安装包结构 +## 2. 安装包结构 解压后安装包(iotdb-enterprise-{version}-bin.zip),安装包解压后目录结构如下: diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Monitoring-panel-deployment.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Monitoring-panel-deployment.md index 4060e1de4..d2156fa29 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Monitoring-panel-deployment.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Monitoring-panel-deployment.md @@ -24,12 +24,12 @@ IoTDB配套监控面板是IoTDB企业版配套工具之一。它旨在解决IoTD 监控面板工具的使用说明可参考文档 [使用说明](../Tools-System/Monitor-Tool.md) 章节。 -## 1 安装准备 +## 1. 安装准备 1. 安装 IoTDB:需先安装IoTDB V1.0 版本及以上企业版,您可联系商务或技术支持获取 2. 获取 IoTDB 监控面板安装包:基于企业版 IoTDB 的数据库监控面板,您可联系商务或技术支持获取 -## 2 安装步骤 +## 2. 安装步骤 ### 2.1 步骤一:IoTDB开启监控指标采集 @@ -186,7 +186,7 @@ cd grafana-* ![](/img/%E9%9D%A2%E6%9D%BF%E6%B1%87%E6%80%BB.png) -## 3 附录、监控指标详解 +## 3. 附录、监控指标详解 ### 3.1 系统面板(System Dashboard) diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md index c238afda0..17feba0e9 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_apache.md @@ -20,7 +20,7 @@ --> # 单机版部署 -## 1 注意事项 +## 1. 注意事项 1. 安装前请确认系统已参照[系统配置](./Environment-Requirements.md)准备完成。 @@ -40,7 +40,7 @@ - 使用同一用户操作:确保在启动、停止等操作均保持使用同一用户,不要切换用户。 - 避免使用 sudo:尽量避免使用 sudo 命令,因为它会以 root 用户权限执行命令,可能会引起权限混淆或安全问题。 -## 2 安装步骤 +## 2. 安装步骤 ### 2.1 解压安装包并进入安装目录 @@ -141,7 +141,7 @@ cd sbin > 出现`ACTIVATED(W)`为被动激活,表示此ConfigNode没有license文件(或没有签发时间戳最新的license文件)。此时建议检查license文件是否已放入license文件夹,没有请放入license文件,若已存在license文件,可能是此节点license文件与其他节点信息不一致导致,请联系天谋工作人员重新申请. -## 3 常见问题 +## 3. 常见问题 1. Confignode节点启动失败 diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md index 4a6e850d1..c1dfb9ae4 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.md @@ -22,7 +22,7 @@ 本章将介绍如何启动IoTDB单机实例,IoTDB单机实例包括 1 个ConfigNode 和1个DataNode(即通常所说的1C1D)。 -## 1 注意事项 +## 1. 注意事项 1. 安装前请确认系统已参照[系统配置](./Environment-Requirements.md)准备完成。 @@ -44,7 +44,7 @@ 6. 推荐部署监控面板,可以对重要运行指标进行监控,随时掌握数据库运行状态,监控面板可以联系商务获取,部署监控面板步骤可以参考:[监控面板部署](./Monitoring-panel-deployment.md)。 -## 2 安装步骤 +## 2. 安装步骤 ### 2.1 解压安装包并进入安装目录 @@ -180,7 +180,7 @@ cd sbin > 出现`ACTIVATED(W)`为被动激活,表示此ConfigNode没有license文件(或没有签发时间戳最新的license文件)。此时建议检查license文件是否已放入license文件夹,没有请放入license文件,若已存在license文件,可能是此节点license文件与其他节点信息不一致导致,请联系天谋工作人员重新申请. -## 3 常见问题 +## 3. 常见问题 1. 部署过程中多次提示激活失败 - 使用 `ls -al` 命令:使用 `ls -al` 命令检查安装包根目录的所有者信息是否为当前用户。 diff --git a/src/zh/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md b/src/zh/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md index 770f426b8..6e86729f6 100644 --- a/src/zh/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md +++ b/src/zh/UserGuide/latest/Deployment-and-Maintenance/workbench-deployment_timecho.md @@ -29,7 +29,7 @@ 可视化控制台工具的使用说明可参考文档 [使用说明](../Tools-System/Workbench_timecho.md) 章节。 -## 1 安装准备 +## 1. 安装准备 | 准备内容 | 名称 | 版本要求 | 官方链接 | | :------: | :-----------------------: | :----------------------------------------------------------: | :----------------------------------------------------: | @@ -39,7 +39,7 @@ | 数据库 | IoTDB | 需要>=V1.2.0企业版 | 您可联系商务或技术支持获取 | | 控制台 | IoTDB-Workbench-``| - | 您可根据附录版本对照表进行选择后联系商务或技术支持获取 | -## 2 安装步骤 +## 2. 安装步骤 ### 2.1 步骤一:IoTDB 开启监控指标采集 @@ -191,7 +191,7 @@ ![](/img/workbench.png) -## 4 附录:IoTDB与控制台版本对照表 +## 3. 附录:IoTDB与控制台版本对照表 | 控制台版本号 | 版本说明 | 可支持IoTDB版本 | | :------------: | :------------------------------------------------------------: | :----------------: | diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/DBeaver.md b/src/zh/UserGuide/latest/Ecosystem-Integration/DBeaver.md index 4e71c0488..7ca4dda66 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/DBeaver.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/DBeaver.md @@ -23,11 +23,11 @@ DBeaver 是一个 SQL 客户端和数据库管理工具。DBeaver 可以使用 IoTDB 的 JDBC 驱动与 IoTDB 进行交互。 -## 1 DBeaver 安装 +## 1. DBeaver 安装 * DBeaver 下载地址:https://dbeaver.io/download/ -## 2 IoTDB 安装 +## 2. IoTDB 安装 * 下载 IoTDB 二进制版本 * IoTDB 下载地址:https://iotdb.apache.org/Download/ @@ -35,7 +35,7 @@ DBeaver 是一个 SQL 客户端和数据库管理工具。DBeaver 可以使用 I * 或者从源代码中编译 * 参考 https://github.com/apache/iotdb -## 3 连接 IoTDB 与 DBeaver +## 3. 连接 IoTDB 与 DBeaver 1. 启动 IoTDB 服务 diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/DataEase.md b/src/zh/UserGuide/latest/Ecosystem-Integration/DataEase.md index 41e2596e1..6534fcb78 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/DataEase.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/DataEase.md @@ -20,7 +20,7 @@ --> # DataEase -## 1 产品概述 +## 1. 产品概述 1. DataEase 简介 @@ -38,7 +38,7 @@ -## 2 安装要求 +## 2. 安装要求 | **准备内容** | **版本要求** | | :-------------------- | :----------------------------------------------------------- | @@ -47,7 +47,7 @@ | DataEase | 要求 v1 系列 v1.18 版本,安装请参考 DataEase 官网[安装指导](https://dataease.io/docs/v2/installation/offline_INSTL_and_UPG/)(暂不支持 v2.x,其他版本适配请联系天谋商务) | | DataEase-IoTDB 连接器 | 请联系天谋商务获取 | -## 3 安装步骤 +## 3. 安装步骤 步骤一:请联系商务获取压缩包,解压缩安装包( iotdb-api-source-1.0.0.zip ) @@ -89,7 +89,7 @@ iotdb.password=root lsof -i:8097 // config 里启动 IoTDB API Source 监听的端口 ``` -## 4 使用说明 +## 4. 使用说明 ### 4.1 登录 DataEase diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/Flink-IoTDB.md b/src/zh/UserGuide/latest/Ecosystem-Integration/Flink-IoTDB.md index a261c1927..24e09e3f1 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/Flink-IoTDB.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/Flink-IoTDB.md @@ -23,11 +23,11 @@ IoTDB 与 [Apache Flink](https://flink.apache.org/) 的集成。此模块包含了 iotdb sink,允许 flink job 将时序数据写入 IoTDB。 -## 1 IoTDBSink +## 1. IoTDBSink 使用 `IoTDBSink` ,您需要定义一个 `IoTDBOptions` 和一个 `IoTSerializationSchema` 实例。 `IoTDBSink` 默认每次发送一个数据,可以通过调用 `withBatchSize(int)` 进行调整。 -## 2 示例 +## 2. 示例 该示例演示了如下从一个 Flink job 中发送数据到 IoTDB server 的场景: @@ -115,7 +115,7 @@ IoTDB 与 [Apache Flink](https://flink.apache.org/) 的集成。此模块包含 -## 3 运行方法 +## 3. 运行方法 * 启动 IoTDB server * 运行 `org.apache.iotdb.flink.FlinkIoTDBSink.java` 将 Flink job 运行在本地的集群上。 diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/Flink-TsFile.md b/src/zh/UserGuide/latest/Ecosystem-Integration/Flink-TsFile.md index 7954fd6dd..f7a25a5a4 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/Flink-TsFile.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/Flink-TsFile.md @@ -21,7 +21,7 @@ # Apache Flink(TsFile) -## 1 关于 TsFile-Flink 连接器 +## 1. 关于 TsFile-Flink 连接器 TsFile-Flink-Connector 对 Tsfile 类型的外部数据源实现 Flink 的支持。 这使用户可以通过 Flink DataStream/DataSet 进行读取,写入和查询。 @@ -30,7 +30,7 @@ TsFile-Flink-Connector 对 Tsfile 类型的外部数据源实现 Flink 的支持 * 从本地文件系统或 hdfs 加载单个或多个 TsFile (只支持以 DataSet 的形式)到 Flink 。 * 将本地文件系统或 hdfs 中特定目录中的所有文件加载到 Flink 中。 -## 2 快速开始 +## 2. 快速开始 ### 2.1 TsFileInputFormat 示例 diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/Grafana-Connector.md b/src/zh/UserGuide/latest/Ecosystem-Integration/Grafana-Connector.md index 82c353321..a9b5a9ad4 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/Grafana-Connector.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/Grafana-Connector.md @@ -23,7 +23,7 @@ Grafana 是开源的指标量监测和可视化工具,可用于展示时序数据和应用程序运行分析。Grafana 支持 Graphite,InfluxDB 等国际主流时序数据库作为数据源。在 IoTDB 项目中,我们开发了 Grafana 展现 IoTDB 中时序数据的连接器 IoTDB-Grafana-Connector,为您提供使用 Grafana 展示 IoTDB 数据库中的时序数据的可视化方法。 -## 1 Grafana 的安装与部署 +## 1. Grafana 的安装与部署 ### 1.1 安装 @@ -85,17 +85,17 @@ Shell > grafana-server --config=/usr/local/etc/grafana/grafana.ini --homepath /u ``` 更多安装详情,请点 [这里](https://grafana.com/docs/grafana/latest/installation/) -## 2 IoTDB 安装 +## 2. IoTDB 安装 参见 [https://github.com/apache/iotdb](https://github.com/apache/iotdb) -## 3 Grafana-IoTDB-Connector 连接器安装 +## 3. Grafana-IoTDB-Connector 连接器安装 ```shell git clone https://github.com/apache/iotdb.git ``` -## 4 启动 Grafana-IoTDB-Connector +## 4. 启动 Grafana-IoTDB-Connector * 方案一(适合开发者) @@ -120,7 +120,7 @@ java -jar iotdb-grafana-connector-{version}.war 如果您需要配置属性,将`grafana/src/main/resources/application.properties`移动到 war 包同级目录下(`grafana/target`) -## 5 使用 Grafana +## 5. 使用 Grafana Grafana 以网页的 dashboard 形式为您展示数据,在使用时请您打开浏览器,访问 http://\:\ @@ -142,7 +142,7 @@ Grafana 以网页的 dashboard 形式为您展示数据,在使用时请您打 -## 6 配置 grafana +## 6. 配置 grafana ``` # IoTDB 的 IP 和端口 diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/Grafana-Plugin.md b/src/zh/UserGuide/latest/Ecosystem-Integration/Grafana-Plugin.md index 0a68347aa..84e7eec5d 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/Grafana-Plugin.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/Grafana-Plugin.md @@ -25,7 +25,7 @@ Grafana 是开源的指标量监测和可视化工具,可用于展示时序数 在 IoTDB 项目中,我们开发了 Grafana 插件,该插件通过调用 IoTDB REST 服务来展现 IoTDB 中时序数据 ,提供了众多时序数据的可视化方法。Grafana 插件相较于 IoTDB-Grafana-Connector 连接器执行效率更高、支持的查询种类更多。只要在您部署环境允许的情况下,*我们都推荐直接使用 Grafana 插件而不使用 IoTDB-Grafana-Connector 连接器*。 -## 1 部署 Grafana 插件 +## 1. 部署 Grafana 插件 ### 1.1 安装 Grafana @@ -97,7 +97,7 @@ rest_service_port=18080 -## 2 使用 Grafana 插件 +## 2. 使用 Grafana 插件 ### 2.1 访问 Grafana dashboard @@ -282,7 +282,7 @@ Type下拉中有Query、Custom、Text box、Constant、DataSource、Interval、A 想了解alert更多详细的操作可以查看官方文档https://grafana.com/docs/grafana/latest/alerting/ -## 6 更多 +## 3. 更多 更多关于 Grafana 操作详情可参看 Grafana 官方文档:http://docs.grafana.org/guides/getting_started/。 diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/Hive-TsFile.md b/src/zh/UserGuide/latest/Ecosystem-Integration/Hive-TsFile.md index c15e251b7..ce411bd4e 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/Hive-TsFile.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/Hive-TsFile.md @@ -21,7 +21,7 @@ # Apache Hive(TsFile) -## 1 什么是 TsFile 的 Hive 连接器 +## 1. 什么是 TsFile 的 Hive 连接器 TsFile 的 Hive 连接器实现了对 Hive 读取外部 Tsfile 类型的文件格式的支持, 使用户能够通过 Hive 操作 Tsfile。 @@ -32,13 +32,13 @@ TsFile 的 Hive 连接器实现了对 Hive 读取外部 Tsfile 类型的文件 * 使用 HQL 查询 tsfile * 到现在为止,写操作在 hive-connector 中还没有被支持。所以,HQL 中的 insert 操作是不被允许的 -## 2 系统环境要求 +## 2. 系统环境要求 |Hadoop Version |Hive Version | Java Version | TsFile | |------------- |------------ | ------------ |------------ | | `2.7.3` or `3.2.1` | `2.3.6` or `3.1.2` | `1.8` | `1.0.0+`| -## 3 数据类型对应关系 +## 3. 数据类型对应关系 | TsFile 数据类型 | Hive 数据类型 | | ---------------- | --------------- | @@ -49,7 +49,7 @@ TsFile 的 Hive 连接器实现了对 Hive 读取外部 Tsfile 类型的文件 | DOUBLE | Double | | TEXT | STRING | -## 4 为 Hive 添加依赖 jar 包 +## 4. 为 Hive 添加依赖 jar 包 为了在 Hive 中使用 Tsfile 的 hive 连接器,我们需要把 hive 连接器的 jar 导入进 hive。 @@ -64,7 +64,7 @@ Added [/Users/hive/iotdb/hive-connector/target/hive-connector-1.0.0-jar-with-dep Added resources: [/Users/hive/iotdb/hive-connector/target/hive-connector-1.0.0-jar-with-dependencies.jar] ``` -## 5 创建 Tsfile-backed 的 Hive 表 +## 5. 创建 Tsfile-backed 的 Hive 表 为了创建一个 Tsfile-backed 的表,需要将`serde`指定为`org.apache.iotdb.hive.TsFileSerDe`, 将`inputformat`指定为`org.apache.iotdb.hive.TSFHiveInputFormat`, @@ -108,7 +108,7 @@ Time taken: 0.053 seconds, Fetched: 2 row(s) 到目前为止,Tsfile-backed 的表已经可以像 hive 中其他表一样被操作了。 -## 6 从 Tsfile-backed 的 Hive 表中查询 +## 6. 从 Tsfile-backed 的 Hive 表中查询 在做任何查询之前,我们需要通过如下命令,在 hive 中设置`hive.input.format`: diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md b/src/zh/UserGuide/latest/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md index 1b8cfe518..553d01d39 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/Ignition-IoTDB-plugin_timecho.md @@ -20,7 +20,7 @@ --> # Ignition -## 1 产品概述 +## 1. 产品概述 1. Ignition简介 @@ -37,7 +37,7 @@ Ignition 是一个基于WEB的监控和数据采集工具(SCADA)- 一个开 ![](/img/Ignition.png) -## 2 安装要求 +## 2. 安装要求 | **准备内容** | **版本要求** | | :------------------------: | :------------------------------------------------------------: | @@ -46,7 +46,7 @@ Ignition 是一个基于WEB的监控和数据采集工具(SCADA)- 一个开 | Ignition-IoTDB连接器模块 | 请联系商务获取 | | Ignition-IoTDB With JDBC模块 | 下载地址:https://repo1.maven.org/maven2/org/apache/iotdb/iotdb-jdbc/ | -## 3 Ignition-IoTDB连接器使用说明 +## 3. Ignition-IoTDB连接器使用说明 ### 3.1 简介 @@ -232,7 +232,7 @@ Ignition-IoTDB连接器提供了将 Ignition 采集到的数据存入 IoTDB 的 system.iotdb.query("IoTDB", "select * from root.db.Sine where time > 1709563427247") ``` -## 4 Ignition-IoTDB With JDBC +## 4. Ignition-IoTDB With JDBC ### 4.1 简介 diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/Kubernetes_apache.md b/src/zh/UserGuide/latest/Ecosystem-Integration/Kubernetes_apache.md index 41a17214f..a21e6df28 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/Kubernetes_apache.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/Kubernetes_apache.md @@ -21,7 +21,7 @@ # Kubernetes -## 1 环境准备 +## 1. 环境准备 ### 1.1 准备 Kubernetes 集群 @@ -31,7 +31,7 @@ Kubernetes 版本要求:建议版本为 Kubernetes 1.24及以上 IoTDB版本要求:不能低于v1.3.3.2 -## 2 创建命名空间 +## 2. 创建命名空间 ### 2.1 创建命名空间 @@ -47,7 +47,7 @@ kubectl create ns iotdb-ns kubectl get ns ``` -## 3 创建 PersistentVolume (PV) +## 3. 创建 PersistentVolume (PV) ### 3.1 创建 PV 配置文件 @@ -116,11 +116,11 @@ mkdir -p /data/k8s-data/iotdb-pv-02 ... ``` -## 4 安装 Helm +## 4. 安装 Helm 安装Helm步骤请参考[Helm官网](https://helm.sh/zh/docs/intro/install/) -## 5 配置IoTDB的Helm Chart +## 5. 配置IoTDB的Helm Chart ### 5.1 克隆 IoTDB Kubernetes 部署代码 @@ -184,7 +184,7 @@ confignode: dataRegionConsensusProtocolClass: org.apache.iotdb.consensus.iot.IoTConsensus ``` -## 6 配置私库信息或预先使用ctr拉取镜像 +## 6. 配置私库信息或预先使用ctr拉取镜像 在k8s上配置私有仓库的信息,为下一步helm install的前置步骤。 @@ -258,7 +258,7 @@ ctr -n k8s.io images import iotdb-enterprise:1.3.3.2-standalone.tar ctr --namespace k8s.io images list | grep 1.3.3.2 ``` -## 7 安装 IoTDB +## 7. 安装 IoTDB ### 7.1 安装 IoTDB @@ -301,7 +301,7 @@ kubectl describe pod datanode-0 -n iotdb-ns kubectl logs -n iotdb-ns confignode-0 -f ``` -## 8 激活 IoTDB +## 8. 激活 IoTDB ### 8.1 方案1:直接在 Pod 中激活(最快捷) @@ -357,7 +357,7 @@ kubectl describe pv iotdb-pv-04 | grep "Path:" 4. 从对应节点的对应目录下找到 system-info 文件,使用该 system-info 作为机器码生成激活码,并在同级目录新建文件 license,将激活码写入到该文件。 -## 9 验证 IoTDB +## 9. 验证 IoTDB ### 9.1 查看命名空间内的 Pods 状态 @@ -400,7 +400,7 @@ start-cli.sh -h 172.20.31.88 -p 31895 -## 10 扩容 +## 10. 扩容 ### 10.1 新增pv diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/Kubernetes_timecho.md b/src/zh/UserGuide/latest/Ecosystem-Integration/Kubernetes_timecho.md index 4925667d9..2a6847ff9 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/Kubernetes_timecho.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/Kubernetes_timecho.md @@ -21,7 +21,7 @@ # Kubernetes -## 1 环境准备 +## 1. 环境准备 ### 1.1 准备 Kubernetes 集群 @@ -31,7 +31,7 @@ Kubernetes 版本要求:建议版本为 Kubernetes 1.24及以上 IoTDB版本要求:不能低于v1.3.3 -## 2 创建命名空间 +## 2. 创建命名空间 ### 2.1 创建命名空间 @@ -47,7 +47,7 @@ kubectl create ns iotdb-ns kubectl get ns ``` -## 3 创建 PersistentVolume (PV) +## 3. 创建 PersistentVolume (PV) ### 3.1 创建 PV 配置文件 @@ -116,11 +116,11 @@ mkdir -p /data/k8s-data/iotdb-pv-02 ... ``` -## 4 安装 Helm +## 4. 安装 Helm 安装Helm步骤请参考[Helm官网](https://helm.sh/zh/docs/intro/install/) -## 5 配置IoTDB的Helm Chart +## 5. 配置IoTDB的Helm Chart ### 5.1 克隆 IoTDB Kubernetes 部署代码 @@ -184,7 +184,7 @@ confignode: dataRegionConsensusProtocolClass: org.apache.iotdb.consensus.iot.IoTConsensus ``` -## 6 配置私库信息或预先使用ctr拉取镜像 +## 6. 配置私库信息或预先使用ctr拉取镜像 在k8s上配置私有仓库的信息,为下一步helm install的前置步骤。 @@ -258,7 +258,7 @@ ctr -n k8s.io images import iotdb-enterprise:1.3.3.2-standalone.tar ctr --namespace k8s.io images list | grep 1.3.3.2 ``` -## 7 安装 IoTDB +## 7. 安装 IoTDB ### 7.1 安装 IoTDB @@ -301,7 +301,7 @@ kubectl describe pod datanode-0 -n iotdb-ns kubectl logs -n iotdb-ns confignode-0 -f ``` -## 8 激活 IoTDB +## 8. 激活 IoTDB ### 8.1 方案1:直接在 Pod 中激活(最快捷) @@ -357,7 +357,7 @@ kubectl describe pv iotdb-pv-04 | grep "Path:" 4. 从对应节点的对应目录下找到 system-info 文件,使用该 system-info 作为机器码生成激活码,并在同级目录新建文件 license,将激活码写入到该文件。 -## 9 验证 IoTDB +## 9. 验证 IoTDB ### 9.1 查看命名空间内的 Pods 状态 @@ -400,7 +400,7 @@ start-cli.sh -h 172.20.31.88 -p 31895 -## 10 扩容 +## 10. 扩容 ### 10.1 新增pv diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/NiFi-IoTDB.md b/src/zh/UserGuide/latest/Ecosystem-Integration/NiFi-IoTDB.md index 353e472f0..0d7c1066e 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/NiFi-IoTDB.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/NiFi-IoTDB.md @@ -20,7 +20,7 @@ --> # Apache NiFi -## 1 Apache NiFi简介 +## 1. Apache NiFi简介 Apache NiFi 是一个易用的、功能强大的、可靠的数据处理和分发系统。 @@ -46,7 +46,7 @@ Apache NiFi 包含以下功能: * 多租户授权和策略管理 * 包括TLS和SSH的加密通信的标准协议 -## 2 PutIoTDBRecord +## 2. PutIoTDBRecord 这是一个用于数据写入的处理器。它使用配置的 Record Reader 将传入 FlowFile 的内容读取为单独的记录,并使用本机接口将它们写入 Apache IoTDB。 @@ -108,14 +108,14 @@ Apache NiFi 包含以下功能: 6. 支持的 `encoding` 有: `PLAIN`, `DICTIONARY`, `RLE`, `DIFF`, `TS_2DIFF`, `BITMAP`, `GORILLA_V1`, `REGULAR`, `GORILLA`,`ZIGZAG`,`CHIMP`, `SPRINTZ`, `RLBE`。 7. 支持的 `compressionType` 有: `UNCOMPRESSED`, `SNAPPY`, `GZIP`, `LZO`, `SDT`, `PAA`, `PLA`, `LZ4`, `ZSTD`, `LZMA2`。 -## 3 Relationships +## 3. Relationships | relationship | 描述 | | ------------ | ----------------------- | | success | 数据能被正确的写入。 | | failure | schema 或者数据有异常。 | -## 4 QueryIoTDBRecord +## 4. QueryIoTDBRecord 这是一个用于数据读取的处理器。它通过读取 FlowFile 的内容中的SQL 查询来对IoTDB的原生接口进行访问,并将查询结果用Record Writer写入 flowfile。 @@ -132,7 +132,7 @@ Apache NiFi 包含以下功能: | iotdb-query-chunk-size | 返回的结果可以进行分块,数据流中会返回一批按设置大小切分的数据,而不是一个单一的响应. 分块查询可以返回无限量的行。 注意: 数据分块只有在设置不为0时启用 | 0 | false | -## 5 Relationships +## 5. Relationships | relationship | 描述 | | ------------ | ----------------------- | diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/Spark-IoTDB.md b/src/zh/UserGuide/latest/Ecosystem-Integration/Spark-IoTDB.md index 96d79dac2..b6dec561e 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/Spark-IoTDB.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/Spark-IoTDB.md @@ -21,7 +21,7 @@ # Apache Spark(IoTDB) -## 1 版本支持 +## 1. 版本支持 支持的 Spark 与 Scala 版本如下: @@ -29,12 +29,12 @@ |----------------|--------------| | `2.4.0-latest` | `2.11, 2.12` | -## 2 注意事项 +## 2. 注意事项 1. 当前版本的 `spark-iotdb-connector` 支持 `2.11` 与 `2.12` 两个版本的 Scala,暂不支持 `2.13` 版本。 2. `spark-iotdb-connector` 支持在 Java、Scala 版本的 Spark 与 PySpark 中使用。 -## 3 部署 +## 3. 部署 `spark-iotdb-connector` 总共有两个使用场景,分别为 IDE 开发与 spark-shell 调试。 @@ -80,7 +80,7 @@ $IoTDB_HOME/iotdb-client/jdbc/target/iotdb-jdbc-{version}-SNAPSHOT-jar-with-depe cp iotdb-jdbc-{version}-SNAPSHOT-jar-with-dependencies.jar $SPARK_HOME/jars/ ``` -## 4 使用 +## 4. 使用 ### 4.1 参数 @@ -183,7 +183,7 @@ import org.apache.iotdb.spark.db._ val wide_df = Transformer.toWideForm(spark, narrow_df) ``` -## 5 宽表与窄表 +## 5. 宽表与窄表 以下 TsFile 结构为例:TsFile 模式中有三个度量:状态,温度和硬件。 这三种测量的基本信息如下: diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/Spark-TsFile.md b/src/zh/UserGuide/latest/Ecosystem-Integration/Spark-TsFile.md index f7aa71b7f..e7fc54b3c 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/Spark-TsFile.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/Spark-TsFile.md @@ -21,7 +21,7 @@ # Apache Spark(TsFile) -## 1 About TsFile-Spark-Connector +## 1. About TsFile-Spark-Connector TsFile-Spark-Connector 对 Tsfile 类型的外部数据源实现 Spark 的支持。 这使用户可以通过 Spark 读取,写入和查询 Tsfile。 @@ -31,7 +31,7 @@ TsFile-Spark-Connector 对 Tsfile 类型的外部数据源实现 Spark 的支持 - 将本地文件系统或 hdfs 中特定目录中的所有文件加载到 Spark 中 - 将数据从 Spark 写入 TsFile -## 2 System Requirements +## 2. System Requirements | Spark Version | Scala Version | Java Version | TsFile | | ------------- | ------------- | ------------ | -------- | @@ -40,7 +40,7 @@ TsFile-Spark-Connector 对 Tsfile 类型的外部数据源实现 Spark 的支持 > 注意:有关如何下载和使用 TsFile 的更多信息,请参见以下链接:https://github.com/apache/iotdb/tree/master/tsfile > 注意:spark 版本目前仅支持 2.4.3, 其他版本可能存在不适配的问题,目前已知 2.4.7 的版本存在不适配的问题 -## 3 快速开始 +## 3. 快速开始 ### 3.1 本地模式 @@ -69,7 +69,7 @@ TsFile-Spark-Connector 对 Tsfile 类型的外部数据源实现 Spark 的支持 - 多个 jar 包用逗号分隔,没有任何空格。 - 有关如何获取 TsFile 的信息,请参见 https://github.com/apache/iotdb/tree/master/tsfile。 -## 4 数据类型对应 +## 4. 数据类型对应 | TsFile 数据类型 | SparkSQL 数据类型 | | -------------- | ---------------- | @@ -80,7 +80,7 @@ TsFile-Spark-Connector 对 Tsfile 类型的外部数据源实现 Spark 的支持 | DOUBLE | DoubleType | | TEXT | StringType | -## 5 模式推断 +## 5. 模式推断 显示 TsFile 的方式取决于架构。 以以下 TsFile 结构为例:TsFile 模式中有三个度量:状态,温度和硬件。 这三种测量的基本信息如下: @@ -125,7 +125,7 @@ TsFile 中的现有数据如下: | 5 | root.ln.wf02.wt01 | false | null | null | | 6 | root.ln.wf02.wt02 | null | ccc | null | -## 6 Scala API +## 6. Scala API 注意:请记住预先分配必要的读写权限。 diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/Telegraf.md b/src/zh/UserGuide/latest/Ecosystem-Integration/Telegraf.md index 1c4bebee2..6590a3838 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/Telegraf.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/Telegraf.md @@ -20,7 +20,7 @@ --> # Telegraf -## 1 产品概述 +## 1. 产品概述 ### 1.1 Telegraf @@ -40,17 +40,17 @@ Telegraf-IoTDB 插件可以将保存在 Telegraf 中的监控信息输出存储 ![](/img/Telegraf.png) -## 2 安装要求 +## 2. 安装要求 Telegraf支持多种操作系统,包括Linux、Windows、macOS,Telegraf 的安装推荐使用`root`管理员权限才能成功完成,具体安装要求请查看 [安装要求](https://docs.influxdata.com/telegraf/v1/install/) -## 3 安装步骤 +## 3. 安装步骤 具体安装步骤请查看 [安装步骤](https://docs.influxdata.com/telegraf/v1/install/) - 注:此插件为Telegraf内置插件,无需进行二次安装 -## 4 使用说明 +## 4. 使用说明 ### 4.1 设置输入源 @@ -89,7 +89,7 @@ Telegraf支持多种操作系统,包括Linux、Windows、macOS,Telegraf 的 telegraf -config /path/to/telegraf.conf ``` -## 5 使用示例 +## 5. 使用示例 以下是一个使用 Telegraf 收集 CPU 数据并使用 Telegraf-IoTDB 输出到 IoTDB 的示例。使用 telegraf 命令生成配置文件 diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/Thingsboard.md b/src/zh/UserGuide/latest/Ecosystem-Integration/Thingsboard.md index f7f5e5a36..404e1f368 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/Thingsboard.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/Thingsboard.md @@ -20,7 +20,7 @@ --> # ThingsBoard -## 1 产品概述 +## 1. 产品概述 1. ThingsBoard 简介 @@ -36,7 +36,7 @@ ![](/img/Thingsboard-2.png) -## 2 安装要求 +## 2. 安装要求 | 准备内容 | 版本要求 | | :-------------------------- | :----------------------------------------------------------- | @@ -44,7 +44,7 @@ | IoTDB | 要求已安装 V1.3.0 及以上版本,具体安装过程请参考[ 部署指导](https://www.timecho.com/docs/zh/UserGuide/latest/Deployment-and-Maintenance/IoTDB-Package_timecho.html) | | ThingsBoard(IoTDB 适配版) | 安装包请联系商务获取,具体安装步骤参见下文 | -## 3 安装步骤 +## 3. 安装步骤 具体安装步骤请参考 [ThingsBoard 官网](https://thingsboard.io/docs/user-guide/install/ubuntu/)。其中: @@ -73,7 +73,7 @@ export IoTDB_MAX_SIZE=200 ##sessionpool内的最大数量,推荐设置为 export IoTDB_DATABASE=root.thingsboard ##thingsboard数据写入iotdb所存储的数据库,支持自定义 ``` -## 4 使用说明 +## 4. 使用说明 1. 创建设备并接入数据:在 Thingsboard 的实体-设备中创建设备并通过工业网关将数据发送到 ThingsBoard 指定设备中 diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/Zeppelin-IoTDB_apache.md b/src/zh/UserGuide/latest/Ecosystem-Integration/Zeppelin-IoTDB_apache.md index 4ef0a9f85..90675b28b 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/Zeppelin-IoTDB_apache.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/Zeppelin-IoTDB_apache.md @@ -21,13 +21,13 @@ # Apache Zeppelin -## 1 Zeppelin 简介 +## 1. Zeppelin 简介 Apache Zeppelin 是一个基于网页的交互式数据分析系统。用户可以通过 Zeppelin 连接数据源并使用 SQL、Scala 等进行交互式操作。操作可以保存为文档(类似于 Jupyter)。Zeppelin 支持多种数据源,包括 Spark、ElasticSearch、Cassandra 和 InfluxDB 等等。现在,IoTDB 已经支持使用 Zeppelin 进行操作。样例如下: ![iotdb-note-snapshot](/img/github/102752947-520a3e80-43a5-11eb-8fb1-8fac471c8c7e.png) -## 2 Zeppelin-IoTDB 解释器 +## 2. Zeppelin-IoTDB 解释器 ### 2.1 系统环境需求 @@ -103,7 +103,7 @@ or > sbin\start-server.bat -c -rpc_port ``` -## 3 使用 Zeppelin-IoTDB 解释器 +## 3. 使用 Zeppelin-IoTDB 解释器 当 Zeppelin 启动后,访问 [http://127.0.0.1:8080/](http://127.0.0.1:8080/) @@ -154,7 +154,7 @@ WHERE time >= 1 以上样例放置于 `$IoTDB_HOME/zeppelin-interpreter/Zeppelin-IoTDB-Demo.zpln` -## 4 解释器配置项 +## 4. 解释器配置项 进入页面 [http://127.0.0.1:8080/#/interpreter](http://127.0.0.1:8080/#/interpreter) 并配置 IoTDB 的连接参数: diff --git a/src/zh/UserGuide/latest/Ecosystem-Integration/Zeppelin-IoTDB_timecho.md b/src/zh/UserGuide/latest/Ecosystem-Integration/Zeppelin-IoTDB_timecho.md index a11490e8c..f3bba6de1 100644 --- a/src/zh/UserGuide/latest/Ecosystem-Integration/Zeppelin-IoTDB_timecho.md +++ b/src/zh/UserGuide/latest/Ecosystem-Integration/Zeppelin-IoTDB_timecho.md @@ -21,13 +21,13 @@ # Apache Zeppelin -## 1 Zeppelin 简介 +## 1. Zeppelin 简介 Apache Zeppelin 是一个基于网页的交互式数据分析系统。用户可以通过 Zeppelin 连接数据源并使用 SQL、Scala 等进行交互式操作。操作可以保存为文档(类似于 Jupyter)。Zeppelin 支持多种数据源,包括 Spark、ElasticSearch、Cassandra 和 InfluxDB 等等。现在,IoTDB 已经支持使用 Zeppelin 进行操作。样例如下: ![iotdb-note-snapshot](/img/github/102752947-520a3e80-43a5-11eb-8fb1-8fac471c8c7e.png) -## 2 Zeppelin-IoTDB 解释器 +## 2. Zeppelin-IoTDB 解释器 ### 2.1 系统环境需求 @@ -103,7 +103,7 @@ or > sbin\start-server.bat -c -rpc_port ``` -## 6 使用 Zeppelin-IoTDB 解释器 +## 3. 使用 Zeppelin-IoTDB 解释器 当 Zeppelin 启动后,访问 [http://127.0.0.1:8080/](http://127.0.0.1:8080/) @@ -154,7 +154,7 @@ WHERE time >= 1 以上样例放置于 `$IoTDB_HOME/zeppelin-interpreter/Zeppelin-IoTDB-Demo.zpln` -## 7 解释器配置项 +## 4. 解释器配置项 进入页面 [http://127.0.0.1:8080/#/interpreter](http://127.0.0.1:8080/#/interpreter) 并配置 IoTDB 的连接参数: diff --git a/src/zh/UserGuide/latest/FAQ/Frequently-asked-questions.md b/src/zh/UserGuide/latest/FAQ/Frequently-asked-questions.md index 1a9e83b5b..6fd50cc97 100644 --- a/src/zh/UserGuide/latest/FAQ/Frequently-asked-questions.md +++ b/src/zh/UserGuide/latest/FAQ/Frequently-asked-questions.md @@ -23,7 +23,7 @@ # 常见问题 -## 1 一般问题 +## 1. 一般问题 ### 1.1 如何查询我的IoTDB版本? @@ -179,7 +179,7 @@ datanode_memory_proportion参数控制分给查询的内存,chunk_timeseriesme - 添加 align by device,会按照device顺序进行输出,内存占用会降低至单device级别。 -## 2 分布式部署 FAQ +## 2. 分布式部署 FAQ ### 2.1 集群启停 diff --git a/src/zh/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_apache.md b/src/zh/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_apache.md index 661d2fc65..f8b7b8e98 100644 --- a/src/zh/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_apache.md +++ b/src/zh/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_apache.md @@ -30,7 +30,7 @@ Apache IoTDB 是一款低成本、高性能的物联网原生时序数据库。 - 安装部署与使用文档:[快速上手](../QuickStart/QuickStart_apache.md) -## 1 产品体系 +## 1. 产品体系 IoTDB 体系由若干个组件构成,帮助用户高效地管理和分析物联网产生的海量时序数据。 @@ -44,13 +44,13 @@ IoTDB 体系由若干个组件构成,帮助用户高效地管理和分析物 2. **时序数据标准文件格式(Apache TsFile)**:该文件格式是一种专为时序数据设计的存储格式,可以高效地存储和查询海量时序数据。目前 IoTDB、AINode 等模块的底层存储文件均由 Apache TsFile 进行支撑。通过 TsFile,用户可以在采集、管理、应用&分析阶段统一使用相同的文件格式进行数据管理,极大简化了数据采集到分析的整个流程,提高时序数据管理的效率和便捷度。 3. **时序模型训推一体化引擎(IoTDB AINode)**:针对智能分析场景,IoTDB 提供 AINode 时序模型训推一体化引擎,它提供了一套完整的时序数据分析工具,底层为模型训练引擎,支持训练任务与数据管理,与包括机器学习、深度学习等。通过这些工具,用户可以对存储在 IoTDB 中的数据进行深入分析,挖掘出其中的价值。 -## 2 TimechoDB 整体架构 +## 2. TimechoDB 整体架构 下图展示了一个常见的 IoTDB 3C3D(3 个 ConfigNode、3 个 DataNode)的集群部署模式: -## 3 产品特性 +## 3. 产品特性 Apache IoTDB 具备以下优势和特性: @@ -70,7 +70,7 @@ Apache IoTDB 具备以下优势和特性: - 丰富的生态环境对接:支持Hadoop、Spark等大数据生态系统组件对接,支持Grafana、Thingsboard、DataEase等设备管理和可视化工具 -## 4 商业版本 +## 4. 商业版本 天谋科技在 Apache IoTDB 开源版本的基础上提供了原厂商业化产品 TimechoDB,为企业、商业客户提供企业级产品和服务,它可以解决企业组建物联网大数据平台管理时序数据时所遇到的应用场景复杂、数据体量大、采样频率高、数据乱序多、数据处理耗时长、分析需求多样、存储与运维成本高等多种问题。 diff --git a/src/zh/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_timecho.md b/src/zh/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_timecho.md index 8ecf2b001..aecb77043 100644 --- a/src/zh/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_timecho.md +++ b/src/zh/UserGuide/latest/IoTDB-Introduction/IoTDB-Introduction_timecho.md @@ -27,7 +27,7 @@ TimechoDB 是一款低成本、高性能的物联网原生时序数据库,是 - 下载、部署与使用:[快速上手](../QuickStart/QuickStart_timecho.md) -## 1 产品体系 +## 1. 产品体系 天谋产品体系由若干个组件构成,覆盖由【数据采集】到【数据管理】到【数据分析&应用】的全时序数据生命周期,做到“采-存-用”一体化时序数据解决方案,帮助用户高效地管理和分析物联网产生的海量时序数据。 @@ -43,13 +43,13 @@ TimechoDB 是一款低成本、高性能的物联网原生时序数据库,是 3. **时序模型训推一体化引擎(AINode)**:针对智能分析场景,TimechoDB 提供 AINode 时序模型训推一体化引擎,它提供了一套完整的时序数据分析工具,底层为模型训练引擎,支持训练任务与数据管理,与包括机器学习、深度学习等。通过这些工具,用户可以对存储在 TimechoDB 中的数据进行深入分析,挖掘出其中的价值。 4. **数据采集**:为了更加便捷的对接各类工业采集场景, 天谋科技提供数据采集接入服务,支持多种协议和格式,可以接入各种传感器、设备产生的数据,同时支持断点续传、网闸穿透等特性。更加适配工业领域采集过程中配置难、传输慢、网络弱的特点,让用户的数采变得更加简单、高效。 -## 2 TimechoDB 整体架构 +## 2. TimechoDB 整体架构 下图展示了一个常见的 IoTDB 3C3D(3 个 ConfigNode、3 个 DataNode)的集群部署模式: -## 3 产品特性 +## 3. 产品特性 TimechoDB 具备以下优势和特性: @@ -69,7 +69,7 @@ TimechoDB 具备以下优势和特性: - 丰富的生态环境对接:支持Hadoop、Spark等大数据生态系统组件对接,支持Grafana、Thingsboard、DataEase等设备管理和可视化工具 -## 4 企业特性 +## 4. 企业特性 ### 4.1 更高阶的产品功能 diff --git a/src/zh/UserGuide/latest/IoTDB-Introduction/Release-history_timecho.md b/src/zh/UserGuide/latest/IoTDB-Introduction/Release-history_timecho.md index a07bcc8b4..30e6a18b2 100644 --- a/src/zh/UserGuide/latest/IoTDB-Introduction/Release-history_timecho.md +++ b/src/zh/UserGuide/latest/IoTDB-Introduction/Release-history_timecho.md @@ -20,7 +20,7 @@ --> # 发版历史 -## 1 TimechoDB(数据库内核) +## 1. TimechoDB(数据库内核) ### V1.3.4.1 > 发版时间:2025.01.08 > @@ -202,7 +202,7 @@ V1.0.0.1主要修复分区计算及查询执行时的相关问题,历史快照 - 流处理模块:支持流处理框架 - 流处理模块:支持集群间数据同步功能 -## 2 Workbench(控制台工具) +## 2. Workbench(控制台工具) | **控制台版本号** | **版本说明** | **可支持IoTDB版本** | | ---------------- | ------------------------------------------------------------ | ------------------- | diff --git a/src/zh/UserGuide/latest/IoTDB-Introduction/Scenario.md b/src/zh/UserGuide/latest/IoTDB-Introduction/Scenario.md index 16ee26f3f..ab59adafc 100644 --- a/src/zh/UserGuide/latest/IoTDB-Introduction/Scenario.md +++ b/src/zh/UserGuide/latest/IoTDB-Introduction/Scenario.md @@ -21,7 +21,7 @@ # 应用场景 -## 1 应用1——能源电力 +## 1. 能源电力 ### 1.1 背景: @@ -34,7 +34,7 @@ IoTDB 凭借集群高可用、低流量数据同步、跨网闸支持和优异 ![img](/img/scenarios01.png) -## 2 应用2——航空航天 +## 2. 航空航天 ### 2.1 背景 @@ -47,7 +47,7 @@ IoTDB 凭借其国产自研的高效低流量数据同步、离线数据迁移 ![img](/img/scenarios02.png) -## 3 应用3——交通运输 +## 3. 交通运输 ### 3.1 背景 @@ -60,7 +60,7 @@ IoTDB 凭借其高效的时序数据管理和低延迟查询能力,有效应 ![img](/img/scenarios03.png) -## 4 应用4——钢铁冶炼 +## 4. 钢铁冶炼 ### 4.1 背景 @@ -73,7 +73,7 @@ IoTDB 通过其强大的数据存储与计算能力,为钢铁冶炼场景提 ![img](/img/scenarios04.png) -## 5 应用5——物联网 +## 5. 物联网 ### 5.1 背景 diff --git a/src/zh/UserGuide/latest/QuickStart/QuickStart_apache.md b/src/zh/UserGuide/latest/QuickStart/QuickStart_apache.md index 5f9050ece..842da6c2a 100644 --- a/src/zh/UserGuide/latest/QuickStart/QuickStart_apache.md +++ b/src/zh/UserGuide/latest/QuickStart/QuickStart_apache.md @@ -23,7 +23,7 @@ 本篇文档将帮助您了解快速入门 IoTDB 的方法。 -## 1 如何安装部署? +## 1. 如何安装部署? 本篇文档将帮助您快速安装部署 IoTDB,您可以通过以下文档的链接快速定位到所需要查看的内容: @@ -41,7 +41,7 @@ > ❗️注意:目前我们仍然推荐直接在物理机/虚拟机上安装部署,如需要 docker 部署,可参考:[Docker 部署](../Deployment-and-Maintenance/Docker-Deployment_apache.md) -## 2 如何使用? +## 2. 如何使用? 1. 数据库建模设计:数据库建模是创建数据库系统的重要步骤,它涉及到设计数据的结构和关系,以确保数据的组织方式能够满足特定应用的需求,下面的文档将会帮助您快速了解 IoTDB 的建模设计: @@ -65,7 +65,7 @@ 5. 应用编程接口: IoTDB 提供了多种应用编程接口(API),以便于开发者在应用程序中与 IoTDB 进行交互,目前支持 [Java](../API/Programming-Java-Native-API.md)、[Python](../API/Programming-Python-Native-API.md)、[C++](../API/Programming-Cpp-Native-API.md)等,更多编程接口可参见官网【应用编程接口】其他章节 -## 3 还有哪些便捷的周边工具? +## 3. 还有哪些便捷的周边工具? IoTDB 除了自身拥有丰富的功能外,其周边的工具体系包含的种类十分齐全。本篇文档将帮助您快速使用周边工具体系: @@ -76,7 +76,7 @@ IoTDB 除了自身拥有丰富的功能外,其周边的工具体系包含的 - 数据导出脚本:针对于不同场景,IoTDB 为用户提供多种批量导出数据的操作方式,具体使用介绍请查看:[数据导出](../Tools-System/Data-Export-Tool.md) -## 4 想了解更多技术细节? +## 4. 想了解更多技术细节? 如果您想了解 IoTDB 的更多技术内幕,可以移步至下面的文档: @@ -86,6 +86,6 @@ IoTDB 除了自身拥有丰富的功能外,其周边的工具体系包含的 - 数据分区和负载均衡:IoTDB 基于时序数据特性,精心设计了数据分区策略和负载均衡算法,提升了集群的可用性和性能,想了解更多请查看 [数据分区和负载均衡](../Technical-Insider/Cluster-data-partitioning.md) -## 5 使用过程中遇到问题? +## 5. 使用过程中遇到问题? 如果您在安装或使用过程中遇到困难,可以移步至 [常见问题](../FAQ/Frequently-asked-questions.md) 中进行查看 \ No newline at end of file diff --git a/src/zh/UserGuide/latest/QuickStart/QuickStart_timecho.md b/src/zh/UserGuide/latest/QuickStart/QuickStart_timecho.md index ce7b03f18..b9012e786 100644 --- a/src/zh/UserGuide/latest/QuickStart/QuickStart_timecho.md +++ b/src/zh/UserGuide/latest/QuickStart/QuickStart_timecho.md @@ -23,7 +23,7 @@ 本篇文档将帮助您了解快速入门 IoTDB 的方法。 -## 1 如何安装部署? +## 1. 如何安装部署? 本篇文档将帮助您快速安装部署 IoTDB,您可以通过以下文档的链接快速定位到所需要查看的内容: @@ -49,7 +49,7 @@ - 可视化控制台:是 IoTDB 的可视化界面,支持通过界面交互的形式提供元数据管理、数据查询、数据可视化等功能的操作,帮助用户简单、高效的使用数据库,安装步骤可查看 [可视化控制台部署](../Deployment-and-Maintenance/workbench-deployment_timecho.md) -## 2 如何使用? +## 2. 如何使用? 1. 数据库建模设计:数据库建模是创建数据库系统的重要步骤,它涉及到设计数据的结构和关系,以确保数据的组织方式能够满足特定应用的需求,下面的文档将会帮助您快速了解 IoTDB 的建模设计: @@ -77,7 +77,7 @@ 5. 应用编程接口: IoTDB 提供了多种应用编程接口(API),以便于开发者在应用程序中与 IoTDB 进行交互,目前支持[ Java 原生接口](../API/Programming-Java-Native-API.md)、[Python 原生接口](../API/Programming-Python-Native-API.md)、[C++原生接口](../API/Programming-Cpp-Native-API.md)、[Go 原生接口](../API/Programming-Go-Native-API.md)等,更多编程接口可参见官网【应用编程接口】其他章节 -## 3 还有哪些便捷的周边工具? +## 3. 还有哪些便捷的周边工具? IoTDB 除了自身拥有丰富的功能外,其周边的工具体系包含的种类十分齐全。本篇文档将帮助您快速使用周边工具体系: @@ -93,7 +93,7 @@ IoTDB 除了自身拥有丰富的功能外,其周边的工具体系包含的 - 数据导出脚本:针对于不同场景,IoTDB 为用户提供多种批量导出数据的操作方式,具体使用介绍请查看:[数据导出](../Tools-System/Data-Export-Tool.md) -## 4 想了解更多技术细节? +## 4. 想了解更多技术细节? 如果您想了解 IoTDB 的更多技术内幕,可以移步至下面的文档: @@ -104,6 +104,6 @@ IoTDB 除了自身拥有丰富的功能外,其周边的工具体系包含的 - 数据分区和负载均衡:IoTDB 基于时序数据特性,精心设计了数据分区策略和负载均衡算法,提升了集群的可用性和性能,想了解更多请查看 [数据分区和负载均衡](../Technical-Insider/Cluster-data-partitioning.md) -## 5 使用过程中遇到问题? +## 5. 使用过程中遇到问题? 如果您在安装或使用过程中遇到困难,可以移步至 [常见问题](../FAQ/Frequently-asked-questions.md) 中进行查看 \ No newline at end of file diff --git a/src/zh/UserGuide/latest/Reference/Common-Config-Manual.md b/src/zh/UserGuide/latest/Reference/Common-Config-Manual.md index 49f4b0128..dc236d086 100644 --- a/src/zh/UserGuide/latest/Reference/Common-Config-Manual.md +++ b/src/zh/UserGuide/latest/Reference/Common-Config-Manual.md @@ -21,7 +21,7 @@ # 配置参数 -## 1 公共配置参数 +## 1. 公共配置参数 IoTDB ConfigNode 和 DataNode 的公共配置参数位于 `conf` 目录下。 diff --git a/src/zh/UserGuide/latest/Reference/ConfigNode-Config-Manual.md b/src/zh/UserGuide/latest/Reference/ConfigNode-Config-Manual.md index ca71cb86d..873e4aebc 100644 --- a/src/zh/UserGuide/latest/Reference/ConfigNode-Config-Manual.md +++ b/src/zh/UserGuide/latest/Reference/ConfigNode-Config-Manual.md @@ -27,7 +27,7 @@ IoTDB ConfigNode 配置文件均位于 IoTDB 安装目录:`conf`文件夹下 * `iotdb-system.properties`:IoTDB 的配置文件。 -## 1 环境配置项(confignode-env.sh/bat) +## 1. 环境配置项(confignode-env.sh/bat) 环境配置项主要用于对 ConfigNode 运行的 Java 环境相关参数进行配置,如 JVM 相关配置。ConfigNode 启动时,此部分配置会被传给 JVM,详细配置项说明如下: @@ -58,7 +58,7 @@ IoTDB ConfigNode 配置文件均位于 IoTDB 安装目录:`conf`文件夹下 |默认值|取决于MEMORY\_SIZE的配置。| |改后生效方式|重启服务生效| -## 2 系统配置项(iotdb-system.properties) +## 2. 系统配置项(iotdb-system.properties) IoTDB 集群的全局配置通过 ConfigNode 配置。 diff --git a/src/zh/UserGuide/latest/Reference/DataNode-Config-Manual_apache.md b/src/zh/UserGuide/latest/Reference/DataNode-Config-Manual_apache.md index e428f16a3..be97c7962 100644 --- a/src/zh/UserGuide/latest/Reference/DataNode-Config-Manual_apache.md +++ b/src/zh/UserGuide/latest/Reference/DataNode-Config-Manual_apache.md @@ -27,14 +27,14 @@ IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB * `iotdb-system.properties`:IoTDB 的配置文件。 -## 1 热修改配置项 +## 1. 热修改配置项 为方便用户使用,IoTDB 为用户提供了热修改功能,即在系统运行过程中修改 `iotdb-system.properties` 中部分配置参数并即时应用到系统中。下面介绍的参数中,改后 生效方式为`热加载` 的均为支持热修改的配置参数。 通过 Session 或 Cli 发送 ```load configuration``` 或 `set configuration` 命令(SQL)至 IoTDB 可触发配置热加载。 -## 2 环境配置项(datanode-env.sh/bat) +## 2. 环境配置项(datanode-env.sh/bat) 环境配置项主要用于对 DataNode 运行的 Java 环境相关参数进行配置,如 JVM 相关配置。DataNode/Standalone 启动时,此部分配置会被传给 JVM,详细配置项说明如下: @@ -83,7 +83,7 @@ IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB |默认值|31999| |改后生效方式|重启服务生效| -## 3 系统配置项(iotdb-system.properties) +## 3. 系统配置项(iotdb-system.properties) 系统配置项是 IoTDB DataNode/Standalone 运行的核心配置,它主要用于设置 DataNode/Standalone 数据库引擎的参数。 @@ -381,7 +381,7 @@ IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB ### 3.6 Metric 配置 -## 4 开启 GC 日志 +## 4. 开启 GC 日志 GC 日志默认是关闭的。为了性能调优,用户可能会需要收集 GC 信息。 若要打开 GC 日志,则需要在启动 IoTDB Server 的时候加上"printgc"参数: diff --git a/src/zh/UserGuide/latest/Reference/DataNode-Config-Manual_timecho.md b/src/zh/UserGuide/latest/Reference/DataNode-Config-Manual_timecho.md index dcc415359..95f9baf68 100644 --- a/src/zh/UserGuide/latest/Reference/DataNode-Config-Manual_timecho.md +++ b/src/zh/UserGuide/latest/Reference/DataNode-Config-Manual_timecho.md @@ -27,14 +27,14 @@ IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB * `iotdb-system.properties`:IoTDB 的配置文件。 -## 1 热修改配置项 +## 1. 热修改配置项 为方便用户使用,IoTDB 为用户提供了热修改功能,即在系统运行过程中修改 `iotdb-system.properties` 中部分配置参数并即时应用到系统中。下面介绍的参数中,改后 生效方式为`热加载` 的均为支持热修改的配置参数。 通过 Session 或 Cli 发送 ```load configuration``` 或 `set configuration` 命令(SQL)至 IoTDB 可触发配置热加载。 -## 2 环境配置项(datanode-env.sh/bat) +## 2. 环境配置项(datanode-env.sh/bat) 环境配置项主要用于对 DataNode 运行的 Java 环境相关参数进行配置,如 JVM 相关配置。DataNode/Standalone 启动时,此部分配置会被传给 JVM,详细配置项说明如下: @@ -83,7 +83,7 @@ IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB |默认值|31999| |改后生效方式|重启服务生效| -## 3 系统配置项(iotdb-system.properties) +## 3. 系统配置项(iotdb-system.properties) 系统配置项是 IoTDB DataNode/Standalone 运行的核心配置,它主要用于设置 DataNode/Standalone 数据库引擎的参数。 @@ -381,7 +381,7 @@ IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB ### 3.6 Metric 配置 -## 4 开启 GC 日志 +## 4. 开启 GC 日志 GC 日志默认是关闭的。为了性能调优,用户可能会需要收集 GC 信息。 若要打开 GC 日志,则需要在启动 IoTDB Server 的时候加上"printgc"参数: diff --git a/src/zh/UserGuide/latest/Reference/UDF-Libraries_apache.md b/src/zh/UserGuide/latest/Reference/UDF-Libraries_apache.md index 03f2831c0..072b82921 100644 --- a/src/zh/UserGuide/latest/Reference/UDF-Libraries_apache.md +++ b/src/zh/UserGuide/latest/Reference/UDF-Libraries_apache.md @@ -24,7 +24,7 @@ > 注意:当前UDF函数库中的函数仅支持毫秒级的时间戳精度。 -## 1 安装步骤 +## 1. 安装步骤 1. 请获取与 IoTDB 版本兼容的 UDF 函数库 JAR 包的压缩包。 | UDF 安装包 | 支持的 IoTDB 版本 | 下载链接 | @@ -42,7 +42,7 @@ - SQL汇总语句 - 打开压缩包中的SQl文件,复制全部 SQL 语句,在 IoTDB 的 SQL 命令行终端(CLI)的 SQL 操作界面中,执行全部 SQl 语句批量注册 UDF -## 2 数据质量 +## 2. 数据质量 ### 2.1 Completeness @@ -592,7 +592,7 @@ select validity(s1,"window"="15") from root.test.d1 where time <= 2020-01-01 00: --> -## 3 数据画像 +## 3. 数据画像 ### 3.1 ACF diff --git a/src/zh/UserGuide/latest/SQL-Manual/Function-and-Expression.md b/src/zh/UserGuide/latest/SQL-Manual/Function-and-Expression.md index a55c164fe..883c63ca2 100644 --- a/src/zh/UserGuide/latest/SQL-Manual/Function-and-Expression.md +++ b/src/zh/UserGuide/latest/SQL-Manual/Function-and-Expression.md @@ -21,7 +21,7 @@ # 内置函数与表达式 -## 1 聚合函数 +## 1. 聚合函数 聚合函数是多对一函数。它们对一组值进行聚合计算,得到单个聚合结果。 @@ -502,7 +502,7 @@ IoTDB> select min_by(b, a) from root.test group by ([0,7),4ms) order by time des --> -## 2 算数运算符和函数 +## 2. 算数运算符和函数 ### 2.1 算数运算符 @@ -639,7 +639,7 @@ It costs 0.059s --> -## 3 比较运算符和函数 +## 3. 比较运算符和函数 ### 3.1 基本比较运算符 @@ -949,7 +949,7 @@ IoTDB> select ts, in_range(ts, 'lower'='2', 'upper'='3.1') from root.test; --> -## 4 逻辑运算符 +## 4. 逻辑运算符 ### 4.1 一元逻辑运算符 @@ -1012,7 +1012,7 @@ IoTDB> select a, b, a > 10, a <= b, !(a <= b), a > 10 && a > b from root.test; --> -## 5 字符串处理 +## 5. 字符串处理 ### 5.1 STRING_CONTAINS @@ -1917,7 +1917,7 @@ select regexsplit(s1, "regex"=",", "index"="3") from root.test.d1 --> -## 6 数据类型转换 +## 6. 数据类型转换 ### 6.1 CAST @@ -2020,7 +2020,7 @@ IoTDB> select cast(s6 as BOOLEAN) from root.sg.d1 where time >= 2 --> -## 7 常序列生成函数 +## 7. 常序列生成函数 常序列生成函数用于生成所有数据点的值都相同的时间序列。 @@ -2078,7 +2078,7 @@ It costs 0.005s --> -## 8 选择函数 +## 8. 选择函数 目前 IoTDB 支持如下选择函数: @@ -2130,7 +2130,7 @@ It costs 0.006s --> -## 9 区间查询函数 +## 9. 区间查询函数 ### 9.1 连续满足区间函数 @@ -2206,7 +2206,7 @@ select s1, zero_count(s1), non_zero_count(s2), zero_duration(s3), non_zero_durat --> -## 10 趋势计算函数 +## 10. 趋势计算函数 目前 IoTDB 支持如下趋势计算函数: @@ -2321,7 +2321,7 @@ SELECT DIFF(s1, 'ignoreNull'='false'), DIFF(s2, 'ignoreNull'='false') from root. --> -## 11 采样函数 +## 11. 采样函数 ### 11.1 等数量分桶降采样函数 @@ -2724,7 +2724,7 @@ select M4(s1,'timeInterval'='$__interval_ms') from root.sg1.d1 --> -## 12 时间序列处理 +## 12. 时间序列处理 ### 12.1 CHANGE_POINTS @@ -2794,7 +2794,7 @@ select change_points(s1), change_points(s2), change_points(s3), change_points(s4 --> -## 13 Lambda 表达式 +## 13. Lambda 表达式 ### 13.1 JEXL 自定义函数 @@ -2877,7 +2877,7 @@ It costs 0.118s --> -## 14 条件表达式 +## 14. 条件表达式 ### 14.1 CASE diff --git a/src/zh/UserGuide/latest/SQL-Manual/Keywords.md b/src/zh/UserGuide/latest/SQL-Manual/Keywords.md index f42175a45..36836f76a 100644 --- a/src/zh/UserGuide/latest/SQL-Manual/Keywords.md +++ b/src/zh/UserGuide/latest/SQL-Manual/Keywords.md @@ -21,13 +21,13 @@ # 关键字 -## 1 保留字(不能用于作为标识符): +## 1. 保留字(不能用于作为标识符): - ROOT - TIME - TIMESTAMP -## 2 一般关键字: +## 2. 一般关键字: - ADD - AFTER diff --git a/src/zh/UserGuide/latest/SQL-Manual/Operator-and-Expression.md b/src/zh/UserGuide/latest/SQL-Manual/Operator-and-Expression.md index 13ee7f6f2..c3c694dba 100644 --- a/src/zh/UserGuide/latest/SQL-Manual/Operator-and-Expression.md +++ b/src/zh/UserGuide/latest/SQL-Manual/Operator-and-Expression.md @@ -21,7 +21,7 @@ # 函数与运算符 -## 1 运算符 +## 1. 运算符 ### 1.1 算数运算符 |运算符 |含义| |----------------------------|-----------| @@ -83,7 +83,7 @@ AND, &, && OR, |, || ``` -## 2 内置函数 +## 2. 内置函数 列表中的函数无须注册即可在 IoTDB 中使用,数据函数质量库中的函数需要参考注册步骤进行注册后才能使用。 diff --git a/src/zh/UserGuide/latest/SQL-Manual/SQL-Manual.md b/src/zh/UserGuide/latest/SQL-Manual/SQL-Manual.md index 4793dfbdb..cf86a4fd4 100644 --- a/src/zh/UserGuide/latest/SQL-Manual/SQL-Manual.md +++ b/src/zh/UserGuide/latest/SQL-Manual/SQL-Manual.md @@ -1,6 +1,6 @@ # SQL手册 -## 1 元数据操作 +## 1. 元数据操作 ### 1.1 数据库管理 @@ -360,7 +360,7 @@ IoTDB> SHOW TTL ON pathPattern ```sql IoTDB> show DEVICES ``` -## 2 写入数据 +## 2. 写入数据 ### 2.1 写入单列数据 ```sql @@ -412,7 +412,7 @@ load '' [sglevel=int][onSuccess=delete/none] - `load '/Users/Desktop/data' onSuccess=delete` - `load '/Users/Desktop/data' sglevel=1 onSuccess=delete` -## 3 删除数据 +## 3. 删除数据 ### 3.1 删除单列数据 ```sql @@ -465,7 +465,7 @@ IoTDB> delete from root.ln.wf03.wt02.status where time < now() Msg: The statement is executed successfully. ``` -## 4 数据查询 +## 4. 数据查询 ### 4.1 基础查询 @@ -1021,7 +1021,7 @@ select * into ::(backup_${4}) from root.sg.** align by device; select s1, s2 into root.sg_copy.d1(t1, t2), aligned root.sg_copy.d2(t1, t2) from root.sg.d1, root.sg.d2 align by device; ``` -## 5 运维语句 +## 5. 运维语句 生成对应的查询计划 ``` explain select s1,s2 from root.sg.d1 @@ -1030,7 +1030,7 @@ explain select s1,s2 from root.sg.d1 ``` explain analyze select s1,s2 from root.sg.d1 order by s1 ``` -## 6 运算符 +## 6. 运算符 更多见文档[Operator-and-Expression](./Operator-and-Expression.md) @@ -1081,7 +1081,7 @@ select a, a in (1, 2) from root.test; select a, b, a > 10, a <= b, !(a <= b), a > 10 && a > b from root.test; ``` -## 7 内置函数 +## 7. 内置函数 更多见文档[Operator-and-Expression](./Operator-and-Expression.md#聚合函数) @@ -1212,7 +1212,7 @@ select M4(s1,'windowSize'='10') from root.vehicle.d1 select change_points(s1), change_points(s2), change_points(s3), change_points(s4), change_points(s5), change_points(s6) from root.testChangePoints.d1 ``` -## 8 数据质量函数库 +## 8. 数据质量函数库 更多见文档[UDF-Libraries](../SQL-Manual/UDF-Libraries.md) @@ -1462,7 +1462,7 @@ select representation(s0,"tb"="3","vb"="2") from root.test.d0 select rm(s0, s1,"tb"="3","vb"="2") from root.test.d0 ``` -## 9 Lambda 表达式 +## 9. Lambda 表达式 更多见文档[Lambda](./Operator-and-Expression.md#lambda-表达式) @@ -1470,7 +1470,7 @@ select rm(s0, s1,"tb"="3","vb"="2") from root.test.d0 select jexl(temperature, 'expr'='x -> {x + x}') as jexl1, jexl(temperature, 'expr'='x -> {x * 3}') as jexl2, jexl(temperature, 'expr'='x -> {x * x}') as jexl3, jexl(temperature, 'expr'='x -> {multiply(x, 100)}') as jexl4, jexl(temperature, st, 'expr'='(x, y) -> {x + y}') as jexl5, jexl(temperature, st, str, 'expr'='(x, y, z) -> {x + y + z}') as jexl6 from root.ln.wf01.wt01;``` ``` -## 10 条件表达式 +## 10. 条件表达式 更多见文档[Conditional Expressions](./Operator-and-Expression.md#条件表达式) @@ -1508,7 +1508,7 @@ end as `result` from root.test4 ``` -## 11 触发器 +## 11. 触发器 ### 11.1 使用 SQL 语句注册该触发器 ```sql @@ -1608,7 +1608,7 @@ DROP TRIGGER triggerTest1 ```sql SHOW TRIGGERS ``` -## 12 连续查询(Continuous Query, CQ) +## 12. 连续查询(Continuous Query, CQ) ### 12.1 语法 @@ -1789,7 +1789,7 @@ END ```sql SELECT avg(count_s1) from root.sg_count.d; ``` -## 12 用户自定义函数 +## 12. 用户自定义函数 ### 12.1 UDFParameters ```sql @@ -1840,7 +1840,7 @@ SELECT s1, s2, s1 + example(s1, s2), s1 - example(s1 + example(s1, s2) / s2) FRO ```sql SHOW FUNCTIONS ``` -## 13 权限管理 +## 13. 权限管理 ### 13.1 用户与角色相关 diff --git a/src/zh/UserGuide/latest/SQL-Manual/Syntax-Rule.md b/src/zh/UserGuide/latest/SQL-Manual/Syntax-Rule.md index 45e2976d2..c4a9961e4 100644 --- a/src/zh/UserGuide/latest/SQL-Manual/Syntax-Rule.md +++ b/src/zh/UserGuide/latest/SQL-Manual/Syntax-Rule.md @@ -20,7 +20,7 @@ --> # 标识符 -## 1 字面值常量 +## 1. 字面值常量 该部分对 IoTDB 中支持的字面值常量进行说明,包括字符串常量、数值型常量、时间戳常量、布尔型常量和空值。 @@ -150,7 +150,7 @@ `NULL`值表示没有数据。`NULL`对大小写不敏感。 -## 2 标识符 +## 2. 标识符 ### 2.1 使用场景 diff --git a/src/zh/UserGuide/latest/SQL-Manual/UDF-Libraries_apache.md b/src/zh/UserGuide/latest/SQL-Manual/UDF-Libraries_apache.md index 03f2831c0..096fd4c16 100644 --- a/src/zh/UserGuide/latest/SQL-Manual/UDF-Libraries_apache.md +++ b/src/zh/UserGuide/latest/SQL-Manual/UDF-Libraries_apache.md @@ -24,7 +24,7 @@ > 注意:当前UDF函数库中的函数仅支持毫秒级的时间戳精度。 -## 1 安装步骤 +## 1. 安装步骤 1. 请获取与 IoTDB 版本兼容的 UDF 函数库 JAR 包的压缩包。 | UDF 安装包 | 支持的 IoTDB 版本 | 下载链接 | @@ -42,7 +42,7 @@ - SQL汇总语句 - 打开压缩包中的SQl文件,复制全部 SQL 语句,在 IoTDB 的 SQL 命令行终端(CLI)的 SQL 操作界面中,执行全部 SQl 语句批量注册 UDF -## 2 数据质量 +## 2. 数据质量 ### 2.1 Completeness @@ -592,7 +592,7 @@ select validity(s1,"window"="15") from root.test.d1 where time <= 2020-01-01 00: --> -## 3 数据画像 +## 3. 数据画像 ### 3.1 ACF @@ -2486,7 +2486,7 @@ select zscore(s1) from root.test --> -## 4 异常检测 +## 4. 异常检测 ### 4.1 IQR @@ -3366,7 +3366,7 @@ select MasterDetect(lo,la,m_lo,m_la,model,'output_type'='anomaly','p'='3','k'='3 --> -## 5 频域分析 +## 5. 频域分析 ### 5.1 Conv @@ -4073,7 +4073,7 @@ select envelope(s1),envelope(s1,'frequency'='1000'),envelope(s1,'amplification'= --> -## 6 数据匹配 +## 6. 数据匹配 ### 6.1 Cov @@ -4437,7 +4437,7 @@ select xcorr(s1, s2) from root.test.d1 where time <= 2020-01-01 00:00:05 --> -## 7 数据修复 +## 7. 数据修复 ### 7.1 TimestampRepair @@ -4966,7 +4966,7 @@ select seasonalrepair(s1,'method'='improved','period'=3) from root.test.d2 --> -## 8 序列发现 +## 8. 序列发现 ### 8.1 ConsecutiveSequences @@ -5152,7 +5152,7 @@ select consecutivewindows(s1,s2,'length'='10m') from root.test.d1 --> -## 9 机器学习 +## 9. 机器学习 ### 9.1 AR diff --git a/src/zh/UserGuide/latest/SQL-Manual/UDF-Libraries_timecho.md b/src/zh/UserGuide/latest/SQL-Manual/UDF-Libraries_timecho.md index 5321bc23d..42756d5e2 100644 --- a/src/zh/UserGuide/latest/SQL-Manual/UDF-Libraries_timecho.md +++ b/src/zh/UserGuide/latest/SQL-Manual/UDF-Libraries_timecho.md @@ -24,7 +24,7 @@ > 注意:当前UDF函数库中的函数仅支持毫秒级的时间戳精度。 -## 1 安装步骤 +## 1. 安装步骤 1. 请获取与 IoTDB 版本兼容的 UDF 函数库 JAR 包的压缩包。 | UDF 安装包 | 支持的 IoTDB 版本 | 下载链接 | @@ -42,7 +42,7 @@ - SQL汇总语句 - 打开压缩包中的SQl文件,复制全部 SQL 语句,在 IoTDB 的 SQL 命令行终端(CLI)或可视化控制台(Workbench)的 SQL 操作界面中,执行全部 SQl 语句批量注册 UDF -## 2 数据质量 +## 2. 数据质量 ### 2.1 Completeness @@ -592,7 +592,7 @@ select validity(s1,"window"="15") from root.test.d1 where time <= 2020-01-01 00: --> -## 3 数据画像 +## 3. 数据画像 ### 3.1 ACF @@ -2486,7 +2486,7 @@ select zscore(s1) from root.test --> -## 4 异常检测 +## 4. 异常检测 ### 4.1 IQR @@ -3366,7 +3366,7 @@ select MasterDetect(lo,la,m_lo,m_la,model,'output_type'='anomaly','p'='3','k'='3 --> -## 5 频域分析 +## 5. 频域分析 ### 5.1 Conv @@ -4060,7 +4060,7 @@ select envelope(s1),envelope(s1,'frequency'='1000'),envelope(s1,'amplification'= ``` -## 6 数据匹配 +## 6. 数据匹配 ### 6.1 Cov @@ -4424,7 +4424,7 @@ select xcorr(s1, s2) from root.test.d1 where time <= 2020-01-01 00:00:05 --> -## 7 数据修复 +## 7. 数据修复 ### 7.1 TimestampRepair @@ -4953,7 +4953,7 @@ select seasonalrepair(s1,'method'='improved','period'=3) from root.test.d2 --> -## 8 序列发现 +## 8. 序列发现 ### 8.1 ConsecutiveSequences @@ -5139,7 +5139,7 @@ select consecutivewindows(s1,s2,'length'='10m') from root.test.d1 --> -## 9 机器学习 +## 9. 机器学习 ### 9.1 AR diff --git a/src/zh/UserGuide/latest/Technical-Insider/Cluster-data-partitioning.md b/src/zh/UserGuide/latest/Technical-Insider/Cluster-data-partitioning.md index d8fb03381..c5bdc673d 100644 --- a/src/zh/UserGuide/latest/Technical-Insider/Cluster-data-partitioning.md +++ b/src/zh/UserGuide/latest/Technical-Insider/Cluster-data-partitioning.md @@ -22,7 +22,7 @@ # 负载均衡 本文档介绍 IoTDB 中的分区策略和负载均衡策略。根据时序数据的特性,IoTDB 按序列和时间维度对其进行分区。结合序列分区与时间分区创建一个分区,作为划分的基本单元。为了提高吞吐量并降低管理成本,这些分区被均匀分配到分片(Region)中,分片是复制的基本单元。分片的副本决定了数据的存储位置,主副本负责主要负载的管理。在此过程中,副本放置算法决定哪些节点将持有分片副本,而主副本选择算法则指定哪个副本将成为主副本。 -## 1 分区策略和分区分配 +## 1. 分区策略和分区分配 IoTDB 为时间序列数据实现了量身定制的分区算法。在此基础上,缓存于配置节点和数据节点上的分区信息不仅易于管理,而且能够清晰区分冷热数据。随后,平衡的分区被均匀分配到集群的分片中,以实现存储均衡。 ### 1.1 分区策略 @@ -70,7 +70,7 @@ $$\text{RegionGroupNumber}=\left\lfloor\frac{\sum_{i=1}^{DataNodeNumber}\text{Re 值得注意的是,IoTDB 有效利用了时序数据的特性。当配置了 TTL(生存时间)时,IoTDB 可实现无需迁移的时序数据弹性存储,该功能在集群扩展时最小化了对在线操作的影响。上图展示了该功能的一个实例:新生成的数据分区被均匀分配到每个数据分片,过期数据会自动归档。因此,集群的存储最终将保持平衡。 -## 2 均衡策略 +## 2. 均衡策略 为了提高集群的可用性和性能,IoTDB 采用了精心设计的存储均衡和计算均衡算法。 ### 2.1 存储均衡 @@ -103,7 +103,7 @@ $$\text{RegionGroupNumber}=\left\lfloor\frac{\sum_{i=1}^{DataNodeNumber}\text{Re 为了解决这个问题,IoTDB 采用了一种主副本选择算法,能够持续平衡集群中的主副本分布。因此,集群实现了计算负载的均衡分布,确保了其性能。 -## 3 Source Code +## 3. Source Code + [数据分区](https://github.com/apache/iotdb/tree/master/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/partition) + [分区分配](https://github.com/apache/iotdb/tree/master/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/partition) + [副本放置](https://github.com/apache/iotdb/tree/master/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/副本) diff --git a/src/zh/UserGuide/latest/Technical-Insider/Encoding-and-Compression.md b/src/zh/UserGuide/latest/Technical-Insider/Encoding-and-Compression.md index 0fb8a3a29..877f08b02 100644 --- a/src/zh/UserGuide/latest/Technical-Insider/Encoding-and-Compression.md +++ b/src/zh/UserGuide/latest/Technical-Insider/Encoding-and-Compression.md @@ -21,7 +21,7 @@ # 编码和压缩 -## 1 编码方式 +## 1. 编码方式 ### 1.1 基本编码方式 @@ -97,7 +97,7 @@ IoTDB> create timeseries root.ln.wf02.wt02.status WITH DATATYPE=BOOLEAN, ENCODIN Msg: 507: encoding TS_2DIFF does not support BOOLEAN ``` -## 2 压缩方式 +## 2. 压缩方式 当时间序列写入并按照指定的类型编码为二进制数据后,IoTDB 会使用压缩技术对该数据进行压缩,进一步提升空间存储效率。虽然编码和压缩都旨在提升存储效率,但编码技术通常只适合特定的数据类型(如二阶差分编码只适合与 INT32 或者 INT64 编码,存储浮点数需要先将他们乘以 10m 以转换为整数),然后将它们转换为二进制流。压缩方式(SNAPPY)针对二进制流进行压缩,因此压缩方式的使用不再受数据类型的限制。 diff --git a/src/zh/UserGuide/latest/Tools-System/Benchmark.md b/src/zh/UserGuide/latest/Tools-System/Benchmark.md index efafdaf7a..d3c5026dc 100644 --- a/src/zh/UserGuide/latest/Tools-System/Benchmark.md +++ b/src/zh/UserGuide/latest/Tools-System/Benchmark.md @@ -21,7 +21,7 @@ # 测试工具 -## 1 概述 +## 1. 概述 IoT-benchmark 是基于 Java 和大数据环境开发的时序数据库基准测试工具,由清华大学软件学院研发并开源。它使用方便,支持多种写入以及查询方式,支持存储测试信息和结果以供进一步查询或分析,支持与 Tableau 集成以可视化测试结果。 @@ -205,7 +205,7 @@ IoT-benchmark目前支持通过配置参数“TEST_DATA_PERSISTENCE”将测试 如果我们设置“TEST_DATA_PERSISTENCE=CSV”,测试执行时和执行完毕后我们可以在IoT-benchmark根目录下看到新生成的data文件夹,其下包含csv文件夹记录测试过程;csvOutput文件夹记录测试结果。如果我们设置“TEST_DATA_PERSISTENCE=MySQL”,它会在测试开始前在指定的MySQL数据库中创建命名如“testWithDefaultPath_被测数据库名称_备注_测试启动时间”的数据表记录测试过程;会在名为“CONFIG”的数据表(如果不存在则创建该表),写入本次测试的配置信息;当测试完成时会在名为“FINAL_RESULT”的数据表(如果不存在则创建该表)中写入本次测试结果。 -## 2 实际案例 +## 2. 实际案例 我们以中车青岛四方车辆研究所有限公司应用为例,参考《ApacheIoTDB在智能运维平台存储中的应用》中描述的场景进行实际操作说明。 diff --git a/src/zh/UserGuide/latest/Tools-System/CLI.md b/src/zh/UserGuide/latest/Tools-System/CLI.md index d37f9bc9e..7c508d22c 100644 --- a/src/zh/UserGuide/latest/Tools-System/CLI.md +++ b/src/zh/UserGuide/latest/Tools-System/CLI.md @@ -24,7 +24,7 @@ IOTDB 为用户提供 cli/Shell 工具用于启动客户端和服务端程序。下面介绍每个 cli/Shell 工具的运行方式和相关参数。 > \$IOTDB\_HOME 表示 IoTDB 的安装目录所在路径。 -## 1 安装 +## 1. 安装 如果使用源码版,可以在 iotdb 的根目录下执行 ```shell @@ -35,7 +35,7 @@ IOTDB 为用户提供 cli/Shell 工具用于启动客户端和服务端程序。 如果你下载的是二进制版,那么 Cli 可以在 sbin 文件夹下直接找到。 -## 2 运行 +## 2. 运行 ### 2.1 Cli 运行方式 安装后的 IoTDB 中有一个默认用户:`root`,默认密码为`root`。用户可以使用该用户尝试运行 IoTDB 客户端以测试服务器是否正常启动。客户端启动脚本为$IOTDB_HOME/sbin 文件夹下的`start-cli`脚本。启动脚本时需要指定运行 IP 和 RPC PORT。以下为服务器在本机启动,且用户未更改运行端口号的示例,默认端口为 6667。若用户尝试连接远程服务器或更改了服务器运行的端口号,请在-h 和-p 项处使用服务器的 IP 和 RPC PORT。
diff --git a/src/zh/UserGuide/latest/Tools-System/Data-Export-Tool.md b/src/zh/UserGuide/latest/Tools-System/Data-Export-Tool.md index c597aa464..361d5076e 100644 --- a/src/zh/UserGuide/latest/Tools-System/Data-Export-Tool.md +++ b/src/zh/UserGuide/latest/Tools-System/Data-Export-Tool.md @@ -1,10 +1,10 @@ # 数据导出 -## 1 导出工具介绍 +## 1. 导出工具介绍 导出工具可以将 SQL 查询的数据导出为指定的格式,包含用于导出 TsFile 文件的 `export-tsfile.sh/bat` 脚本和支持 CSV 和 SQL 格式的导出的 `export-data.sh/bat` 脚本。 -## 2 支持的数据类型 +## 2. 支持的数据类型 - CSV:纯文本格式,存储格式化数据,需按照下文指定 CSV 格式进行构造 @@ -12,7 +12,7 @@ - TsFile: IoTDB 中使用的时间序列的文件格式 -## 3 export-tsfile 脚本 +## 3. export-tsfile 脚本 支持 TsFile: IoTDB 中使用的时间序列的文件格式 @@ -68,7 +68,7 @@ tools/export-tsfile.bat -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s ./sql.tx tools/export-tsfile.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./ -s ./sql.txt -f myTsFile -t 10000 ``` -## 4 export-data 脚本 +## 4. export-data 脚本 支持 CSV:纯文本格式,存储格式化数据,需按照下文指定 CSV 格式进行构造 diff --git a/src/zh/UserGuide/latest/Tools-System/Data-Import-Tool.md b/src/zh/UserGuide/latest/Tools-System/Data-Import-Tool.md index fd7021e13..4c14acdf9 100644 --- a/src/zh/UserGuide/latest/Tools-System/Data-Import-Tool.md +++ b/src/zh/UserGuide/latest/Tools-System/Data-Import-Tool.md @@ -1,6 +1,6 @@ # 数据导入 -## 1 IoTDB 数据导入 +## 1. IoTDB 数据导入 IoTDB 目前支持将 CSV、SQL、及TsFile(IoTDB底层开放式时间序列文件格式)格式的数据导入数据库。具体功能如下: @@ -32,7 +32,7 @@ IoTDB 目前支持将 CSV、SQL、及TsFile(IoTDB底层开放式时间序列
-## 2 import-data 脚本 +## 2. import-data 脚本 - 支持格式:CSV、SQL @@ -100,7 +100,7 @@ IoTDB 目前支持将 CSV、SQL、及TsFile(IoTDB底层开放式时间序列 >tools/import-data.bat -h 192.168.100.1 -p 6667 -u root -pw root -s ./data/dump0_0.csv -fd ./failed/ -aligned true -batch 100000 -tp ms -typeInfer boolean=text,float=double -lpf 1000 ``` -## 3 load-tsfile 脚本 +## 3. load-tsfile 脚本 - 支持格式:TsFile @@ -141,7 +141,7 @@ IoTDB 目前支持将 CSV、SQL、及TsFile(IoTDB底层开放式时间序列 > tools/load_data.bat -h 127.0.0.1 -p 6667 -u root -pw root -s /path/sql -os delete -of delete -tn 8 ``` -## 4 TsFile 主动监听&加载功能 +## 4. TsFile 主动监听&加载功能 TsFile 主动监听&加载功能能够主动监听指定目标路径(用户配置)下TsFile的文件变化,并将目标路径下的TsFile文件自动同步至指定接收路径(用户配置)。通过此功能,IoTDB 能自动检测并加载这些文件,无需手动执行任何额外的加载操作。这种自动化流程不仅简化了用户的操作步骤,还减少了操作过程中可能出现的错误,有效降低了用户在使用过程中的复杂性。 diff --git a/src/zh/UserGuide/latest/Tools-System/Maintenance-Tool_apache.md b/src/zh/UserGuide/latest/Tools-System/Maintenance-Tool_apache.md index 9062be9fb..55d6828dc 100644 --- a/src/zh/UserGuide/latest/Tools-System/Maintenance-Tool_apache.md +++ b/src/zh/UserGuide/latest/Tools-System/Maintenance-Tool_apache.md @@ -21,7 +21,7 @@ # 集群管理工具 -## 1 数据文件夹概览工具 +## 1. 数据文件夹概览工具 IoTDB数据文件夹概览工具用于打印出数据文件夹的结构概览信息,工具位置为 tools/tsfile/print-iotdb-data-dir。 @@ -82,7 +82,7 @@ data dir num:1 |============================================================== ````````````````````````` -## 2 TsFile概览工具 +## 2. TsFile概览工具 TsFile概览工具用于以概要模式打印出一个TsFile的内容,工具位置为 tools/tsfile/print-tsfile。 @@ -170,7 +170,7 @@ file length: 2974 - "|||||||||||||||||||||"是为增强可读性而添加的导引信息,不是TsFile中实际存储的数据。 - 最后打印的"IndexOfTimerseriesIndex Tree"是对TsFile文件末尾的元数据索引树的重新整理打印,便于直观理解,不是TsFile中存储的实际数据。 -## 3 TsFile Resource概览工具 +## 3. TsFile Resource概览工具 TsFile resource概览工具用于打印出TsFile resource文件的内容,工具位置为 tools/tsfile/print-tsfile-resource-files。 diff --git a/src/zh/UserGuide/latest/Tools-System/Maintenance-Tool_timecho.md b/src/zh/UserGuide/latest/Tools-System/Maintenance-Tool_timecho.md index ebc8b6b7f..1457e848a 100644 --- a/src/zh/UserGuide/latest/Tools-System/Maintenance-Tool_timecho.md +++ b/src/zh/UserGuide/latest/Tools-System/Maintenance-Tool_timecho.md @@ -21,7 +21,7 @@ # 集群管理工具 -## 1 集群管理工具 +## 1. 集群管理工具 IoTDB 集群管理工具是一款易用的运维工具(企业版工具)。旨在解决 IoTDB 分布式系统多节点的运维难题,主要包括集群部署、集群启停、弹性扩容、配置更新、数据导出等功能,从而实现对复杂数据库集群的一键式指令下发,极大降低管理难度。本文档将说明如何用集群管理工具远程部署、配置、启动和停止 IoTDB 集群实例。 @@ -805,7 +805,7 @@ 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 数据文件夹概览工具 +## 2. 数据文件夹概览工具 IoTDB数据文件夹概览工具用于打印出数据文件夹的结构概览信息,工具位置为 tools/tsfile/print-iotdb-data-dir。 @@ -866,7 +866,7 @@ data dir num:1 |============================================================== ````````````````````````` -## 3 TsFile概览工具 +## 3. TsFile概览工具 TsFile概览工具用于以概要模式打印出一个TsFile的内容,工具位置为 tools/tsfile/print-tsfile。 @@ -954,7 +954,7 @@ file length: 2974 - "|||||||||||||||||||||"是为增强可读性而添加的导引信息,不是TsFile中实际存储的数据。 - 最后打印的"IndexOfTimerseriesIndex Tree"是对TsFile文件末尾的元数据索引树的重新整理打印,便于直观理解,不是TsFile中存储的实际数据。 -## 4 TsFile Resource概览工具 +## 4. TsFile Resource概览工具 TsFile resource概览工具用于打印出TsFile resource文件的内容,工具位置为 tools/tsfile/print-tsfile-resource-files。 diff --git a/src/zh/UserGuide/latest/Tools-System/Monitor-Tool_apache.md b/src/zh/UserGuide/latest/Tools-System/Monitor-Tool_apache.md index 12eed8823..7ad7d7a40 100644 --- a/src/zh/UserGuide/latest/Tools-System/Monitor-Tool_apache.md +++ b/src/zh/UserGuide/latest/Tools-System/Monitor-Tool_apache.md @@ -24,7 +24,7 @@ 监控工具的部署可参考文档 [监控面板部署](../Deployment-and-Maintenance/Monitoring-panel-deployment.md) 章节。 -## 1 监控指标的 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 修改配置文件 +## 2. 修改配置文件 1) 以 DataNode 为例,修改 iotdb-system.properties 配置文件如下: @@ -60,7 +60,7 @@ file_count{name="seq",} 2.0 ... ``` -## 3 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) -## 4 Apache IoTDB Dashboard +## 4. Apache IoTDB Dashboard `Apache IoTDB Dashboard`是 IoTDB 企业版的配套产品,支持统一集中式运维管理,可通过一个监控面板监控多个集群。你可以联系商务获取到 Dashboard 的 Json文件。 diff --git a/src/zh/UserGuide/latest/Tools-System/Monitor-Tool_timecho.md b/src/zh/UserGuide/latest/Tools-System/Monitor-Tool_timecho.md index c44210e51..9002bdf28 100644 --- a/src/zh/UserGuide/latest/Tools-System/Monitor-Tool_timecho.md +++ b/src/zh/UserGuide/latest/Tools-System/Monitor-Tool_timecho.md @@ -24,7 +24,7 @@ 监控工具的部署可参考文档 [监控面板部署](../Deployment-and-Maintenance/Monitoring-panel-deployment.md) 章节。 -## 1 监控指标的 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 修改配置文件 +## 2. 修改配置文件 1) 以 DataNode 为例,修改 iotdb-system.properties 配置文件如下: @@ -60,7 +60,7 @@ file_count{name="seq",} 2.0 ... ``` -## 3 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) -## 4 Apache IoTDB Dashboard +## 4. Apache IoTDB Dashboard 我们提供了Apache IoTDB Dashboard,支持统一集中式运维管理,可通过一个监控面板监控多个集群。 diff --git a/src/zh/UserGuide/latest/Tools-System/Workbench_timecho.md b/src/zh/UserGuide/latest/Tools-System/Workbench_timecho.md index 3ecf4934e..423a657a8 100644 --- a/src/zh/UserGuide/latest/Tools-System/Workbench_timecho.md +++ b/src/zh/UserGuide/latest/Tools-System/Workbench_timecho.md @@ -2,10 +2,10 @@ 可视化控制台的部署可参考文档 [可视化控制台部署](../Deployment-and-Maintenance/workbench-deployment_timecho.md) 章节。 -## 1 产品介绍 +## 1. 产品介绍 IoTDB可视化控制台是在IoTDB企业版时序数据库基础上针对工业场景的实时数据收集、存储与分析一体化的数据管理场景开发的扩展组件,旨在为用户提供高效、可靠的实时数据存储和查询解决方案。它具有体量轻、性能高、易使用的特点,完美对接 Hadoop 与 Spark 生态,适用于工业物联网应用中海量时间序列数据高速写入和复杂分析查询的需求。 -## 2 使用说明 +## 2. 使用说明 IoTDB的可视化控制台包含以下功能模块: | **功能模块** | **功能说明** | | ------------ | ------------------------------------------------------------ | diff --git a/src/zh/UserGuide/latest/User-Manual/AINode_apache.md b/src/zh/UserGuide/latest/User-Manual/AINode_apache.md index 8f4b1274d..c5875c2cd 100644 --- a/src/zh/UserGuide/latest/User-Manual/AINode_apache.md +++ b/src/zh/UserGuide/latest/User-Manual/AINode_apache.md @@ -33,7 +33,7 @@ AINode 是 IoTDB 在ConfigNode、DataNode后提供的第三种内生节点,该 - **DataNode**:负责接收并解析用户的 SQL请求;负责存储时间序列数据;负责数据的预处理计算。 - **AINode**:负责模型文件的导入创建以及模型推理。 -## 1 优势特点 +## 1. 优势特点 与单独构建机器学习服务相比,具有以下优势: @@ -49,7 +49,7 @@ AINode 是 IoTDB 在ConfigNode、DataNode后提供的第三种内生节点,该 - **时间序列标注(Time Series Annotation)**:为每个数据点或特定时间段添加额外的信息或标记,例如事件发生、异常点、趋势变化等,以便更好地理解和分析数据。 -## 2 基本概念 +## 2. 基本概念 - **模型(Model)**:机器学习模型,以时序数据作为输入,输出分析任务的结果或决策。模型是AINode 的基本管理单元,支持模型的增(注册)、删、查、用(推理)。 - **创建(Create)**: 将外部设计或训练好的模型文件或算法加载到MLNode中,由IoTDB统一管理与使用。 @@ -60,11 +60,11 @@ AINode 是 IoTDB 在ConfigNode、DataNode后提供的第三种内生节点,该 ::: -## 3 安装部署 +## 3. 安装部署 AINode 的部署可参考文档 [部署指导](../Deployment-and-Maintenance/AINode_Deployment_apache.md#ainode-部署) 章节。 -## 4 使用指导 +## 4. 使用指导 AINode 对时序数据相关的深度学习模型提供了模型创建及删除的流程,内置模型无需创建及删除,可直接使用,并且在完成推理后创建的内置模型实例将自动销毁。 @@ -441,7 +441,7 @@ Total line number = 4 其中结果集中每行的标签对应每24行数据为一组,输入该异常检测模型后的输出。 -## 5 权限管理 +## 5. 权限管理 使用AINode相关的功能时,可以使用IoTDB本身的鉴权去做一个权限管理,用户只有在具备 USE_MODEL 权限时,才可以使用模型管理的相关功能。当使用推理功能时,用户需要有访问输入模型的SQL对应的源序列的权限。 @@ -450,7 +450,7 @@ Total line number = 4 | USE_MODEL | create model / show models / drop model | √ | √ | x | | READ_DATA | call inference | √ | √ | √ | -## 6 实际案例 +## 6. 实际案例 ### 6.1 电力负载预测 diff --git a/src/zh/UserGuide/latest/User-Manual/AINode_timecho.md b/src/zh/UserGuide/latest/User-Manual/AINode_timecho.md index 3f4aa77e0..9bb18f4e5 100644 --- a/src/zh/UserGuide/latest/User-Manual/AINode_timecho.md +++ b/src/zh/UserGuide/latest/User-Manual/AINode_timecho.md @@ -33,7 +33,7 @@ AINode 是 IoTDB 在ConfigNode、DataNode后提供的第三种内生节点,该 - **DataNode**:负责接收并解析用户的 SQL请求;负责存储时间序列数据;负责数据的预处理计算。 - **AINode**:负责模型文件的导入创建以及模型推理。 -## 1 优势特点 +## 1. 优势特点 与单独构建机器学习服务相比,具有以下优势: @@ -49,7 +49,7 @@ AINode 是 IoTDB 在ConfigNode、DataNode后提供的第三种内生节点,该 - **时间序列标注(Time Series Annotation)**:为每个数据点或特定时间段添加额外的信息或标记,例如事件发生、异常点、趋势变化等,以便更好地理解和分析数据。 -## 2 基本概念 +## 2. 基本概念 - **模型(Model)**:机器学习模型,以时序数据作为输入,输出分析任务的结果或决策。模型是AINode 的基本管理单元,支持模型的增(注册)、删、查、用(推理)。 - **创建(Create)**: 将外部设计或训练好的模型文件或算法加载到MLNode中,由IoTDB统一管理与使用。 @@ -60,11 +60,11 @@ AINode 是 IoTDB 在ConfigNode、DataNode后提供的第三种内生节点,该 ::: -## 3 安装部署 +## 3. 安装部署 AINode 的部署可参考文档 [部署指导](../Deployment-and-Maintenance/AINode_Deployment_timecho.md#AINode-部署) 章节。 -## 4 使用指导 +## 4. 使用指导 AINode 对时序数据相关的深度学习模型提供了模型创建及删除的流程,内置模型无需创建及删除,可直接使用,并且在完成推理后创建的内置模型实例将自动销毁。 @@ -441,7 +441,7 @@ Total line number = 4 其中结果集中每行的标签对应每24行数据为一组,输入该异常检测模型后的输出。 -## 5 权限管理 +## 5. 权限管理 使用AINode相关的功能时,可以使用IoTDB本身的鉴权去做一个权限管理,用户只有在具备 USE_MODEL 权限时,才可以使用模型管理的相关功能。当使用推理功能时,用户需要有访问输入模型的SQL对应的源序列的权限。 @@ -450,7 +450,7 @@ Total line number = 4 | USE_MODEL | create model / show models / drop model | √ | √ | x | | READ_DATA | call inference | √ | √ | √ | -## 6 实际案例 +## 6. 实际案例 ### 6.1 电力负载预测 diff --git a/src/zh/UserGuide/latest/User-Manual/Audit-Log_timecho.md b/src/zh/UserGuide/latest/User-Manual/Audit-Log_timecho.md index 2aacd8444..991be279f 100644 --- a/src/zh/UserGuide/latest/User-Manual/Audit-Log_timecho.md +++ b/src/zh/UserGuide/latest/User-Manual/Audit-Log_timecho.md @@ -22,7 +22,7 @@ # 审计日志 -## 1 功能背景 +## 1. 功能背景 审计日志是数据库的记录凭证,通过审计日志功能可以查询到用户在数据库中增删改查等各项操作,以保证信息安全。关于IoTDB的审计日志功能可以实现以下场景的需求: @@ -56,7 +56,7 @@ -## 2 功能定义 +## 2. 功能定义 diff --git a/src/zh/UserGuide/latest/User-Manual/Authority-Management.md b/src/zh/UserGuide/latest/User-Manual/Authority-Management.md index 068dc5304..cecb60898 100644 --- a/src/zh/UserGuide/latest/User-Manual/Authority-Management.md +++ b/src/zh/UserGuide/latest/User-Manual/Authority-Management.md @@ -24,7 +24,7 @@ IoTDB 为用户提供了权限管理操作,为用户提供对数据与集群系统的权限管理功能,保障数据与系统安全。 本篇介绍IoTDB 中权限模块的基本概念、用户定义、权限管理、鉴权逻辑与功能用例。在 JAVA 编程环境中,您可以使用 [JDBC API](../API/Programming-JDBC.md) 单条或批量执行权限管理类语句。 -## 1 基本概念 +## 1. 基本概念 ### 1.1 用户 @@ -44,7 +44,7 @@ IoTDB 为用户提供了权限管理操作,为用户提供对数据与集群 一个新创建的用户或角色不具备任何权限。 -## 2 用户定义 +## 2. 用户定义 拥有 MANAGE_USER、MANAGE_ROLE 的用户或者管理员可以创建用户或者角色,需要满足以下约束: @@ -64,7 +64,7 @@ IoTDB 为用户提供了权限管理操作,为用户提供对数据与集群 用户无法创建和管理员用户同名的角色。 -## 3 权限管理 +## 3. 权限管理 IoTDB 主要有两类权限:序列权限、全局权限。 @@ -128,7 +128,7 @@ IoTDB 主要有两类权限:序列权限、全局权限。 -## 4 鉴权 +## 4. 鉴权 用户权限主要由三部分组成:权限生效范围(路径), 权限类型, with grant option 标记: @@ -151,7 +151,7 @@ userTest1 : -## 5 功能语法与示例 +## 5. 功能语法与示例 IoTDB 提供了组合权限,方便用户授权: @@ -331,7 +331,7 @@ eg: REVOKE ALL ON ROOT.** FROM USER user1; root.t1*.t2.t3 ``` -## 6 示例 +## 6. 示例 根据本文中描述的 [样例数据](https://github.com/thulab/iotdb/files/4438687/OtherMaterial-Sample.Data.txt) 内容,IoTDB 的样例数据可能同时属于 ln, sgcc 等不同发电集团,不同的发电集团不希望其他发电集团获取自己的数据库数据,因此我们需要将不同的数据在集团层进行权限隔离。 @@ -430,7 +430,7 @@ IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp, status) values(1509465600000, tr Msg: 803: No permissions for this operation, please add privilege WRITE_DATA on [root.ln.wf01.wt01.status] ``` -## 7 其他说明 +## 7. 其他说明 角色是权限的集合,而权限和角色都是用户的一种属性。即一个角色可以拥有若干权限。一个用户可以拥有若干角色与权限(称为用户自身权限)。 @@ -440,7 +440,7 @@ Msg: 803: No permissions for this operation, please add privilege WRITE_DATA on 同时,对角色的修改会立即反映到所有拥有该角色的用户上,例如对角色增加某种权限将立即使所有拥有该角色的用户都拥有对应权限,删除某种权限也将使对应用户失去该权限(除非用户本身有该权限)。 -## 8 升级说明 +## 8. 升级说明 在 1.3 版本前,权限类型较多,在这一版实现中,权限类型做了精简,并且添加了对权限路径的约束。 diff --git a/src/zh/UserGuide/latest/User-Manual/Data-Recovery.md b/src/zh/UserGuide/latest/User-Manual/Data-Recovery.md index 95902c846..f58cf75e1 100644 --- a/src/zh/UserGuide/latest/User-Manual/Data-Recovery.md +++ b/src/zh/UserGuide/latest/User-Manual/Data-Recovery.md @@ -23,7 +23,7 @@ 用于修复数据中存在的问题,如顺序空间内的数据未按时间递增顺序排列。 -## 1 START REPAIR DATA +## 1. START REPAIR DATA 启动一个数据修复任务,扫描创建修复任务的时间之前产生的 tsfile 文件并修复有乱序错误的文件。 @@ -33,7 +33,7 @@ IoTDB> START REPAIR DATA ON LOCAL IoTDB> START REPAIR DATA ON CLUSTER ``` -## 2 STOP REPAIR DATA +## 2. STOP REPAIR DATA 停止一个进行中的修复任务。如果需要再次恢复一个已停止的数据修复任务的进度,可以重新执行 `START REPAIR DATA`. diff --git a/src/zh/UserGuide/latest/User-Manual/Data-Sync_apache.md b/src/zh/UserGuide/latest/User-Manual/Data-Sync_apache.md index 8acb21db6..ef41e2e37 100644 --- a/src/zh/UserGuide/latest/User-Manual/Data-Sync_apache.md +++ b/src/zh/UserGuide/latest/User-Manual/Data-Sync_apache.md @@ -22,7 +22,7 @@ # 数据同步 数据同步是工业物联网的典型需求,通过数据同步机制,可实现 IoTDB 之间的数据共享,搭建完整的数据链路来满足内网外网数据互通、端边云同步、数据迁移、数据备份等需求。 -## 1 功能概述 +## 1. 功能概述 ### 1.1 数据同步 @@ -88,7 +88,7 @@ - 在进行数据同步任务时,请避免执行任何删除操作,防止两端状态不一致。 -## 2 使用说明 +## 2. 使用说明 数据同步任务有三种状态:RUNNING、STOPPED 和 DROPPED。任务状态转换如下图所示: @@ -257,7 +257,7 @@ IoTDB> SHOW PIPEPLUGINS 导入自定义插件可参考[流处理框架](./Streaming_apache.md#自定义流处理插件管理)章节。 -## 3 使用示例 +## 3. 使用示例 ### 3.1 全量数据同步 @@ -410,7 +410,7 @@ with sink ( ) ``` -## 4 参考:注意事项 +## 4. 参考:注意事项 可通过修改 IoTDB 配置文件(`iotdb-system.properties`)以调整数据同步的参数,如同步数据存储目录等。完整配置如下:: @@ -474,7 +474,7 @@ pipe_sink_max_client_number=16 pipe_all_sinks_rate_limit_bytes_per_second=-1 ``` -## 5 参考:参数说明 +## 5. 参考:参数说明 ### 5.1 source 参数(V1.3.3) diff --git a/src/zh/UserGuide/latest/User-Manual/Data-Sync_timecho.md b/src/zh/UserGuide/latest/User-Manual/Data-Sync_timecho.md index beda99c85..c91ef222d 100644 --- a/src/zh/UserGuide/latest/User-Manual/Data-Sync_timecho.md +++ b/src/zh/UserGuide/latest/User-Manual/Data-Sync_timecho.md @@ -22,7 +22,7 @@ # 数据同步 数据同步是工业物联网的典型需求,通过数据同步机制,可实现 IoTDB 之间的数据共享,搭建完整的数据链路来满足内网外网数据互通、端边云同步、数据迁移、数据备份等需求。 -## 1 功能概述 +## 1. 功能概述 ### 1.1 数据同步 @@ -90,7 +90,7 @@ - 在进行数据同步任务时,请避免执行任何删除操作,防止两端状态不一致。 -## 2 使用说明 +## 2. 使用说明 数据同步任务有三种状态:RUNNING、STOPPED 和 DROPPED。任务状态转换如下图所示: @@ -265,7 +265,7 @@ IoTDB> SHOW PIPEPLUGINS 导入自定义插件可参考[流处理框架](./Streaming_timecho.md#自定义流处理插件管理)章节。 -## 3 使用示例 +## 3. 使用示例 ### 3.1 全量数据同步 @@ -483,7 +483,7 @@ with sink ( ) ``` -## 4 参考:注意事项 +## 4. 参考:注意事项 可通过修改 IoTDB 配置文件(`iotdb-system.properties`)以调整数据同步的参数,如同步数据存储目录等。完整配置如下:: @@ -558,7 +558,7 @@ pipe_air_gap_receiver_port=9780 pipe_all_sinks_rate_limit_bytes_per_second=-1 ``` -## 5 参考:参数说明 +## 5. 参考:参数说明 ### 5.1 source 参数(V1.3.3) diff --git a/src/zh/UserGuide/latest/User-Manual/Data-subscription.md b/src/zh/UserGuide/latest/User-Manual/Data-subscription.md index e77b9b74e..cb46617a5 100644 --- a/src/zh/UserGuide/latest/User-Manual/Data-subscription.md +++ b/src/zh/UserGuide/latest/User-Manual/Data-subscription.md @@ -1,6 +1,6 @@ # 数据订阅 -## 1 功能介绍 +## 1. 功能介绍 IoTDB 数据订阅模块(又称 IoTDB 订阅客户端)是IoTDB V1.3.3 版本后支持的功能,它为用户提供了一种区别于数据查询的流式数据消费方式。它参考了 Kafka 等消息队列产品的基本概念和逻辑,**提供数据订阅和消费接口**,但并不是为了完全替代这些消费队列的产品,更多的是在简单流式获取数据的场景为用户提供更加便捷的数据订阅服务。 @@ -9,7 +9,7 @@ IoTDB 数据订阅模块(又称 IoTDB 订阅客户端)是IoTDB V1.3.3 版本 1. **持续获取最新数据**:使用订阅的方式,比定时查询更实时、应用编程更简单、系统负担更小; 2. **简化数据推送至第三方系统**:无需在 IoTDB 内部开发不同系统的数据推送组件,可以在第三方系统内实现数据的流式获取,更方便将数据发送至 Flink、Kafka、DataX、Camel、MySQL、PG 等系统。 -## 2 主要概念 +## 2. 主要概念 IoTDB 订阅客户端包含 3 个核心概念:Topic、Consumer、Consumer Group,具体关系如下图 @@ -29,7 +29,7 @@ IoTDB 订阅客户端包含 3 个核心概念:Topic、Consumer、Consumer Grou - 一个 topic 不需要被一个 consumer group 中的所有 consumer 订阅 - 当同一个 Consumer Group 中不同的 Consumers 订阅了相同的 Topic 时,该 Topic 下的每条数据只会被组内的一个 Consumer 处理,确保数据不会被重复处理 -## 3 SQL 语句 +## 3. SQL 语句 ### 3.1 Topic 管理 @@ -125,11 +125,11 @@ SHOW SUBSCRIPTIONS ON - ConsumerGroupName:用户代码中指定的消费者组 ID - SubscribedConsumers:该消费者组中订阅了该主题的所有客户端 ID -## 4 API 接口 +## 4. API 接口 除 SQL 语句外,IoTDB 还支持通过 Java 原生接口使用数据订阅功能。详细语法参见页面:Java 原生接口([链接](../API/Programming-Java-Native-API.md))。 -## 5 常见问题 +## 5. 常见问题 ### 5.1 IoTDB 数据订阅与 Kafka 的区别是什么? diff --git a/src/zh/UserGuide/latest/User-Manual/Database-Programming.md b/src/zh/UserGuide/latest/User-Manual/Database-Programming.md index 4c994ee39..789cd4b9c 100644 --- a/src/zh/UserGuide/latest/User-Manual/Database-Programming.md +++ b/src/zh/UserGuide/latest/User-Manual/Database-Programming.md @@ -21,12 +21,12 @@ # 连续查询 -## 1 简介 +## 1. 简介 连续查询(Continuous queries, aka CQ) 是对实时数据周期性地自动执行的查询,并将查询结果写入指定的时间序列中。 用户可以通过连续查询实现滑动窗口流式计算,如计算某个序列每小时平均温度,并写入一个新序列中。用户可以自定义 `RESAMPLE` 子句去创建不同的滑动窗口,可以实现对于乱序数据一定程度的容忍。 -## 2 语法 +## 2. 语法 ```sql CREATE (CONTINUOUS QUERY | CQ) @@ -97,7 +97,7 @@ END - `DISCARD`意味着如果前一个时间窗口还未执行完,我们会直接丢弃下一个窗口的执行时间。如果使用`DISCARD`策略,可能会有部分时间窗口得不到执行。但是一旦前一个查询执行完后,它将会使用最新的时间窗口,所以它的执行结果总能赶上最新的时间窗口范围,当然是以部分时间窗口得不到执行为代价。 -## 3 连续查询的用例 +## 3. 连续查询的用例 下面是用例数据,这是一个实时的数据流,我们假设数据都按时到达。 @@ -480,7 +480,7 @@ At **2021-05-11T22:19:00.000+08:00**, `cq5` executes a query within the time ran +-----------------------------+-------------------------------+-----------+ ```` -## 4 连续查询的管理 +## 4. 连续查询的管理 ### 4.1 查询系统已有的连续查询 @@ -528,7 +528,7 @@ DROP CONTINUOUS QUERY s1_count_cq; 目前连续查询一旦被创建就不能再被修改。如果想要修改某个连续查询,只能先用`DROP`命令删除它,然后再用`CREATE`命令重新创建。 -## 5 连续查询的使用场景 +## 5. 连续查询的使用场景 ### 5.1 对数据进行降采样并对降采样后的数据使用不同的保留策略 @@ -579,7 +579,7 @@ SELECT avg(count_s1) from root.sg_count.d; ``` -## 6 连续查询相关的配置参数 +## 6. 连续查询相关的配置参数 | 参数名 | 描述 | 类型 | 默认值 | | :---------------------------------- |----------------------|----------|---------------| | `continuous_query_submit_thread_count` | 用于周期性提交连续查询执行任务的线程数 | int32 | 2 | diff --git a/src/zh/UserGuide/latest/User-Manual/IoTDB-View_timecho.md b/src/zh/UserGuide/latest/User-Manual/IoTDB-View_timecho.md index 091b2064c..e5dc7c08f 100644 --- a/src/zh/UserGuide/latest/User-Manual/IoTDB-View_timecho.md +++ b/src/zh/UserGuide/latest/User-Manual/IoTDB-View_timecho.md @@ -21,7 +21,7 @@ # 视图 -## 1 序列视图应用背景 +## 1. 序列视图应用背景 ### 1.1 应用场景1 时间序列重命名(PI资产管理) @@ -53,7 +53,7 @@ 2. 简化业务层查询逻辑。 3. 辅助权限管理,通过视图向特定用户开放数据。 -## 2 序列视图概念 +## 2. 序列视图概念 ### 2.1 术语概念 @@ -130,7 +130,7 @@ 这是因为进行业务查询时,面向视图的用户关心的是当前视图的结构,而如果使用group by tag等方式做查询,显然希望是得到视图下含有对应tag的分组效果,而非时间序列的tag的分组效果(用户甚至对那些时间序列毫无感知)。 -## 3 序列视图功能介绍 +## 3. 序列视图功能介绍 ### 3.1 创建视图 @@ -518,7 +518,7 @@ IoTDB> 上述两种查询都涉及视图的数据类型。视图的数据类型是根据定义视图的查询语句或别名序列的原始时间序列类型推断出来的。这个数据类型是根据当前系统的状态实时计算出来的,因此在不同时刻查询到的数据类型可能是改变的。 -## 4 FAQ +## 4. FAQ #### Q1:我想让视图实现类型转换的功能。例如,原有一个int32类型的时间序列,和其他int64类型的序列被放在了同一个视图中。我现在希望通过视图查询到的数据,都能自动转换为int64类型。 diff --git a/src/zh/UserGuide/latest/User-Manual/Load-Balance.md b/src/zh/UserGuide/latest/User-Manual/Load-Balance.md index 72e52cecd..c499ab937 100644 --- a/src/zh/UserGuide/latest/User-Manual/Load-Balance.md +++ b/src/zh/UserGuide/latest/User-Manual/Load-Balance.md @@ -23,7 +23,7 @@ Region 迁移属于高级运维功能,具有一定操作成本,建议完整阅读后再使用该功能。如有疑问请联系 IoTDB 团队寻求技术支持。 -## 1 功能介绍 +## 1. 功能介绍 IoTDB 是一个分布式数据库,数据的均衡分布对集群的磁盘空间、写入压力的负载均衡有着重要作用,region 是数据在 IoTDB 集群中进行分布式存储的基本单元,具体概念可见[region](../Background-knowledge/Cluster-Concept.md)。 @@ -34,14 +34,14 @@ IoTDB 是一个分布式数据库,数据的均衡分布对集群的磁盘空 ![](/img/region%E8%BF%81%E7%A7%BB%E7%A4%BA%E6%84%8F%E5%9B%BE20241210.png) -## 2 注意事项 +## 2. 注意事项 1. 推荐仅在 IoTDB 1.3.3 以及更高版本使用 Region 迁移功能。 2. 仅在共识协议为 IoTConsensus、Ratis 时支持 Region 迁移(iotdb-system.properties中的`schema_region_consensus_protocol_class` 和 `data_region_consensus_protocol_class`)。 3. Region 迁移会占用硬盘和网络带宽等系统资源,推荐在低业务负载时进行。 4. 在理想情况下,Region 迁移不影响用户侧读写。特殊情况下,Region 迁移可能阻塞写入,这种情况的具体鉴别与处理方式见使用说明。 -## 3 使用说明 +## 3. 使用说明 - **语法定义**: diff --git a/src/zh/UserGuide/latest/User-Manual/Query-Performance-Analysis.md b/src/zh/UserGuide/latest/User-Manual/Query-Performance-Analysis.md index 998682ed1..dc2ad5733 100644 --- a/src/zh/UserGuide/latest/User-Manual/Query-Performance-Analysis.md +++ b/src/zh/UserGuide/latest/User-Manual/Query-Performance-Analysis.md @@ -20,7 +20,7 @@ --> # 运维语句 -## 1 查询性能分析 +## 1. 查询性能分析 查询分析的意义在于帮助用户理解查询的执行机制和性能瓶颈,从而实现查询优化和性能提升。这不仅关乎到查询的执行效率,也直接影响到应用的用户体验和资源的有效利用。为了进行有效的查询分析,**IoTDB** **V1.3.2及以上版本**提供了查询分析语句:Explain 和 Explain Analyze。 diff --git a/src/zh/UserGuide/latest/User-Manual/Streaming_apache.md b/src/zh/UserGuide/latest/User-Manual/Streaming_apache.md index c2ee7495f..9a79f6fd7 100644 --- a/src/zh/UserGuide/latest/User-Manual/Streaming_apache.md +++ b/src/zh/UserGuide/latest/User-Manual/Streaming_apache.md @@ -42,7 +42,7 @@ Pipe Source 用于抽取数据,Pipe Processor 用于处理数据,Pipe Sink 利用流处理框架,可以搭建完整的数据链路来满足端*边云同步、异地灾备、读写负载分库*等需求。 -## 1 自定义流处理插件开发 +## 1. 自定义流处理插件开发 ### 1.1 编程开发依赖 @@ -438,7 +438,7 @@ public interface PipeSink extends PipePlugin { } ``` -## 2 自定义流处理插件管理 +## 2. 自定义流处理插件管理 为了保证用户自定义插件在实际生产中的灵活性和易用性,系统还需要提供对插件进行动态统一管理的能力。 本章节介绍的流处理插件管理语句提供了对插件进行动态统一管理的入口。 @@ -486,7 +486,7 @@ DROP PIPEPLUGIN [IF EXISTS] <别名> SHOW PIPEPLUGINS ``` -## 3 系统预置的流处理插件 +## 3. 系统预置的流处理插件 ### 3.1 预置 source 插件 @@ -561,7 +561,7 @@ SHOW PIPEPLUGINS |------|-----------------|-------------------------|-----------------------------------| | sink | do-nothing-sink | String: do-nothing-sink | required | -## 4 流处理任务管理 +## 4. 流处理任务管理 ### 4.1 创建流处理任务 @@ -728,7 +728,7 @@ WHERE SINK USED BY ![状态迁移图](/img/%E7%8A%B6%E6%80%81%E8%BF%81%E7%A7%BB%E5%9B%BE.png) -## 5 权限管理 +## 5. 权限管理 ### 5.1 流处理任务 @@ -750,7 +750,7 @@ WHERE SINK USED BY | USE_PIPE | 卸载流处理任务插件。路径无关。 | | USE_PIPE | 查询流处理任务插件。路径无关。 | -## 6 配置参数 +## 6. 配置参数 在 iotdb-system.properties 中: diff --git a/src/zh/UserGuide/latest/User-Manual/Streaming_timecho.md b/src/zh/UserGuide/latest/User-Manual/Streaming_timecho.md index 1f707da61..b8ecd936e 100644 --- a/src/zh/UserGuide/latest/User-Manual/Streaming_timecho.md +++ b/src/zh/UserGuide/latest/User-Manual/Streaming_timecho.md @@ -42,7 +42,7 @@ Pipe Source 用于抽取数据,Pipe Processor 用于处理数据,Pipe Sink 利用流处理框架,可以搭建完整的数据链路来满足端*边云同步、异地灾备、读写负载分库*等需求。 -## 1 自定义流处理插件开发 +## 1. 自定义流处理插件开发 ### 1.1 编程开发依赖 @@ -438,7 +438,7 @@ public interface PipeSink extends PipePlugin { } ``` -## 2 自定义流处理插件管理 +## 2. 自定义流处理插件管理 为了保证用户自定义插件在实际生产中的灵活性和易用性,系统还需要提供对插件进行动态统一管理的能力。 本章节介绍的流处理插件管理语句提供了对插件进行动态统一管理的入口。 @@ -502,7 +502,7 @@ DROP PIPEPLUGIN [IF EXISTS] <别名> SHOW PIPEPLUGINS ``` -## 3 系统预置的流处理插件 +## 3. 系统预置的流处理插件 ### 3.1 预置 source 插件 @@ -590,7 +590,7 @@ SHOW PIPEPLUGINS |------|-----------------|-------------------------|-----------------------------------| | sink | do-nothing-sink | String: do-nothing-sink | required | -## 4 流处理任务管理 +## 4. 流处理任务管理 ### 4.1 创建流处理任务 @@ -763,7 +763,7 @@ WHERE SINK USED BY ![状态迁移图](/img/%E7%8A%B6%E6%80%81%E8%BF%81%E7%A7%BB%E5%9B%BE.png) -## 5 权限管理 +## 5. 权限管理 ### 5.1 流处理任务 @@ -785,7 +785,7 @@ WHERE SINK USED BY | USE_PIPE | 卸载流处理任务插件。路径无关。 | | USE_PIPE | 查询流处理任务插件。路径无关。 | -## 6 配置参数 +## 6. 配置参数 在 iotdb-system.properties 中: diff --git a/src/zh/UserGuide/latest/User-Manual/Tiered-Storage_timecho.md b/src/zh/UserGuide/latest/User-Manual/Tiered-Storage_timecho.md index 7e3d3bfce..1bc65232c 100644 --- a/src/zh/UserGuide/latest/User-Manual/Tiered-Storage_timecho.md +++ b/src/zh/UserGuide/latest/User-Manual/Tiered-Storage_timecho.md @@ -20,11 +20,11 @@ --> # 多级存储 -## 1 概述 +## 1. 概述 多级存储功能向用户提供多种存储介质管理的能力,用户可以使用多级存储功能为 IoTDB 配置不同类型的存储介质,并为存储介质进行分级。具体的,在 IoTDB 中,多级存储的配置体现为多目录的管理。用户可以将多个存储目录归为同一类,作为一个“层级”向 IoTDB 中配置,这种“层级”我们称之为 storage tier;同时,用户可以根据数据的冷热进行分类,并将不同类别的数据存储到指定的“层级”中。当前 IoTDB 支持通过数据的 TTL 进行冷热数据的分类,当一个层级中的数据不满足当前层级定义的 TTL 规则时,该数据会被自动迁移至下一层级中。 -## 2 参数定义 +## 2. 参数定义 在 IoTDB 中开启多级存储,需要进行以下几个方面的配置: @@ -49,7 +49,7 @@ | remote_tsfile_cache_max_disk_usage_in_mb | 51200 | 云端存储本地缓存的最大磁盘占用大小 | 如果未使用远端存储,无需配置 | -## 3 本地多级存储配置示例 +## 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 远端多级存储配置示例 +## 4. 远端多级存储配置示例 以下以三级存储为例: diff --git a/src/zh/UserGuide/latest/User-Manual/Trigger.md b/src/zh/UserGuide/latest/User-Manual/Trigger.md index c03613913..ea64b0ee5 100644 --- a/src/zh/UserGuide/latest/User-Manual/Trigger.md +++ b/src/zh/UserGuide/latest/User-Manual/Trigger.md @@ -21,7 +21,7 @@ # 触发器 -## 1 使用说明 +## 1. 使用说明 触发器提供了一种侦听序列数据变动的机制。配合用户自定义逻辑,可完成告警、数据转发等功能。 @@ -45,7 +45,7 @@ IoTDB 的单个触发器可用于侦听符合特定模式的时间序列的数 - BEFORE INSERT,即在数据持久化之前触发。请注意,目前触发器并不支持数据清洗,不会对要持久化的数据本身进行变动。 - AFTER INSERT,即在数据持久化之后触发。 -## 2 编写触发器 +## 2. 编写触发器 ### 2.1 触发器依赖 @@ -319,7 +319,7 @@ public class ClusterAlertingExample implements Trigger { } } ``` -## 3 管理触发器 +## 3. 管理触发器 您可以通过 SQL 语句注册和卸载一个触发器实例,您也可以通过 SQL 语句查询到所有已经注册的触发器。 @@ -448,7 +448,7 @@ SHOW TRIGGERS | DROPPING | 执行 `DROP TRIGGER` 的中间状态,集群正处在卸载该触发器的过程中 | 否 | | TRANSFERRING | 集群正在进行该触发器实例位置的迁移 | 否 | -## 4 重要注意事项 +## 4. 重要注意事项 - 触发器从注册时开始生效,不对已有的历史数据进行处理。**即只有成功注册触发器之后发生的写入请求才会被触发器侦听到。** - 触发器目前采用**同步触发**,所以编写时需要保证触发器效率,否则可能会大幅影响写入性能。**您需要自己保证触发器内部的并发安全性**。 @@ -459,7 +459,7 @@ SHOW TRIGGERS - 触发器 JAR 包有大小限制,必须小于 min(`config_node_ratis_log_appender_buffer_size_max`, 2G),其中 `config_node_ratis_log_appender_buffer_size_max` 是一个配置项,具体含义可以参考 IOTDB 配置项说明。 - **不同的 JAR 包中最好不要有全类名相同但功能实现不一样的类**。例如:触发器 trigger1、trigger2 分别对应资源 trigger1.jar、trigger2.jar。如果两个 JAR 包里都包含一个 `org.apache.iotdb.trigger.example.AlertListener` 类,当 `CREATE TRIGGER` 使用到这个类时,系统会随机加载其中一个 JAR 包中的类,最终导致触发器执行行为不一致以及其他的问题。 -## 5 配置参数 +## 5. 配置参数 | 配置项 | 含义 | | ------------------------------------------------- | ---------------------------------------------- | diff --git a/src/zh/UserGuide/latest/User-Manual/UDF-development.md b/src/zh/UserGuide/latest/User-Manual/UDF-development.md index fc252335c..24e0366ad 100644 --- a/src/zh/UserGuide/latest/User-Manual/UDF-development.md +++ b/src/zh/UserGuide/latest/User-Manual/UDF-development.md @@ -1,6 +1,6 @@ # UDF 开发 -## 1 UDF 开发 +## 1. UDF 开发 ### 1.1 UDF 依赖 @@ -675,7 +675,7 @@ UDAF 的结束方法,您可以在此方法中进行一些资源释放等的操 如果您使用 [Maven](http://search.maven.org/),可以参考我们编写的示例项目**udf-example**。您可以在 [这里](https://github.com/apache/iotdb/tree/master/example/udf) 找到它。 -## 2 为iotdb贡献通用的内置UDF函数 +## 2. 为iotdb贡献通用的内置UDF函数 该部分主要讲述了外部用户如何将自己编写的 UDF 贡献给 IoTDB 社区。 diff --git a/src/zh/UserGuide/latest/User-Manual/User-defined-function_apache.md b/src/zh/UserGuide/latest/User-Manual/User-defined-function_apache.md index 6d49a6eca..924ea47f7 100644 --- a/src/zh/UserGuide/latest/User-Manual/User-defined-function_apache.md +++ b/src/zh/UserGuide/latest/User-Manual/User-defined-function_apache.md @@ -1,6 +1,6 @@ # 用户自定义函数 -## 1 UDF 介绍 +## 1. UDF 介绍 UDF(User Defined Function)即用户自定义函数,IoTDB 提供多种内建的面向时序处理的函数,也支持扩展自定义函数来满足更多的计算需求。 @@ -78,11 +78,11 @@ SELECT s1, s2, s1 + example(s1, s2), s1 - example(s1 + example(s1, s2) / s2) FRO ``` -## 2 UDF 开发 +## 2. UDF 开发 可以参考 UDF函数开发:[开发指导](./UDF-development.md) -## 3 UDF 管理 +## 3. UDF 管理 ### 3.1 UDF 注册 @@ -191,13 +191,13 @@ udf_reader_transformer_collector_memory_proportion=1:1:1 更多用户权限相关的内容,请参考 [权限管理语句](../User-Manual/Authority-Management.md##权限管理)。 -## 4 UDF 函数库 +## 4. UDF 函数库 基于用户自定义函数能力,IoTDB 提供了一系列关于时序数据处理的函数,包括数据质量、数据画像、异常检测、 频域分析、数据匹配、数据修复、序列发现、机器学习等,能够满足工业领域对时序数据处理的需求。 可以参考 [UDF 函数库](../SQL-Manual/UDF-Libraries_apache.md)文档,查找安装步骤及每个函数对应的注册语句,以确保正确注册所有需要的函数。 -## 5 常见问题 +## 5. 常见问题 1. 如何修改已经注册的 UDF? diff --git a/src/zh/UserGuide/latest/User-Manual/User-defined-function_timecho.md b/src/zh/UserGuide/latest/User-Manual/User-defined-function_timecho.md index 3e5325a94..2fd50ed9b 100644 --- a/src/zh/UserGuide/latest/User-Manual/User-defined-function_timecho.md +++ b/src/zh/UserGuide/latest/User-Manual/User-defined-function_timecho.md @@ -1,6 +1,6 @@ # 用户自定义函数 -## 1 UDF 介绍 +## 1. UDF 介绍 UDF(User Defined Function)即用户自定义函数,IoTDB 提供多种内建的面向时序处理的函数,也支持扩展自定义函数来满足更多的计算需求。 @@ -78,11 +78,11 @@ SELECT s1, s2, s1 + example(s1, s2), s1 - example(s1 + example(s1, s2) / s2) FRO ``` -## 2 UDF 开发 +## 2. UDF 开发 可以参考 UDF函数开发:[开发指导](./UDF-development.md) -## 3 UDF 管理 +## 3. UDF 管理 ### 3.1 UDF 注册 @@ -191,13 +191,13 @@ udf_reader_transformer_collector_memory_proportion=1:1:1 更多用户权限相关的内容,请参考 [权限管理语句](../User-Manual/Authority-Management.md##权限管理)。 -## 4 UDF 函数库 +## 4. UDF 函数库 基于用户自定义函数能力,IoTDB 提供了一系列关于时序数据处理的函数,包括数据质量、数据画像、异常检测、 频域分析、数据匹配、数据修复、序列发现、机器学习等,能够满足工业领域对时序数据处理的需求。 可以参考 [UDF 函数库](../SQL-Manual/UDF-Libraries_timecho.md)文档,查找安装步骤及每个函数对应的注册语句,以确保正确注册所有需要的函数。 -## 5 常见问题 +## 5. 常见问题 1. 如何修改已经注册的 UDF? diff --git a/src/zh/UserGuide/latest/User-Manual/White-List_timecho.md b/src/zh/UserGuide/latest/User-Manual/White-List_timecho.md index 0db9d1d9d..e5176f313 100644 --- a/src/zh/UserGuide/latest/User-Manual/White-List_timecho.md +++ b/src/zh/UserGuide/latest/User-Manual/White-List_timecho.md @@ -22,17 +22,17 @@ # 白名单 -## 1 功能描述 +## 1. 功能描述 允许哪些客户端地址能连接 IoTDB -## 2 配置文件 +## 2. 配置文件 conf/iotdb-system.properties conf/white.list -## 3 配置项 +## 3. 配置项 iotdb-system.properties: