安装TDengine数据库3.3版本和TDengine数据库可视化管理工具
- 一、下载安装包
- 二、解压安装包
- 三、部署
- 四、启动服务
- 五、进入数据库
- 六、创建数据库、表和往表中插入数据
- [七、测试 TDengine 性能](#七、测试 TDengine 性能)
- 八、使用数据库
- 九、查询数据
- 十、TDengine数据库可视化界面
一、下载安装包
- TDengine-client-3.3.3.0-Linux-x64.tar.gz
- TDengine-server-3.3.3.0-Linux-x64.tar.gz
二、解压安装包
bash
tar -zxvf TDengine-server-3.3.3.0-Linux-x64.tar.gz
三、部署
bash
cd TDengine-server-3.3.3.0/
./install.sh
四、启动服务
bash
./start-all.sh
bash
./start-all.sh
taosd has been started successfully
taosadapter has been started successfully
taos-explorer has been started successfully
taoskeeper has been started successfully
五、进入数据库
bash
taos
Welcome to the TDengine Command Line Interface, Client Version:3.3.3.0
Copyright (c) 2023 by TDengine, all rights reserved.
********************************* Tab Completion *************************************
* The TDengine CLI supports tab completion for a variety of items, *
* including database names, table names, function names and keywords. *
* The full list of shortcut keys is as follows: *
* [ TAB ] ...... complete the current word *
* ...... if used on a blank line, display all supported commands *
* [ Ctrl + A ] ...... move cursor to the st[A]rt of the line *
* [ Ctrl + E ] ...... move cursor to the [E]nd of the line *
* [ Ctrl + W ] ...... move cursor to the middle of the line *
* [ Ctrl + L ] ...... clear the entire screen *
* [ Ctrl + K ] ...... clear the screen after the cursor *
* [ Ctrl + U ] ...... clear the screen before the cursor *
****************************************************************************************
Server is TDengine Community Edition, ver:3.3.3.0 and will never expire.
taos>
六、创建数据库、表和往表中插入数据
bash
taos> CREATE DATABASE demo;
Create OK, 0 row(s) affected (1.124408s)
taos> USE demo;
Database changed.
taos> CREATE TABLE t (ts TIMESTAMP, speed INT);
Create OK, 0 row(s) affected (0.000997s)
taos> INSERT INTO t VALUES ('2019-07-15 00:00:00', 10);
Insert OK, 1 row(s) affected (0.000910s)
taos> INSERT INTO t VALUES ('2019-07-15 01:00:00', 20);
Insert OK, 1 row(s) affected (0.005860s)
taos> SELECT * FROM t;
ts | speed |
========================================
2019-07-15 00:00:00.000 | 10 |
2019-07-15 01:00:00.000 | 20 |
Query OK, 2 row(s) in set (0.005122s)
七、测试 TDengine 性能
taosBenchmark 是一个专为测试 TDengine 性能而设计的工具,它能够全面评估TDengine 在写入、查询和订阅等方面的功能表现。该工具能够模拟大量设备产生的数据,并允许用户灵活控制数据库、超级表、标签列的数量和类型、数据列的数量和类型、子表数量、每张子表的数据量、写入数据的时间间隔、工作线程数量以及是否写入乱序数据等策略。
启动 TDengine 的服务,在终端中执行如下命令
bash
taosBenchmark -y
系统将自动在数据库 test 下创建一张名为 meters的超级表。这张超级表将包含 10,000 张子表,表名从 d0 到 d9999,每张表包含 10,000条记录。每条记录包含 ts(时间戳)、current(电流)、voltage(电压)和 phase(相位)4个字段。时间戳范围从 "2017-07-14 10:40:00 000" 到 "2017-07-14 10:40:09 999"。每张表还带有 location 和 groupId 两个标签,其中,groupId 设置为 1 到 10,而 location 则设置为 California.Campbell、California.Cupertino 等城市信息。
执行该命令后,系统将迅速完成 1 亿条记录的写入过程。实际所需时间取决于硬件性能,但即便在普通 PC 服务器上,这个过程通常也只需要十几秒。
taosBenchmark 提供了丰富的选项,允许用户自定义测试参数,如表的数目、记录条数等。要查看详细的参数列表,请在终端中输入如下命令
bash
taosBenchmark --help
执行命令taosBenchmark -y
bash
taosBenchmark -y
[10/12 13:53:31.737500] INFO: thread[2] has currently inserted rows: 6680000, peroid insert rate: 57478.902 rows/s
[10/12 13:54:01.626770] INFO: thread[7] has currently inserted rows: 8750000, peroid insert rate: 56196.588 rows/s
[10/12 13:54:01.636041] INFO: thread[0] has currently inserted rows: 8850000, peroid insert rate: 65632.458 rows/s
[10/12 13:54:01.644073] INFO: thread[3] has currently inserted rows: 8720000, peroid insert rate: 59466.463 rows/s
[10/12 13:54:01.714261] INFO: thread[6] has currently inserted rows: 9090000, peroid insert rate: 65726.141 rows/s
[10/12 13:54:01.741624] INFO: thread[5] has currently inserted rows: 9110000, peroid insert rate: 63152.297 rows/s
[10/12 13:54:01.781242] INFO: thread[4] has currently inserted rows: 9460000, peroid insert rate: 74258.246 rows/s
[10/12 13:54:01.783933] INFO: thread[2] has currently inserted rows: 8400000, peroid insert rate: 57245.557 rows/s
[10/12 13:54:01.839000] INFO: thread[1] has currently inserted rows: 8960000, peroid insert rate: 64533.210 rows/s
[10/12 13:54:31.692352] INFO: thread[0] has currently inserted rows: 10630000, peroid insert rate: 59222.784 rows/s
[10/12 13:54:31.738517] INFO: thread[7] has currently inserted rows: 10660000, peroid insert rate: 63429.862 rows/s
[10/12 13:54:31.749352] INFO: thread[6] has currently inserted rows: 11010000, peroid insert rate: 63925.420 rows/s
[10/12 13:54:31.804888] INFO: thread[3] has currently inserted rows: 10600000, peroid insert rate: 62334.218 rows/s
[10/12 13:54:31.836902] INFO: thread[2] has currently inserted rows: 10250000, peroid insert rate: 61557.914 rows/s
[10/12 13:54:31.946442] INFO: thread[5] has currently inserted rows: 11060000, peroid insert rate: 64558.848 rows/s
[10/12 13:54:32.007113] INFO: thread[4] has currently inserted rows: 11290000, peroid insert rate: 60543.903 rows/s
[10/12 13:54:32.014142] INFO: thread[1] has currently inserted rows: 10770000, peroid insert rate: 59983.430 rows/s
[10/12 13:54:55.829381] SUCC: thread[4] progressive mode, completed total inserted rows: 12500000, 68051.64 records/second
[10/12 13:54:58.067199] SUCC: thread[5] progressive mode, completed total inserted rows: 12500000, 67456.82 records/second
[10/12 13:54:58.491784] SUCC: thread[6] progressive mode, completed total inserted rows: 12500000, 67453.45 records/second
[10/12 13:55:00.483286] SUCC: thread[1] progressive mode, completed total inserted rows: 12500000, 65938.78 records/second
[10/12 13:55:01.719979] INFO: thread[0] has currently inserted rows: 12340000, peroid insert rate: 56948.746 rows/s
[10/12 13:55:01.839691] INFO: thread[3] has currently inserted rows: 12360000, peroid insert rate: 58598.302 rows/s
[10/12 13:55:01.858470] INFO: thread[7] has currently inserted rows: 12410000, peroid insert rate: 58100.930 rows/s
[10/12 13:55:01.984463] INFO: thread[2] has currently inserted rows: 12020000, peroid insert rate: 58710.362 rows/s
[10/12 13:55:02.896923] SUCC: thread[7] progressive mode, completed total inserted rows: 12500000, 65533.55 records/second
[10/12 13:55:03.323273] SUCC: thread[3] progressive mode, completed total inserted rows: 12500000, 65662.65 records/second
[10/12 13:55:03.563548] SUCC: thread[0] progressive mode, completed total inserted rows: 12500000, 65438.26 records/second
[10/12 13:55:03.564967] INFO: pthread_join 1 ...
[10/12 13:55:03.565000] INFO: pthread_join 2 ...
[10/12 13:55:04.986802] SUCC: thread[2] progressive mode, completed total inserted rows: 12500000, 65438.63 records/second
[10/12 13:55:04.987292] INFO: pthread_join 3 ...
[10/12 13:55:04.987317] INFO: pthread_join 4 ...
[10/12 13:55:04.987347] INFO: pthread_join 5 ...
[10/12 13:55:04.987361] INFO: pthread_join 6 ...
[10/12 13:55:04.987375] INFO: pthread_join 7 ...
[10/12 13:55:04.988953] SUCC: Spent 213.814175 (real 188.377236) seconds to insert rows: 100000000 with 8 thread(s) into test 467695.84 (real 530849.70) records/second
[10/12 13:55:04.988984] SUCC: insert delay, min: 16.7500ms, avg: 150.7018ms, p90: 240.1580ms, p95: 276.0430ms, p99: 359.5250ms, max: 716.8750ms
八、使用数据库
bash
taos> show databases;
name |
=================================
information_schema |
performance_schema |
demo |
log |
test |
Query OK, 5 row(s) in set (0.018932s)
taos> use test;
Database changed.
九、查询数据
使用上述 taosBenchmark 插入数据后,可以在 TDengine CLI(taos)输入查询命令,体验查询速度。
查询超级表 meters 下的记录总条数
SELECT COUNT(*) FROM test.meters;
bash
taos> SELECT COUNT(*) FROM test.meters;
count(*) |
========================
100000000 |
Query OK, 1 row(s) in set (0.253498s)
查询 1 亿条记录的平均值、最大值、最小值
SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters;
bash
taos> SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters;
avg(current) | max(voltage) | min(phase) |
==================================================================
10.208735134506226 | 258 | 145.0000000 |
Query OK, 1 row(s) in set (4.253205s)
查询 location = "California.SanFrancisco" 的记录总条数
SELECT COUNT(*) FROM test.meters WHERE location = "California.SanFrancisco";
bash
taos> SELECT COUNT(*) FROM test.meters WHERE location = "California.SanFrancisco";
count(*) |
========================
10070000 |
Query OK, 1 row(s) in set (0.038677s)
查询 groupId = 10 的所有记录的平均值、最大值、最小值
SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters WHERE groupId = 10;
bash
taos> SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters WHERE groupId = 10;
avg(current) | max(voltage) | min(phase) |
==================================================================
10.208735134506226 | 258 | 145.0000000 |
Query OK, 1 row(s) in set (0.450205s)
对表 d1001 按每 10 秒进行平均值、最大值和最小值聚合统计
SELECT _wstart, AVG(current), MAX(voltage), MIN(phase) FROM test.d1001 INTERVAL(10s);
bash
taos> SELECT _wstart, AVG(current), MAX(voltage), MIN(phase) FROM test.d1001 INTERVAL(10s);
_wstart | avg(current) | max(voltage) | min(phase) |
============================================================================================
2017-07-14 10:40:00.000 | 10.208735134506226 | 258 | 145.0000000 |
Query OK, 1 row(s) in set (0.025560s)
在上面的查询中,使用系统提供的伪列_wstart 来给出每个窗口的开始时间。
十、TDengine数据库可视化界面
- ip:6060/explorer
用户名为 root,密码为 taosdata