TDengine使用(一)——TDengine下载与安装

TDengine 开源、高效的物联网大数据平台

TDengine是涛思数据专为物联网、车联网、工业互联网、IT运维等设计和优化的大数据平台。除核心的快10倍以上的时序数据库功能外,还提供缓存、数据订阅、流式计算等功能,最大程度减少研发和运维的复杂度,且核心代码,包括集群功能全部开源。

为什么使用TDengine?

官网上对此有介绍:

为什么使用TDengine
其在物联网领域拥有广阔的应用场景:

TDengine应用场景
更多内容可以看涛思创始人的这两篇博客:物联网、车联网、工业互联网大数据平台,为什么推荐使用TDengine?、通用大数据架构为什么不适合处理物联网数据?。

另外其对物联网和工业互联网大数据特点总结的这篇博客(物联网、工业互联网大数据的特点)也很有意义。物联网、工业互联网大数据的特点:

  • 时序的,一定带有时间戳;
  • 结构化的;
  • 数据极少有更新操作;
  • 数据源是唯一的;
  • 相对于互联网应用,读多写少;
  • 用户关心的是一段时间的趋势;
  • 数据是有保留期限的;
  • 数据的查询往往是基于时间段和某组设备的;
  • 除存储查询外,往往需要实时分析计算操作;
  • 流量平稳可预测;
  • 数据量巨大;

TDengine使用SQL接口,学习成本低。另外其安装、部署和维护简单。

在CentOS7.6中使用TDengine

本部分基于TDengine文档

下载与安装

安装参考文档:

  1. 立即开始
  2. TDengine多种安装包的安装和卸载

这里我选择的是通过安装包安装,因为我使用的是CentOS7.6,因此我选择下载TDengine-server-2.0.8.0-Linux-x64.rpm(4.2M)

1# 安装 2rpm -iv TDengine-server-2.0.8.0-Linux-x64.rpm 3 4

启动TDengine

1# 启动TDengine 2systemctl start taosd 3# 检查TDengine是否正常工作 4systemctl status taosd 5 6

启动

TDengine命令行程序

1# 打开TDengine终端 2taos 3 4

成功打开TDengine终端

命令行参数:

  • -c,--config-dir

  • 指定配置文件目录,默认为/etc/taos;

  • -h,--host

  • 指定服务的FQDN,默认为本地服务;

  • -s,--commands

  • 在不进入终端的情况下运行TDengine命令;

  • -u,--user

  • 连接TDengine服务器的用户名,缺省为root;

  • -p,--password

  • 连接TDengine服务器的密码,缺省为taosdata;

  • -?,--help

  • 打印出所有命令行参数;

在TDengine终端中,用户可以通过SQL命令来创建/删除数据库、表等,并进行插入查询操作。在终端中运行的SQL语句需要以分号结束来运行。
除执行SQL语句外,系统管理员还可以从TDengine终端检查系统运行状态,添加删除用户账号等。

另外,在TDengine终端可以通过source命令来运行SQL命令脚本。

1# taos> sql命令 2source <脚本名称> 3 4

测试Demo

官方也给提供了测试Demo,方便对比其与其他类型数据库的性能。

首先在Linux系统终端下运行taosdemo命令,其将在涛思数据库中创建一个test数据库。大约需要十分钟,2.1G硬盘空间。其有十亿条数据记录。

数据库test下面自动创建一张超级表meters,该超级表下有1万张表,表名为"t0" 到"t9999",每张表有10万条记录,每条记录有 (f1, f2, f3)三个字段,时间戳从"2017-07-14 10:40:00 000" 到"2017-07-14 10:41:39 999",每张表带有标签areaid和loc, areaid被设置为1到10, loc被设置为"beijing"或者“shanghai"。

1# 查询超级表下记录总条数 2select count(*) from test.meters; 3# 查询10亿条记录的平均值、最大值、最小值等: 4select avg(f1), max(f2), min(f3) from test.meters; 5# 查询loc="beijing"的记录总条数: 6select count(*) from test.meters where loc="beijing"; 7# 查询areaid=10的所有记录的平均值、最大值、最小值等: 8select avg(f1), max(f2), min(f3) from test.meters where areaid=10; 9# 对表t10按10s进行平均值、最大值和最小值聚合统计: 10select avg(f1), max(f2), min(f3) from test.t10 interval(10s); 11 12

此外,taosdemo命令自带很多选项,包括配置表的数目、记录条数等等。可执行taosdemo --help来查看详细列表。

卸载

1# 卸载 2rpm -e tdengine 3 4

代码交流 2021