一、下载安装包

  • TDengine-client-3.3.3.0-Linux-x64.tar.gz
  • TDengine-server-3.3.3.0-Linux-x64.tar.gz

二、解压安装包

tar -zxvf TDengine-server-3.3.3.0-Linux-x64.tar.gz

三、部署

cd TDengine-server-3.3.3.0/
./install.sh

四、启动服务

./start-all.sh 
./start-all.sh 
taosd has been started successfully
taosadapter has been started successfully
taos-explorer has been started successfully
taoskeeper has been started successfully

五、进入数据库

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> 

六、创建数据库、表和往表中插入数据

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 的服务,在终端中执行如下命令

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 提供了丰富的选项,允许用户自定义测试参数,如表的数目、记录条数等。要查看详细的参数列表,请在终端中输入如下命令

taosBenchmark --help

执行命令taosBenchmark -y

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

八、使用数据库

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;

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;

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”;

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;

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);

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

在这里插入图片描述

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部