TDengine2.0快速入门

Posted 请叫我东子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TDengine2.0快速入门相关的知识,希望对你有一定的参考价值。

1、TDengine 官网

https://www.taosdata.com/cn/

2、TDengine 简介

TDengine是涛思数据面对高速增长的物联网大数据市场和技术挑战推出的创新性的大数据处理产品,它不依赖任何第三方软件,也不是优化或包装了一个开源的数据库或流式计算产品,而是在吸取众多传统关系型数据库、NoSQL数据库、流式计算引擎、消息队列等软件的优点之后自主开发的产品,在时序空间大数据处理上,有着自己独到的优势。

TDengine的模块之一是时序数据库。但除此之外,为减少研发的复杂度、系统维护的难度,TDengine还提供缓存、消息队列、订阅、流式计算等功能,为物联网、工业互联网大数据的处理提供全栈的技术方案,是一个高效易用的物联网大数据平台。与Hadoop等典型的大数据平台相比,它具有如下鲜明的特点:

  • 10倍以上的性能提升:定义了创新的数据存储结构,单核每秒能处理至少2万次请求,插入数百万个数据点,读出一千万以上数据点,比现有通用数据库快十倍以上。
  • 硬件或云服务成本降至1/5:由于超强性能,计算资源不到通用大数据方案的1/5;通过列式存储和先进的压缩算法,存储空间不到通用数据库的1/10。
  • 全栈时序数据处理引擎:将数据库、消息队列、缓存、流式计算等功能融为一体,应用无需再集成Kafka/Redis/HBase/Spark/HDFS等软件,大幅降低应用开发和维护的复杂度成本。
  • 强大的分析功能:无论是十年前还是一秒钟前的数据,指定时间范围即可查询。数据可在时间轴上或多个设备上进行聚合。即席查询可通过Shell, Python, R, Matlab随时进行。
  • 与第三方工具无缝连接:不用一行代码,即可与Telegraf, Grafana, EMQ, HiveMQ, Prometheus, Matlab, R等集成。后续将支持OPC, Hadoop, Spark等, BI工具也将无缝连接。
  • 零运维成本、零学习成本:安装集群简单快捷,无需分库分表,实时备份。类似标准SQL,支持RESTful, 支持Python/Java/C/C++/C#/Go/Node.js, 与mysql相似,零学习成本。

采用TDengine,可将典型的物联网、车联网、工业互联网大数据平台的总拥有成本大幅降低。但需要指出的是,因充分利用了物联网时序数据的特点,它无法用来处理网络爬虫、微博、微信、电商、ERP、CRM等通用型数据。

3.TDengine应用场景

  • IT基础设施、服务器、机房、各种应用的监测和分析
  • 自行车、汽车、出租、高铁、飞机、轮船等各种出行工具
  • 智能电表、电网骨干网、配网、各种发电设备实时监测和分析
  • 电梯、锅炉、数控机床、挖掘机、各种大型机械设备实时监测
  • 油井开采、石油运输管线、炼化、运输车队、加油站等实时监测
  • 天气、空气、湖泊、河流、地质、森林、环境等的监测
  • 水表、气表、城市管线、智慧家庭、智慧楼宇、智慧城市
  • 上网记录、通话记录、用户行为、金融、证券交易记录
  • 各种物联网、车联网、工业互联网的结构化日志数据处

4.TDengine技术生态

5.TDengine快速安装

TDengine软件分为服务器客户端报警模块三部分,目前2.0版服务器仅能在Linux系统上安装和运行,后续会支持Windows、mac OS等系统。客户端可以在Windows或Linux上安装和运行。任何OS的应用也可以选择RESTful接口连接服务器taosd。CPU支持X64/ARM64/MIPS64/Alpha64,后续会支持ARM32、RISC-V等CPU架构。 您可根据需求选择通过源码或者安装包来安装。

详细安装过程可以参考视频:TDengine视频教程-快速上手

下面我以Docker安装为例,按照TDengine 2.0.14.0版本来演示安装过程。

5.1 TDengine server 快速安装

5.1.1 使用docker search 搜索镜像
docker search tdengine
[root@flink ~]# docker search tdengine
NAME                        DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
taosdata/tdengine                                                           1                                       
tdengine/tdengine                                                           0                                       
tdengine/blm_telegraf       a tdengine API for telegraf write data into 鈥  0                                       
kebyn/tdengine              TDengine building from the source code          0                                       
beyouth/tdengine-server     鍩轰簬tdengine 1.6.6.1 绉樺埗 docker闀滃儚                  0                                       
tdengine/blm_prometheus     An API for prometheus to remote write into T鈥  0                                       
anjia0532/tdengine                                                          0                                       
tdengine/tdengine-aarch64                                                   0                                       
beyouth/tdengine-goclient                                                   0                                       
qdspr/tdengine                                                              0                                       
hzcheng/tdengine                                                            0                                       
rongxiang1986/tdengine                                                      0                                       
tdengine/tdengine-amd64                                                     0                                       
tdengine/bailongma                                                          0                                       
beyouth/tdengine-pyclient                                                   0                                       
tdengine/tdengine-aarch32                                                   0                                       
projax/tdengine                                                             0                                       
tdengine/jdk-client                                                         0                                       
progtramder/tdengine                                                        0                                       
evoup/tdengine                                                              0                                       
yaobo/tdengine-client                                                       0   
5.1.2 使用docker pull 拉去镜像
docker pull taosdata/tdengine
[root@flink ~]# docker pull taosdata/tdengine
Using default tag: latest
latest: Pulling from taosdata/tdengine
8ba884070f61: Pull complete 
82524ff7b83e: Pull complete 
1105581d5a80: Pull complete 
637ef50d3193: Pull complete 
Digest: sha256:4f43e8d41271d0ee1c1ad1cb2160091f3bf4cc9b0ae366caf7f10e8d2b02402e
Status: Downloaded newer image for taosdata/tdengine:latest
docker.io/taosdata/tdengine:latest
5.1.3 使用docker run 命令创建
docker run  --add-host=yc.tdengine.com:192.168.0.200  -d -v /etc/taos:/etc/taos -p 6030:6030 -p 6035:6035 -p 6041:6041 -p 6030-6040:6030-6040/udp tdengine/tdengine:2.0.14.0
[root@flink ~]# docker run  --add-host=yc.tdengine.com:192.168.0.200  -d -v /etc/taos:/etc/taos -p 6030:6030 -p 6035:6035 -p 6041:6041 -p 6030-6040:6030-6040/udp tdengine/tdengine:2.0.14.0
a83b10adc628bf1a055e7b6e7f587d11f4b5d987224f335735b2375fc2e18a90
5.1.4 使用docker ps -l 查询容器是否正常运行
[root@flink ~]# docker ps -l
CONTAINER ID        IMAGE                        COMMAND             CREATED             STATUS              PORTS                                                                                                                                              NAMES
a83b10adc628        tdengine/tdengine:2.0.14.0   "taosd"             4 minutes ago       Up 4 minutes        0.0.0.0:6030->6030/tcp, 6031-6034/tcp, 0.0.0.0:6035->6035/tcp, 6036-6040/tcp, 0.0.0.0:6041->6041/tcp, 0.0.0.0:6030-6040->6030-6040/udp, 6042/tcp   cranky_aryabhata

TDengine Server 端运行已经是ok了。

5.2 TDengine Clinet 安装


下载windows 版本的client。

点击TDengine-client-2.0.14.0-Windows-x86.exe 安装。安装完成之后在C盘会出现一个目录:C:\\TDengine
目录里面会有如下的文件夹:

TDengine采用FQDN(一般就是hostname)作为节点的ID,为保证正常运行,需要给运行taosd的服务器配置好hostname, 在客户端应用运行的机器配置好DNS服务或hosts文件,保证FQDN能够解析。

因此我们需要在本机的host添加

windows在C:\\Windows\\System32\\drivers\\etc目录下有个hosts

在里面添加一行
宿主机ip 容器id(即TDengine内执行hostname的返回值)

例如:

192.168.0.200  a83b10adc628

这样,在客户端的机器上执行taos.exe –h 192.168.0.200 即可

6. TDengine命令行程序

执行TDengine命令行程序,您只要在Windows的控制台执行taos.ext即可

taos.exe

如果TDengine终端连接服务成功,将会打印出欢迎消息和版本信息。如果失败,则会打印错误消息出来(请参考FAQ来解决终端连接服务端失败的问题)。TDengine终端的提示符号如下:

taos>

在TDengine终端中,用户可以通过SQL命令来创建/删除数据库、表等,并进行插入查询操作。在终端中运行的SQL语句需要以分号结束来运行。示例:

create database db;
use db;
create table t (ts timestamp, speed int);
insert into t values ('2019-07-15 00:00:00', 10);
insert into t values ('2019-07-15 01:00:00', 20);
select * from t;
          ts          |   speed   |
===================================
 19-07-15 00:00:00.000|         10|
 19-07-15 01:00:00.000|         20|
Query OK, 2 row(s) in set (0.001700s)

6.1创建/删除数据库、表

Welcome to the TDengine shell from Linux, Client Version:2.0.14.0
Copyright (c) 2020 by TAOS Data, Inc. All rights reserved.

taos> create database db;
Query OK, 0 row(s) affected (0.029000s)

taos> use db;
Query OK, 0 row(s) affected (0.001000s)

taos> create table t (ts timestamp, speed int);
Query OK, 0 row(s) affected (0.127000s)

6.2 查看表、插入数据、并且查询数据

taos> show tables;
           table_name           |      created_time       | columns |          s
table_name           |          uid          |     tid     |    vgId     |
================================================================================
==========================================================================
 t                              | 2021-01-25 11:55:46.284 |       2 |
                     |       844424946914300 |           1 |           3 |
Query OK, 1 row(s) in set (0.756000s)

taos> select * from t;
Query OK, 0 row(s) in set (0.046000s)

taos> insert into t values ('2019-07-15 00:00:00', 10);
Query OK, 1 row(s) affected (0.033000s)

taos> insert into t values ('2020-07-15 00:00:00', 10);
Query OK, 1 row(s) affected (0.001000s)

taos> select * from t;
           ts            |    speed    |
========================================
 2019-07-15 00:00:00.000 |          10 |
 2020-07-15 00:00:00.000 |          10 |

7. TDengine 极速体验

启动TDengine的服务,在windows控制台执行taosdemo

 taosdemo.exe  -h 192.168.0.200 

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

执行这条命令大概需要10分钟,最后共插入10亿条记录,需要约2.1G硬盘空间。

在TDengine客户端输入查询命令,体验查询速度。

以上是关于TDengine2.0快速入门的主要内容,如果未能解决你的问题,请参考以下文章

saltstack快速入门

如何快速向WPF图表添加数据点

R语言使用ggplot2包的快速可视化函数qplot绘制散点图(设置每个数据点的文本标签信息)实战

Go语言使用protobuf快速入门

Adobe Illustrator 中的折线简化如何工作?

5G技术快速问答