Skip to content

Commit

Permalink
docs: refine image alt text
Browse files Browse the repository at this point in the history
  • Loading branch information
dingbo8128 committed May 27, 2022
1 parent 4ff2e2e commit fcfab6e
Show file tree
Hide file tree
Showing 28 changed files with 117 additions and 117 deletions.
2 changes: 1 addition & 1 deletion docs-cn/02-intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ TDengine的主要功能如下:

<figure>

![TDengine技术生态图](eco_system.webp)
![TDengine Database 技术生态图](eco_system.webp)

</figure>
<center>图 1. TDengine技术生态图</center>
Expand Down
6 changes: 3 additions & 3 deletions docs-cn/12-taos-sql/08-interval.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ TDengine 支持按时间段窗口切分方式进行聚合结果查询,比如

INTERVAL 子句用于产生相等时间周期的窗口,SLIDING 用以指定窗口向前滑动的时间。每次执行的查询是一个时间窗口,时间窗口随着时间流动向前滑动。在定义连续查询的时候需要指定时间窗口(time window )大小和每次前向增量时间(forward sliding times)。如图,[t0s, t0e][t1s , t1e][t2s, t2e] 是分别是执行三次连续查询的时间窗口范围,窗口的前向滑动的时间范围 sliding time 标识 。查询过滤、聚合等操作按照每个时间窗口为独立的单位执行。当 SLIDING 与 INTERVAL 相等的时候,滑动窗口即为翻转窗口。

![时间窗口示意图](./timewindow-1.webp)
![TDengine Database 时间窗口示意图](./timewindow-1.webp)

INTERVAL 和 SLIDING 子句需要配合聚合和选择函数来使用。以下 SQL 语句非法:

Expand All @@ -33,7 +33,7 @@ _ 从 2.1.5.0 版本开始,INTERVAL 语句允许的最短时间间隔调整为

使用整数(布尔值)或字符串来标识产生记录时候设备的状态量。产生的记录如果具有相同的状态量数值则归属于同一个状态窗口,数值改变后该窗口关闭。如下图所示,根据状态量确定的状态窗口分别是[2019-04-28 14:22:07,2019-04-28 14:22:10][2019-04-28 14:22:11,2019-04-28 14:22:12]两个。(状态窗口暂不支持对超级表使用)

![时间窗口示意图](./timewindow-3.webp)
![TDengine Database 时间窗口示意图](./timewindow-3.webp)

使用 STATE_WINDOW 来确定状态窗口划分的列。例如:

Expand All @@ -45,7 +45,7 @@ SELECT COUNT(*), FIRST(ts), status FROM temp_tb_1 STATE_WINDOW(status);

会话窗口根据记录的时间戳主键的值来确定是否属于同一个会话。如下图所示,如果设置时间戳的连续的间隔小于等于 12 秒,则以下 6 条记录构成 2 个会话窗口,分别是:[2019-04-28 14:22:10,2019-04-28 14:22:30][2019-04-28 14:23:10,2019-04-28 14:23:30]。因为 2019-04-28 14:22:30 与 2019-04-28 14:23:10 之间的时间间隔是 40 秒,超过了连续时间间隔(12 秒)。

![时间窗口示意图](./timewindow-2.webp)
![TDengine Database 时间窗口示意图](./timewindow-2.webp)

在 tol_value 时间间隔范围内的结果都认为归属于同一个窗口,如果连续的两条记录的时间超过 tol_val,则自动开启下一个窗口。(会话窗口暂不支持对超级表使用)

Expand Down
2 changes: 1 addition & 1 deletion docs-cn/14-reference/03-connector/03-connector.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: 连接器

TDengine 提供了丰富的应用程序开发接口,为了便于用户快速开发自己的应用,TDengine 支持了多种编程语言的连接器,其中官方连接器包括支持 C/C++、Java、Python、Go、Node.js、C# 和 Rust 的连接器。这些连接器支持使用原生接口(taosc)和 REST 接口(部分语言暂不支持)连接 TDengine 集群。社区开发者也贡献了多个非官方连接器,例如 ADO.NET 连接器、Lua 连接器和 PHP 连接器。

![image-connector](./connector.webp)
![TDengine Database connector architecture](./connector.webp)

## 支持的平台

Expand Down
2 changes: 1 addition & 1 deletion docs-cn/14-reference/03-connector/java.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import TabItem from '@theme/TabItem';

`taos-jdbcdriver` 是 TDengine 的官方 Java 语言连接器,Java 开发人员可以通过它开发存取 TDengine 数据库的应用软件。`taos-jdbcdriver` 实现了 JDBC driver 标准的接口,并提供两种形式的连接器。一种是通过 TDengine 客户端驱动程序(taosc)原生连接 TDengine 实例,支持数据写入、查询、订阅、schemaless 接口和参数绑定接口等功能,一种是通过 taosAdapter 提供的 REST 接口连接 TDengine 实例(2.4.0.0 及更高版本)。REST 连接实现的功能集合和原生连接有少量不同。

![tdengine-connector](tdengine-jdbc-connector.webp)
![TDengine Database Connector Java](tdengine-jdbc-connector.webp)

上图显示了两种 Java 应用使用连接器访问 TDengine 的两种方式:

Expand Down
2 changes: 1 addition & 1 deletion docs-cn/14-reference/04-taosadapter.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ taosAdapter 提供以下功能:

## taosAdapter 架构图

![taosAdapter Architecture](taosAdapter-architecture.webp)
![TDengine Database taosAdapter Architecture](taosAdapter-architecture.webp)

## taosAdapter 部署方法

Expand Down
28 changes: 14 additions & 14 deletions docs-cn/14-reference/07-tdinsight/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -233,33 +233,33 @@ sudo systemctl enable grafana-server

指向 **Configurations** -> **Data Sources** 菜单,然后点击 **Add data source** 按钮。

![添加数据源按钮](./assets/howto-add-datasource-button.webp)
![TDengine Database TDinsight 添加数据源按钮](./assets/howto-add-datasource-button.webp)

搜索并选择**TDengine**

![添加数据源](./assets/howto-add-datasource-tdengine.webp)
![TDengine Database TDinsight 添加数据源](./assets/howto-add-datasource-tdengine.webp)

配置 TDengine 数据源。

![数据源配置](./assets/howto-add-datasource.webp)
![TDengine Database TDinsight 数据源配置](./assets/howto-add-datasource.webp)

保存并测试,正常情况下会报告 'TDengine Data source is working'。

![数据源测试](./assets/howto-add-datasource-test.webp)
![TDengine Database TDinsight 数据源测试](./assets/howto-add-datasource-test.webp)

### 导入仪表盘

指向 **+** / **Create** - **import**(或 `/dashboard/import` url)。

![导入仪表盘和配置](./assets/import_dashboard.webp)
![TDengine Database TDinsight 导入仪表盘和配置](./assets/import_dashboard.webp)

**Import via grafana.com** 位置键入仪表盘 ID `15167`**Load**

![通过 grafana.com 导入](./assets/import-dashboard-15167.webp)

导入完成后,TDinsight 的完整页面视图如下所示。

![显示](./assets/TDinsight-full.webp)
![TDengine Database TDinsight 显示](./assets/TDinsight-full.webp)

## TDinsight 仪表盘详细信息

Expand All @@ -269,7 +269,7 @@ TDinsight 仪表盘旨在提供 TDengine 相关资源使用情况[dnodes, mnodes

### 集群状态

![tdinsight-mnodes-overview](./assets/TDinsight-1-cluster-status.webp)
![TDengine Database TDinsight mnodes overview](./assets/TDinsight-1-cluster-status.webp)

这部分包括集群当前信息和状态,告警信息也在此处(从左到右,从上到下)。

Expand All @@ -289,7 +289,7 @@ TDinsight 仪表盘旨在提供 TDengine 相关资源使用情况[dnodes, mnodes

### DNodes 状态

![tdinsight-mnodes-overview](./assets/TDinsight-2-dnodes.webp)
![TDengine Database TDinsight mnodes overview](./assets/TDinsight-2-dnodes.webp)

- **DNodes Status**`show dnodes` 的简单表格视图。
- **DNodes Lifetime**:从创建 dnode 开始经过的时间。
Expand All @@ -298,22 +298,22 @@ TDinsight 仪表盘旨在提供 TDengine 相关资源使用情况[dnodes, mnodes

### MNode 概述

![tdinsight-mnodes-overview](./assets/TDinsight-3-mnodes.webp)
![TDengine Database TDinsight mnodes overview](./assets/TDinsight-3-mnodes.webp)

1. **MNodes Status**`show mnodes` 的简单表格视图。
2. **MNodes Number**:类似于`DNodes Number`,MNodes 数量变化。

### 请求

![tdinsight-requests](./assets/TDinsight-4-requests.webp)
![TDengine Database TDinsight requests](./assets/TDinsight-4-requests.webp)

1. **Requests Rate(Inserts per Second)**:平均每秒插入次数。
2. **Requests (Selects)**:查询请求数及变化率(count of second)。
3. **Requests (HTTP)**:HTTP 请求数和请求速率(count of second)。

### 数据库

![tdinsight-database](./assets/TDinsight-5-database.webp)
![TDengine Database TDinsight database](./assets/TDinsight-5-database.webp)

数据库使用情况,对变量 `$database` 的每个值即每个数据库进行重复多行展示。

Expand All @@ -325,7 +325,7 @@ TDinsight 仪表盘旨在提供 TDengine 相关资源使用情况[dnodes, mnodes

### DNode 资源使用情况

![dnode-usage](./assets/TDinsight-6-dnode-usage.webp)
![TDengine Database TDinsight dnode-usage](./assets/TDinsight-6-dnode-usage.webp)

数据节点资源使用情况展示,对变量 `$fqdn` 即每个数据节点进行重复多行展示。包括:

Expand All @@ -346,13 +346,13 @@ TDinsight 仪表盘旨在提供 TDengine 相关资源使用情况[dnodes, mnodes

### 登录历史

![登录历史](./assets/TDinsight-7-login-history.webp)
![TDengine Database TDinsight 登录历史](./assets/TDinsight-7-login-history.webp)

目前只报告每分钟登录次数。

### 监控 taosAdapter

![taosadapter](./assets/TDinsight-8-taosadapter.webp)
![TDengine Database TDinsight monitor taosadapter](./assets/TDinsight-8-taosadapter.webp)

支持监控 taosAdapter 请求统计和状态详情。包括:

Expand Down
12 changes: 6 additions & 6 deletions docs-cn/20-third-party/01-grafana.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -64,29 +64,29 @@ GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=tdengine-datasource

用户可以直接通过 http://localhost:3000 的网址,登录 Grafana 服务器(用户名/密码:admin/admin),通过左侧 `Configuration -> Data Sources` 可以添加数据源,如下图所示:

![img](./add_datasource1.webp)
![TDengine Database Grafana plugin add data source](./add_datasource1.webp)

点击 `Add data source` 可进入新增数据源页面,在查询框中输入 TDengine 可选择添加,如下图所示:

![img](./add_datasource2.webp)
![TDengine Database Grafana plugin add data source](./add_datasource2.webp)

进入数据源配置页面,按照默认提示修改相应配置即可:

![img](./add_datasource3.webp)
![TDengine Database Grafana plugin add data source](./add_datasource3.webp)

- Host: TDengine 集群中提供 REST 服务 (在 2.4 之前由 taosd 提供, 2.4 开始由 taosAdapter 提供)的组件所在服务器的 IP 地址与 TDengine REST 服务的端口号(6041),默认 http://localhost:6041。
- User:TDengine 用户名。
- Password:TDengine 用户密码。

点击 `Save & Test` 进行测试,成功会有如下提示:

![img](./add_datasource4.webp)
![TDengine Database Grafana plugin add data source](./add_datasource4.webp)

### 创建 Dashboard

回到主界面创建 Dashboard,点击 Add Query 进入面板查询页面:

![img](./create_dashboard1.webp)
![TDengine Database Grafana plugin create dashboard](./create_dashboard1.webp)

如上图所示,在 Query 中选中 `TDengine` 数据源,在下方查询框可输入相应 SQL 进行查询,具体说明如下:

Expand All @@ -96,7 +96,7 @@ GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=tdengine-datasource

按照默认提示查询当前 TDengine 部署所在服务器指定间隔系统内存平均使用量如下:

![img](./create_dashboard2.webp)
![TDengine Database Grafana plugin create dashboard](./create_dashboard2.webp)

> 关于如何使用 Grafana 创建相应的监测界面以及更多有关使用 Grafana 的信息,请参考 Grafana 官方的[文档](https://grafana.com/docs/)
Expand Down
22 changes: 11 additions & 11 deletions docs-cn/20-third-party/09-emq-broker.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,39 +45,39 @@ MQTT 是流行的物联网数据传输协议,[EMQX](https://github.com/emqx/em

使用浏览器打开网址 http://IP:18083 并登录 EMQX Dashboard。初次安装用户名为 `admin` 密码为:`public`

![img](./emqx/login-dashboard.webp)
![TDengine Database EMQX login dashboard](./emqx/login-dashboard.webp)

### 创建规则(Rule)

选择左侧“规则引擎(Rule Engine)”中的“规则(Rule)”并点击“创建(Create)”按钮:

![img](./emqx/rule-engine.webp)
![TDengine Database EMQX rule engine](./emqx/rule-engine.webp)

### 编辑 SQL 字段

![img](./emqx/create-rule.webp)
![TDengine Database EMQX create rule](./emqx/create-rule.webp)

### 新增“动作(action handler)”

![img](./emqx/add-action-handler.webp)
![TDengine Database EMQX](./emqx/add-action-handler.webp)

### 新增“资源(Resource)”

![img](./emqx/create-resource.webp)
![TDengine Database EMQX create resource](./emqx/create-resource.webp)

选择“发送数据到 Web 服务“并点击“新建资源”按钮:

### 编辑“资源(Resource)”

选择“发送数据到 Web 服务“并填写 请求 URL 为 运行 taosAdapter 的服务器地址和端口(默认为 6041)。其他属性请保持默认值。

![img](./emqx/edit-resource.webp)
![TDengine Database EMQX edit resource](./emqx/edit-resource.webp)

### 编辑“动作(action)”

编辑资源配置,增加 Authorization 认证的键/值配对项,相关文档请参考[ TDengine REST API 文档](https://docs.taosdata.com/reference/rest-api/)。在消息体中输入规则引擎替换模板。

![img](./emqx/edit-action.webp)
![TDengine Database EMQX edit action](./emqx/edit-action.webp)

## 编写模拟测试程序

Expand Down Expand Up @@ -164,7 +164,7 @@ MQTT 是流行的物联网数据传输协议,[EMQX](https://github.com/emqx/em

注意:代码中 CLIENT_NUM 在开始测试中可以先设置一个较小的值,避免硬件性能不能完全处理较大并发客户端数量。

![img](./emqx/client-num.webp)
![TDengine Database EMQX client num](./emqx/client-num.webp)

## 执行测试模拟发送 MQTT 数据

Expand All @@ -173,19 +173,19 @@ npm install mqtt mockjs --save --registry=https://registry.npm.taobao.org
node mock.js
```

![img](./emqx/run-mock.webp)
![TDengine Database EMQX run-mock](./emqx/run-mock.webp)

## 验证 EMQX 接收到数据

在 EMQX Dashboard 规则引擎界面进行刷新,可以看到有多少条记录被正确接收到:

![img](./emqx/check-rule-matched.webp)
![TDengine Database EMQX rule matched](./emqx/check-rule-matched.webp)

## 验证数据写入到 TDengine

使用 TDengine CLI 程序登录并查询相应数据库和表,验证数据是否被正确写入到 TDengine 中:

![img](./emqx/check-result-in-taos.webp)
![TDengine Database EMQX result in taos](./emqx/check-result-in-taos.webp)

TDengine 详细使用方法请参考 [TDengine 官方文档](https://docs.taosdata.com/)
EMQX 详细使用方法请参考 [EMQX 官方文档](https://www.emqx.io/docs/zh/v4.4/rule/rule-engine.html)
Expand Down
6 changes: 3 additions & 3 deletions docs-cn/20-third-party/11-kafka.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ TDengine Kafka Connector 包含两个插件: TDengine Source Connector 和 TDeng

Kafka Connect 是 Apache Kafka 的一个组件,用于使其它系统,比如数据库、云服务、文件系统等能方便地连接到 Kafka。数据既可以通过 Kafka Connect 从其它系统流向 Kafka, 也可以通过 Kafka Connect 从 Kafka 流向其它系统。从其它系统读数据的插件称为 Source Connector, 写数据到其它系统的插件称为 Sink Connector。Source Connector 和 Sink Connector 都不会直接连接 Kafka Broker,Source Connector 把数据转交给 Kafka Connect。Sink Connector 从 Kafka Connect 接收数据。

![](kafka/Kafka_Connect.webp)
![TDengine Database Kafka Connector -- Kafka Connect structure](kafka/Kafka_Connect.webp)

TDengine Source Connector 用于把数据实时地从 TDengine 读出来发送给 Kafka Connect。TDengine Sink Connector 用于 从 Kafka Connect 接收数据并写入 TDengine。

![](kafka/streaming-integration-with-kafka-connect.webp)
![TDengine Database Kafka Connector -- streaming integration with kafka connect](kafka/streaming-integration-with-kafka-connect.webp)

## 什么是 Confluent?

Expand All @@ -26,7 +26,7 @@ Confluent 在 Kafka 的基础上增加很多扩展功能。包括:
5. 管理和监控 Kafka 的 GUI —— Confluent 控制中心

这些扩展功能有的包含在社区版本的 Confluent 中,有的只有企业版能用。
![](kafka/confluentPlatform.webp)
![TDengine Database Kafka Connector -- Confluent introduction](kafka/confluentPlatform.webp)

Confluent 企业版提供了 `confluent` 命令行工具管理各个组件。

Expand Down
10 changes: 5 additions & 5 deletions docs-cn/21-tdinternal/01-arch.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ TDengine 的设计是基于单个硬件、软件系统不可靠,基于任何

TDengine 分布式架构的逻辑结构图如下:

![TDengine架构示意图](./structure.webp)
![TDengine Database 架构示意图](./structure.webp)

<center> 图 1 TDengine架构示意图 </center>

Expand Down Expand Up @@ -63,7 +63,7 @@ TDengine 分布式架构的逻辑结构图如下:

为解释 vnode、mnode、taosc 和应用之间的关系以及各自扮演的角色,下面对写入数据这个典型操作的流程进行剖析。

![TDengine典型的操作流程](./message.webp)
![TDengine Database 典型的操作流程](./message.webp)

<center> 图 2 TDengine 典型的操作流程 </center>

Expand Down Expand Up @@ -135,7 +135,7 @@ TDengine 除 vnode 分片之外,还对时序数据按照时间段进行分区

Master Vnode 遵循下面的写入流程:

![TDengine Master写入流程](./write_master.webp)
![TDengine Database Master写入流程](./write_master.webp)

<center> 图 3 TDengine Master 写入流程 </center>

Expand All @@ -150,7 +150,7 @@ Master Vnode 遵循下面的写入流程:

对于 slave vnode,写入流程是:

![TDengine Slave 写入流程](./write_slave.webp)
![TDengine Database Slave 写入流程](./write_slave.webp)

<center> 图 4 TDengine Slave 写入流程 </center>

Expand Down Expand Up @@ -284,7 +284,7 @@ SELECT COUNT(*) FROM d1001 WHERE ts >= '2017-7-14 00:00:00' AND ts < '2017-7-14

TDengine 对每个数据采集点单独建表,但在实际应用中经常需要对不同的采集点数据进行聚合。为高效的进行聚合操作,TDengine 引入超级表(STable)的概念。超级表用来代表一特定类型的数据采集点,它是包含多张表的表集合,集合里每张表的模式(schema)完全一致,但每张表都带有自己的静态标签,标签可以有多个,可以随时增加、删除和修改。应用可通过指定标签的过滤条件,对一个 STable 下的全部或部分表进行聚合或统计操作,这样大大简化应用的开发。其具体流程如下图所示:

![多表聚合查询原理图](./multi_tables.webp)
![TDengine Database 多表聚合查询原理图](./multi_tables.webp)

<center> 图 5 多表聚合查询原理图 </center>

Expand Down
6 changes: 3 additions & 3 deletions docs-cn/21-tdinternal/02-replica.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ TDengine采取的是Master-Slave模式进行同步,与流行的RAFT一致性

具体的流程图如下:

![replica-master.webp](./replica-master.webp)
![TDengine Database replica master](./replica-master.webp)

选择Master的具体规则如下:

Expand All @@ -108,7 +108,7 @@ TDengine采取的是Master-Slave模式进行同步,与流行的RAFT一致性

如果vnode A是master, vnode B是slave, vnode A能接受客户端的写请求,而vnode B不能。当vnode A收到写的请求后,遵循下面的流程:

![replica-forward.webp](./replica-forward.webp)
![TDengine Database replica forward](./replica-forward.webp)

1. 应用对写请求做基本的合法性检查,通过,则给该请求包打上一个版本号(version, 单调递增)
2. 应用将打上版本号的写请求封装一个WAL Head, 写入WAL(Write Ahead Log)
Expand Down Expand Up @@ -143,7 +143,7 @@ TDengine采取的是Master-Slave模式进行同步,与流行的RAFT一致性

整个数据恢复流程分为两大步骤,第一步,先恢复archived data(file), 然后恢复wal。具体流程如下:

![replica-restore.webp](./replica-restore.webp)
![TDengine Database replica restore](./replica-restore.webp)

1. 通过已经建立的TCP连接,发送sync req给master节点
2. master收到sync req后,以client的身份,向vnode B主动建立一新的专用于同步的TCP连接(syncFd)
Expand Down
Loading

0 comments on commit fcfab6e

Please sign in to comment.