用安装包快速体验 TDengine TSDB
本页介绍如何使用安装包快速安装 TDengine TSDB Enterprise,并完成一次基础体验:启动服务、进入 shell、写入数据和查询数据。如果你希望为 TDengine 贡献代码,或对内部技术实现感兴趣,请参考 TDengine GitHub 主页。
前提条件
请先确认已经完成以下准备:
- 已经选择要安装 TDengine 的操作系统环境。
- Linux 环境需要具备
sudo权限;Windows 环境需要使用管理员权限运行相关命令。
安装
- Linux 系统
- Windows 系统
-
从列表中下载 tar.gz 安装包:
-
进入到安装包所在目录,使用
tar解压安装包,以 x64 架构为例:tar -zxvf tdengine-tsdb-enterprise-{{VERSION}}-linux-x64.tar.gz -
进入解压后的目录,执行
install.sh安装脚本。sudo ./install.sh
- 从列表中下载最新 Windows 安装程序:
- 运行安装程序,根据提示完成 TDengine 的安装。
更多类型和版本的安装包,请前往 TDengine 产品下载中心 下载。
启动服务
- Linux 系统
- Windows 系统
完成安装后,在终端执行以下脚本,启动所有服务:
sudo start-all.sh
TDengine 的所有组件均使用 systemd 进行服务管理。可以使用以下命令查看服务状态:
sudo systemctl status taosd
sudo systemctl status taosadapter
sudo systemctl status taoskeeper
sudo systemctl status taos-explorer
如果服务状态中包含 Active: active (running) since ...,说明服务已经启动成功。
安装完成后,以管理员身份打开一个 cmd 窗口。start-all.bat 是统一入口脚本,无参数时默认执行启动,也支持 status 和 stop 子命令。
启动所有服务:
C:\TDengine\start-all.bat
查看服务状态:
C:\TDengine\start-all.bat status
停止所有服务:
C:\TDengine\start-all.bat stop
如果需要分别查看各个 Windows Service 的原始状态,可以使用以下命令:
sc query taosd
sc query taosadapter
sc query taosx
sc query taoskeeper
sc query taos-explorer
如果 start-all.bat status 中显示服务状态为 running,或者 sc query 输出中包含 RUNNING,则说明对应服务已经启动成功。
快速体验
打开命令行
TDengine 提供命令行工具 taos shell,可用于检查服务状态、执行 SQL、管理数据库和表。进入 shell 后,你可以直接体验写入和查询功能。
在 Linux 或 macOS 终端中执行:
taos
在 Windows 中执行:
taos.exe
进入 shell 后,提示符如下:
taos>
在 shell 中,SQL 语句需要以分号(;)结尾。下面的示例会创建数据库、写入两条数据并查询结果:
CREATE DATABASE demo;
USE demo;
CREATE TABLE t (ts TIMESTAMP, speed INT);
INSERT INTO t VALUES ('2019-07-15 00:00:00', 10);
INSERT INTO t VALUES ('2019-07-15 01:00:00', 20);
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.003128s)
除执行 SQL 外,你还可以通过 shell 检查系统运行状态、管理用户账号等。shell 和应用驱动也可以独立安装在其他机器上运行,详情请参考 TDengine 命令行。
写入测试数据
taosBenchmark 是 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 的详细使用方法,请参考 taosBenchmark 参考手册。
查询测试数据
使用 taosBenchmark 写入数据后,可以在 shell 中执行下面的查询,体验查询速度。
- 查询超级表
meters下的记录总条数:
SELECT COUNT(*) FROM test.meters;
count(*) |
===================
100000000 |
Query OK, 1 row(s) in set (0.075247s)
- 查询 1 亿条记录的平均值、最大值和最小值:
SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters;
avg(current) | max(voltage) | min(phase) |
===============================================
10.2084751316071 | 258 | 145 |
Query OK, 1 row(s) in set (0.094037s)
- 查询
location = "California.SanFrancisco"的记录总条数:
SELECT COUNT(*) FROM test.meters WHERE location = "California.SanFrancisco";
count(*) |
===================
10340000 |
Query OK, 1 row(s) in set (0.050540s)
- 查询
groupId = 10的所有记录的平均值、最大值和最小值:
SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters WHERE groupId = 10;
avg(current) | max(voltage) | min(phase) |
===============================================
10.2084751316071 | 258 | 145 |
Query OK, 1 row(s) in set (0.033754s)
- 对表
d1001按每 10 秒进行平均值、最大值和最小值聚合统计:
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.2084751316071 | 258 | 145 |
Query OK, 1 row(s) in set (0.004716s)
在上面的查询中,系统伪列 _wstart 表示每个窗口的开始时间。
进阶体验
完成以上内容后,你可以继续体验以下任务:
下一步
完成上述快速体验后,你可以继续阅读后续章节,进一步了解 TDengine 的数据建模、写入、查询、数据订阅和流式计算等能力。








