TDengine 是一款开源、云原生的时序数据库,专为物联网、工业互联网、金融、IT 运维监控等场景设计并优化。它能让大量设备、数据采集器每天产生的高达 TB 甚至 PB 级的数据得到高效实时的处理,对业务的运行状态进行实时的监测、预警,从大数据中挖掘出商业价值。官网地址https://www.taosdata.com/ 

Docker环境准备(Centos7.X环境)

curl -sSL https://get.daocloud.io/docker | sh
systemctl start docker
systemctl enable docker

下载镜像

docker pull tdengine/tdengine

启动 TDengine

# 启动容器

docker run -d --name tdengine--restart=always -p 6030:6030 -p 6041:6041 -p 6043-6049:6043-6049 -p 6043-6049:6043-6049/udp tdengine/tdengine

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

docker ps

# 进入该容器并执行 bash

docker exec -it <container name> bash

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

运行 TDengine CLI

# 进入容器,执行 taos

$ taos
taos>

 TDengine CLI写入

 使用 taosBenchmark工具,初始化数据,这条命令很快完成 1 亿条记录的插入 

$ taosBenchmark

   该命令将在数据库 test 下面自动创建一张超级表 meters,该超级表下有 1 万张表,表名为 d0 到 d9999,每张表有 1 万条记录,每条记录有 tscurrentvoltagephase 四个字段,时间戳从 2017-07-14 10:40:00 000 到 2017-07-14 10:40:09 999,每张表带有标签 location 和 groupId,groupId 被设置为 1 到 10,location 被设置为 California.CampbellCalifornia.CupertinoCalifornia.LosAngelesCalifornia.MountainViewCalifornia.PaloAltoCalifornia.SanDiegoCalifornia.SanFranciscoCalifornia.SanJoseCalifornia.SantaClara 或者 California.Sunnyvale

TDengine CLI 查询

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

查询超级表 meters 下的记录总条数:

SELECT COUNT(*) FROM test.meters;

查询 1 亿条记录的平均值、最大值、最小值等:

SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters;

查询 location = "California.SanFrancisco" 的记录总条数:

SELECT COUNT(*) FROM test.meters WHERE location = "California.SanFrancisco";

查询 groupId = 10 的所有记录的平均值、最大值、最小值等:

SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters WHERE groupId = 10;

对表 d10 按 10 每秒进行平均值、最大值和最小值聚合统计:

SELECT FIRST(ts), AVG(current), MAX(voltage), MIN(phase) FROM test.d10 INTERVAL(10s);

更多信息,参见特色查询

总结

 Docker比较简单,可以快速上手。Tdengine 还真的是不错的时序数据库,保留了关系型数据库查询的语法糖。物联网数据结构相比简单,但数据量盘大。根据这一特点 Tdengine 做了很多优化,支持海量数据处理。加上有公司在背后做技术支持。非常不错。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐