homework-jianmu/docs/zh/04-get-started/01-docker.md

4.8 KiB
Raw Blame History

sidebar_label title description
Docker 通过 Docker 快速体验 TDengine 使用 Docker 快速体验 TDengine 的高效写入和查询

本节首先介绍如何通过 Docker 快速体验 TDengine然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker请使用安装包的方式快速体验。如果您希望为 TDengine 贡献代码或对内部技术实现感兴趣,请参考 TDengine GitHub 主页下载源码构建和安装。

启动 TDengine

如果已经安装了 Docker首先拉取最新的 TDengine 容器镜像:

docker pull tdengine/tdengine:latest

或者指定版本的容器镜像:

docker pull tdengine/tdengine:3.0.1.4

然后只需执行下面的命令:

docker run -d -p 6030:6030 -p 6041:6041 -p 6043-6060:6043-6060 -p 6043-6060:6043-6060/udp tdengine/tdengine

注意TDengine 3.0 服务端仅使用 6030 TCP 端口。6041 为 taosAdapter 所使用提供 REST 服务端口。6043-6049 为 taosAdapter 提供第三方应用接入所使用端口,可根据需要选择是否打开。

如果需要将数据持久化到本机的某一个文件夹,则执行下边的命令:

docker run -d -v ~/data/taos/dnode/data:/var/lib/taos \
  -v ~/data/taos/dnode/log:/var/log/taos \
  -p 6030:6030 -p 6041:6041 -p 6043-6060:6043-6060 -p 6043-6060:6043-6060/udp tdengine/tdengine

:::note

  • /var/lib/taos: TDengine 默认数据文件目录。可通过[配置文件]修改位置。你可以修改~/data/taos/dnode/data为你自己的数据目录
  • /var/log/taos: TDengine 默认日志文件目录。可通过[配置文件]修改位置。你可以修改~/data/taos/dnode/log为你自己的日志目录

:::

确定该容器已经启动并且在正常运行。

docker ps

进入该容器并执行 bash

docker exec -it <container name> bash

然后就可以执行相关的 Linux 命令操作和访问 TDengine。

Docker 工具自身的下载和使用请参考 Docker 官网文档

TDengine 命令行界面

进入容器,执行 taos

$ taos

taos>

快速体验

体验写入

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 的详细使用方法,请参考taosBenchmark 参考手册

体验查询

使用上述 taosBenchmark 插入数据后,可以在 TDengine CLItaos输入查询命令体验查询速度。

  1. 查询超级表 meters 下的记录总条数
SELECT COUNT(*) FROM test.meters;
  1. 查询 1 亿条记录的平均值、最大值、最小值
SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters;
  1. 查询 location = "California.SanFrancisco" 的记录总条数
SELECT COUNT(*) FROM test.meters WHERE location = "California.SanFrancisco";
  1. 查询 groupId = 10 的所有记录的平均值、最大值、最小值
SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters WHERE groupId = 10;
  1. 对表 d1001 按每 10 秒进行平均值、最大值和最小值聚合统计
SELECT _wstart, AVG(current), MAX(voltage), MIN(phase) FROM test.d1001 INTERVAL(10s);

在上面的查询中使用系统提供的伪列_wstart 来给出每个窗口的开始时间。