TDengine时序数据库第⼀篇——基本介绍及安装
⼀、来吧,展⽰,按照博客潜规则,先来⼀段简介(可忽略):
TDengine是涛思数据专为物联⽹、车联⽹、⼯业互联⽹、IT运维等设计和优化的⼤数据平台。除核⼼的快10倍以上的时序数据库功能外,还提供缓存、数据订阅、流式计算等功能,最⼤程度减少研发和运维的复杂度,且核⼼代码,包括集功能全部开源。
⼆、官⽹copy的性能测试对⽐数据(与InfluxDB)
功能对⽐
TDengine与InfluxDB都能⽤于时序数据的处理,两者在数据库层⾯上功能接近。但TDengine还具备消息队列、缓存、消息订阅等⼤数据平台所需要的功能。使⽤InfluxDB,还需要集成Kafka, Redis或其他类似软件。具体对⽐如下:
总结
从测试结果上看,TDengine的性能远超InfluxDB,写⼊性能约为5倍,读取性能约为35倍,聚合函数性能约为140倍,按标签分组查询性
能约为250倍,按时间分组查询性能约为12倍,压缩⽐约为1.8倍,具体见下表:
下⾯主要介绍1、下载安装;2、TDengine数据库的常⽤结构概念;3、⽀持的数据类型;
三、下载安装:
常见情况基本上是windows上⾯码代码,部署到linux上,且TDengine暂⽆windows服务端,所以需要在linux(centos7.0及以上版本)
上⾯安装TDengine的服务端,在windows上⾯安装TDengine的客户端,以进⾏TDengine的通信。
第⼀步:进⼊官⽹点击⽂档 —》点击快速安装
第⼆步:点击“这⾥”(你也可以直接点击安装包下载,但是建议点击“这⾥”进⼊历史版本下载页)
注意:你可以下载linux的rpm包等等进⾏安装,这⾥我就不演⽰了,我⽤的是docker进⾏安装启动,由于TDengine对于版本要求较严格,且windows客户端版本更新较慢,所以在这个历史版本下载页⾯,你只需要关注“TDengine Windows Client”这⼀栏,看你需要的windows client 的版本进⾏下载,
下载时需要你提供邮箱地址进⾏下载,放⼼提供,很安全0.0,然后,linux服务端进⾏对应版本的下载或者docker镜像安装;如果使⽤docker,切记,不要下载TDengine-client-1.6.的window版本,因为docker中没有1.6.6.1的对应服务端镜像,⾄少我现在没看到。
3.1、windows客户端安装:
我windows下载的是:TDengine-client-1.6.;
下载完成直接点击安装,⼀切默认即可,安装后在C盘可以看到有⼀个TDengine⽂件夹,⾄此,客户端的傻⽠式安装即完成,⽆需其他操作。
3.2、linux服务端安装(docker):
a、docker命令安装镜像:⼀定要⽹络情况良好,如果⽹络不好,建议⽤⼿机流量开热点下载,不然卡到哭。
docker pull tdengine/tdengine:1.6.5.9
b、启动容器:
docker run --name taos1659 -d -v /etc/taos:/etc/taos -v /var/lib/taos:/var/lib/taos -v /var/log/taos:/var/log/taos -p 6020:6020 -p 6035:6035 -p 6041:604启动之后,利⽤:“docker ps ” 看看容器是否启动成功,对于启动命令的⼀些解释:
--name taos1659 是对容器起名称,⽅便后续操作,另外TDengine 版本需要⽤到 6020, 6030-6040 的端⼝。因此,在Docker容器需要与外部建⽴连接时,请绑定相应端⼝。其中,6030到6040的端⼝会⽤到UDP协议,6030,6035和6041这三个端⼝同时还需要⽤到TCP协议,因此,在端⼝映射时需要注意指定协议。
c、进⼊容器:在linux中下载mysql时冲突是什么
docker exec -it taos1659 bash
d、输⼊taos命令进⼊taos数据库:
taos
成功进⼊数据库之后,你会看到下图样⼦,证明你成功了:
四、⼀切准备就绪,我们先来普及TDengine的⼀些基本概念以及建库建表:
TDengine⼤部分语法其实与mysql⼀样,但是,形如select 1 这种sql语句mysql⽀持,TDengine不⽀持。
a、数据库:TDengine的数据库就和我们平时见到的mysql的数据库概念⼀样,没有其他区别,但是,由于TDengine数据库天⽣为了物联⽹服务,在设计时,并没有设计数据删除的功能,所以,如果你需
要进⾏数据删除,可以对数据库进⾏数据过期删除的时间策略进⾏设置,如:CREATE DATABASE test KEEP 365 DAYS;表⽰创建数据库test,这个库的数据将保留365天(超过365天将被⾃动删除);注意:2.0.x以上版本才⽀持过期删除,1.6.x及其以下版本暂不⽀持;
利⽤命令创建数据库test:(我的是1.6.5.9,所以没法设置过期时间)
create database if not exists test;
然后输⼊:"use test;" 进⼊该数据库;
use test;
b、超级表:超级表简单理解就是⼀系列表的分类,如果你的业务不需要分类,其实不⽤超级表也可以,下⾯是官⽅对于超级表的定义:(我没有⽤到超级表,所以没有建⽴超级表)
c、表:最好是每⼀个相同的业务类型或者是设备建⽴⼀张表
利⽤命令建⽴表weather,有3个字段:ts 时间戳,temperature 温度,humidity 湿度:
create table if not exists weather(ts timestamp, temperature int, humidity float);
利⽤insert命令加⼊数据:
insert into weather (ts, temperature, humidity) values (now, 25, 26.3);
插⼊完成,select * from weather; 结果如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论