<docs> [TECO-37]: fine tune few code blocks.
This commit is contained in:
parent
aa452b718c
commit
f6a8d16062
Binary file not shown.
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 76 KiB |
|
@ -59,5 +59,3 @@ TDengine的模块之一是时序数据库。但除此之外,为减少研发的
|
|||
|要求运维学习成本可控| | | √ |同上。|
|
||||
|要求市场有大量人才储备| √ | | |TDengine作为新一代产品,目前人才市场里面有经验的人员还有限。但是学习成本低,我们作为厂家也提供运维的培训和辅助服务。|
|
||||
|
||||
## TDengine 性能指标介绍和验证方法
|
||||
|
||||
|
|
|
@ -144,7 +144,7 @@ taos -h 192.168.0.1 -s "use db; show tables;"
|
|||
|
||||
TDengine终端可以通过`source`命令来运行SQL命令脚本.
|
||||
|
||||
```
|
||||
```mysql
|
||||
taos> source <filename>;
|
||||
```
|
||||
|
||||
|
|
|
@ -8,14 +8,14 @@ TDengine采用关系型数据模型,需要建库、建表。因此对于一个
|
|||
|
||||
不同类型的数据采集点往往具有不同的数据特征,包括数据采集频率的高低,数据保留时间的长短,副本的数目,数据块的大小,是否允许更新数据等等。为让各种场景下TDengine都能最大效率的工作,TDengine建议将不同数据特征的表创建在不同的库里,因为每个库可以配置不同的存储策略。创建一个库时,除SQL标准的选项外,应用还可以指定保留时长、副本数、内存块个数、时间精度、文件块里最大最小记录条数、是否压缩、一个数据文件覆盖的天数等多种参数。比如:
|
||||
|
||||
```cmd
|
||||
```mysql
|
||||
CREATE DATABASE power KEEP 365 DAYS 10 BLOCKS 4 UPDATE 1;
|
||||
```
|
||||
上述语句将创建一个名为power的库,这个库的数据将保留365天(超过365天将被自动删除),每10天一个数据文件,内存块数为4,允许更新数据。详细的语法及参数请见<a href="https://www.taosdata.com/cn/documentation20/taos-sql/">TAOS SQL</a>
|
||||
|
||||
创建库之后,需要使用SQL命令USE将当前库切换过来,例如:
|
||||
|
||||
```cmd
|
||||
```mysql
|
||||
USE power;
|
||||
```
|
||||
|
||||
|
@ -28,7 +28,7 @@ USE power;
|
|||
|
||||
## 创建超级表
|
||||
一个物联网系统,往往存在多种类型的设备,比如对于电网,存在智能电表、变压器、母线、开关等等。为便于多表之间的聚合,使用TDengine, 需要对每个类型的数据采集点创建一超级表。以表一中的智能电表为例,可以使用如下的SQL命令创建超级表:
|
||||
```cmd
|
||||
```mysql
|
||||
CREATE TABLE meters (ts timestamp, current float, voltage int, phase float) TAGS (location binary(64), groupdId int);
|
||||
```
|
||||
与创建普通表一样,创建表时,需要提供表名(示例中为meters),表结构Schema,即数据列的定义。第一列必须为时间戳(示例中为ts),其他列为采集的物理量(示例中为current, voltage, phase),数据类型可以为整型、浮点型、字符串等。除此之外,还需要提供标签的schema (示例中为location, groupId),标签的数据类型可以为整型、浮点型、字符串等。采集点的静态属性往往可以作为标签,比如采集点的地理位置、设备型号、设备组ID、管理员ID等等。标签的schema可以事后增加、删除、修改。具体定义以及细节请见 <a href="https://www.taosdata.com/cn/documentation20/taos-sql/">TAOS SQL </a>一节。
|
||||
|
|
|
@ -60,7 +60,7 @@ create table avg_vol as select avg(voltage) from meters interval(1m) sliding(30s
|
|||
会自动创建一个名为 `avg_vol` 的新表,然后每隔30秒,TDengine会增量执行 `as` 后面的 SQL 语句,
|
||||
并将查询结果写入这个表中,用户程序后续只要从 `avg_vol` 中查询数据即可。 例如:
|
||||
|
||||
```shell
|
||||
```mysql
|
||||
taos> select * from avg_vol;
|
||||
ts | avg_voltage_ |
|
||||
===================================================
|
||||
|
@ -72,14 +72,13 @@ taos> select * from avg_vol;
|
|||
|
||||
需要注意,查询时间窗口的最小值是10毫秒,没有时间窗口范围的上限。
|
||||
|
||||
|
||||
此外,TDengine还支持用户指定连续查询的起止时间。
|
||||
如果不输入开始时间,连续查询将从第一条原始数据所在的时间窗口开始;
|
||||
如果没有输入结束时间,连续查询将永久运行;
|
||||
如果用户指定了结束时间,连续查询在系统时间达到指定的时间以后停止运行。
|
||||
比如使用下面的SQL创建的连续查询将运行一小时,之后会自动停止。
|
||||
|
||||
```sql
|
||||
```mysql
|
||||
create table avg_vol as select avg(voltage) from meters where ts > now and ts <= now + 1h interval(1m) sliding(30s);
|
||||
```
|
||||
|
||||
|
|
|
@ -302,7 +302,7 @@ TDengine提供时间驱动的实时流式计算API。可以每隔一指定的时
|
|||
### 安装准备
|
||||
* 已安装TDengine, 如果客户端在Windows上,需要安装Windows 版本的TDengine客户端 [(Windows TDengine 客户端安装)][4]
|
||||
* 已安装python 2.7 or >= 3.4
|
||||
* 已安装pip
|
||||
* 已安装pip 或 pip3
|
||||
|
||||
### Python客户端安装
|
||||
|
||||
|
@ -314,7 +314,7 @@ TDengine提供时间驱动的实时流式计算API。可以每隔一指定的时
|
|||
|
||||
或
|
||||
|
||||
`pip install src/connector/python/linux/python3/`
|
||||
`pip3 install src/connector/python/linux/python3/`
|
||||
|
||||
#### Windows
|
||||
在已安装Windows TDengine 客户端的情况下, 将文件"C:\TDengine\driver\taos.dll" 拷贝到 "C:\windows\system32" 目录下, 然后进入Windwos <em>cmd</em> 命令行界面
|
||||
|
@ -474,13 +474,13 @@ HTTP请求的BODY里就是一个完整的SQL语句,SQL语句中的数据表应
|
|||
|
||||
使用curl通过自定义身份认证方式来发起一个HTTP Request,语法如下:
|
||||
|
||||
```
|
||||
```bash
|
||||
curl -H 'Authorization: Basic <TOKEN>' -d '<SQL>' <ip>:<PORT>/rest/sql
|
||||
```
|
||||
|
||||
或者
|
||||
|
||||
```
|
||||
```bash
|
||||
curl -u username:password -d '<SQL>' <ip>:<PORT>/rest/sql
|
||||
```
|
||||
|
||||
|
@ -490,7 +490,7 @@ curl -u username:password -d '<SQL>' <ip>:<PORT>/rest/sql
|
|||
|
||||
返回值为JSON格式,如下:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"status": "succ",
|
||||
"head": ["Time Stamp","current", …],
|
||||
|
@ -513,7 +513,7 @@ curl -u username:password -d '<SQL>' <ip>:<PORT>/rest/sql
|
|||
|
||||
HTTP请求中需要带有授权码`<TOKEN>`,用于身份识别。授权码通常由管理员提供,可简单的通过发送`HTTP GET`请求来获取授权码,操作如下:
|
||||
|
||||
```
|
||||
```bash
|
||||
curl http://<ip>:6041/rest/login/<username>/<password>
|
||||
```
|
||||
|
||||
|
@ -527,13 +527,13 @@ curl http://<ip>:6041/rest/login/<username>/<password>
|
|||
|
||||
获取授权码示例:
|
||||
|
||||
```
|
||||
```bash
|
||||
curl http://192.168.0.1:6041/rest/login/root/taosdata
|
||||
```
|
||||
|
||||
返回值:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"status": "succ",
|
||||
"code": 0,
|
||||
|
@ -545,12 +545,12 @@ curl http://192.168.0.1:6041/rest/login/root/taosdata
|
|||
|
||||
- 在demo库里查询表d1001的所有记录:
|
||||
|
||||
```
|
||||
```bash
|
||||
curl -H 'Authorization: Basic cm9vdDp0YW9zZGF0YQ==' -d 'select * from demo.d1001' 192.168.0.1:6041/rest/sql
|
||||
```
|
||||
返回值:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"status": "succ",
|
||||
"head": ["Time Stamp","current","voltage","phase"],
|
||||
|
@ -564,12 +564,12 @@ curl -H 'Authorization: Basic cm9vdDp0YW9zZGF0YQ==' -d 'select * from demo.d1001
|
|||
|
||||
- 创建库demo:
|
||||
|
||||
```
|
||||
```bash
|
||||
curl -H 'Authorization: Basic cm9vdDp0YW9zZGF0YQ==' -d 'create database demo' 192.168.0.1:6041/rest/sql
|
||||
```
|
||||
|
||||
返回值:
|
||||
```
|
||||
```json
|
||||
{
|
||||
"status": "succ",
|
||||
"head": ["affected_rows"],
|
||||
|
@ -584,13 +584,13 @@ curl -H 'Authorization: Basic cm9vdDp0YW9zZGF0YQ==' -d 'create database demo' 19
|
|||
|
||||
HTTP请求URL采用`sqlt`时,返回结果集的时间戳将采用Unix时间戳格式表示,例如
|
||||
|
||||
```
|
||||
```bash
|
||||
curl -H 'Authorization: Basic cm9vdDp0YW9zZGF0YQ==' -d 'select * from demo.d1001' 192.168.0.1:6041/rest/sqlt
|
||||
```
|
||||
|
||||
返回值:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"status": "succ",
|
||||
"head": ["column1","column2","column3"],
|
||||
|
@ -605,13 +605,13 @@ curl -H 'Authorization: Basic cm9vdDp0YW9zZGF0YQ==' -d 'select * from demo.d1001
|
|||
#### 结果集采用UTC时间字符串
|
||||
|
||||
HTTP请求URL采用`sqlutc`时,返回结果集的时间戳将采用UTC时间字符串表示,例如
|
||||
```
|
||||
```bash
|
||||
curl -H 'Authorization: Basic cm9vdDp0YW9zZGF0YQ==' -d 'select * from demo.t1' 192.168.0.1:6041/rest/sqlutc
|
||||
```
|
||||
|
||||
返回值:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"status": "succ",
|
||||
"head": ["column1","column2","column3"],
|
||||
|
@ -726,7 +726,7 @@ TDengine 同时也提供了node.js 的连接器。用户可以通过[npm](https:
|
|||
|
||||
首先,通过[npm](https://www.npmjs.com/)安装node.js 连接器.
|
||||
|
||||
```cmd
|
||||
```bash
|
||||
npm install td2.0-connector
|
||||
```
|
||||
我们建议用户使用npm 安装node.js连接器。如果您没有安装npm, 可以将*src/connector/nodejs/*拷贝到您的nodejs 项目目录下
|
||||
|
|
|
@ -37,7 +37,7 @@ INSERT INTO d1001 VALUES (1538548685000, 10.3, 219, 0.31) (1538548695000, 12.6,
|
|||
- 对应的TDengine版本。因为用到了TDengine的客户端动态链接库,因此需要安装好和服务端相同版本的TDengine程序;比如服务端版本是TDengine 2.0.0, 则在bailongma所在的linux服务器(可以与TDengine在同一台服务器,或者不同服务器)
|
||||
|
||||
Bailongma项目中有一个文件夹blm_prometheus,存放了prometheus的写入API程序。编译过程如下:
|
||||
```
|
||||
```bash
|
||||
cd blm_prometheus
|
||||
go build
|
||||
```
|
||||
|
@ -79,7 +79,7 @@ blm_prometheus对prometheus提供服务的端口号。
|
|||
### 启动示例
|
||||
|
||||
通过以下命令启动一个blm_prometheus的API服务
|
||||
```
|
||||
```bash
|
||||
./blm_prometheus -port 8088
|
||||
```
|
||||
假设blm_prometheus所在服务器的IP地址为"10.1.2.3",则在prometheus的配置文件中<remote_write>部分增加url为
|
||||
|
@ -107,7 +107,7 @@ prometheus产生的数据格式如下:
|
|||
}
|
||||
```
|
||||
其中,apiserver_request_latencies_bucket为prometheus采集的时序数据的名称,后面{}中的为该时序数据的标签。blm_prometheus会以时序数据的名称在TDengine中自动创建一个超级表,并将{}中的标签转换成TDengine的tag值,Timestamp作为时间戳,value作为该时序数据的值。因此在TDengine的客户端中,可以通过以下指令查到这个数据是否成功写入。
|
||||
```
|
||||
```mysql
|
||||
use prometheus;
|
||||
select * from apiserver_request_latencies_bucket;
|
||||
```
|
||||
|
@ -124,7 +124,7 @@ select * from apiserver_request_latencies_bucket;
|
|||
|
||||
Bailongma项目中有一个文件夹blm_telegraf,存放了Telegraf的写入API程序。编译过程如下:
|
||||
|
||||
```
|
||||
```bash
|
||||
cd blm_telegraf
|
||||
go build
|
||||
```
|
||||
|
@ -175,7 +175,7 @@ blm_telegraf对telegraf提供服务的端口号。
|
|||
|
||||
### 启动示例
|
||||
通过以下命令启动一个blm_telegraf的API服务
|
||||
```
|
||||
```bash
|
||||
./blm_telegraf -host 127.0.0.1 -port 8089
|
||||
```
|
||||
|
||||
|
@ -213,7 +213,7 @@ telegraf产生的数据格式如下:
|
|||
|
||||
其中,name字段为telegraf采集的时序数据的名称,tags字段为该时序数据的标签。blm_telegraf会以时序数据的名称在TDengine中自动创建一个超级表,并将tags字段中的标签转换成TDengine的tag值,Timestamp作为时间戳,fields字段中的值作为该时序数据的值。因此在TDengine的客户端中,可以通过以下指令查到这个数据是否成功写入。
|
||||
|
||||
```
|
||||
```mysql
|
||||
use telegraf;
|
||||
select * from cpu;
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue