docker搭建TDengine环境

TDengine 是涛思数据旗下一款产品开源、云原生的时序数据库(Time Series Database),已在2018年8月推出正式商业化版本。TDengine不依赖任何开源或第三方软件,拥有完全自主知识产权,具有高性能、高可靠、可伸缩、零管理、简单易学等技术特点。 [1] 提供缓存、数据订阅、流式计算等功能,最大程度减少研发和运维的复杂度。
TDengine官方文档

一.TDengin 安装

1.拉取TDengine镜像

docker pull tdengine/tdengine:latest

2.使用docker安装tdengine需映射网络端口和文件夹,时间较长

sudo docker run -d --name tdengine -h tdengine -p 6041:6041 -p 6030-6035:6030-6035 -p 6030-6035:6030-6035/udp tdengine/tdengine:latest

3.通过 docker exec 命令,进入到 docker 容器,进入TDengine客户端

docker exec -it tdengine /bin/bash

4.应用示例:在宿主机使用 taosBenchmark 写入数据到 Docker 容器中的 TDengine server

在tdengine容器里执行

taosBenchmark 

回车后,该命令将在数据库 test 下面自动创建一张超级表 meters,该超级表下有 1 万张表,表名为 “d0” 到 “d9999”,每张表有 1 万条记录,每条记录有 (ts, current, voltage, phase) 四个字段,时间戳从 “2017-07-14 10:40:00 000” 到 “2017-07-14 10:40:09 999”,每张表带有标签 location 和 groupId,groupId 被设置为 1 到 10, location 被设置为 “California.SanFrancisco” 或者 “California.SanDieo”。
最后共插入 1 亿条记录。

进入客户端程序

taos

查看数据库

show databases;

查看超级表

use test;

查询表,限制输出十条

select * from test.d0 limit 10;

二.TDengine 建表

1.创建库

CREATE DATABASE sin KEEP 365 DAYS 10 BLOCKS 6 UPDATE 1;

上述语句将创建一个名为 sin 的库,这个库的数据将保留 365 天(超过 365 天将被自动删除),每 10 天一个数据文件,内存块数为 6,允许更新数据。

创建库之后,需要使用 SQL 命令 USE 将当前库切换过来

USE sin;

2.创建超级表

一个物联网系统,往往存在多种类型的设备,比如对于电网,存在智能电表、变压器、母线、开关等等。为便于多表之间的聚合,使用 TDengine, 需要对每个类型的数据采集点创建一个超级表。

CREATE STABLE gl07 (ts timestamp,value int) TAGS (groupId int);

3.创建表

TDengine 对每个数据采集点需要独立建表。与标准的关系型数据库一样,一张表有表名,Schema,但除此之外,还可以带有一到多个标签。创建时,需要使用超级表做模板,同时指定标签的具体值。

CREATE TABLE d1008 USING gl07 TAGS (1008);

4.自动建表

在某些特殊场景中,用户在写数据时并不确定某个数据采集点的表是否存在,此时可在写入数据时使用自动建表语法来创建不存在的表,若该表已存在则不会建立新表且后面的 USING 语句被忽略。

INSERT INTO d1009 USING gl07 TAGS (1009) VALUES (now, 9);

验证是否创建

select * from d1009;

TDengine SQL写入数据
1.写入一条数据,子表不存在自动创建

INSERT INTO d1009 USING gl07 TAGS (1009) VALUES (now, 10);

2.写入一条数据

INSERT INTO d1001 VALUES (now, 34);

3.写入多条数据

INSERT INTO d1001 VALUES (now,14) (now,16);

猜你喜欢

转载自blog.csdn.net/sinat_35773915/article/details/132034296