1. 几个概念
TSDB: Time Series Database,时序数据库。非关系型数据库,主要用于处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。时序数据库的特点在于:写多于读、顺序写、很少更新、区块删除。因此时序数据库非常契合那些产生频率快、严重依赖于采集时间、测点多信息量大的工业数据,比如:电力、化工、气象等行业。
SQL:Structured Query Language,结构化查询语言。是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;简单点讲就是操作数据库的一种语言。
2. TDengine简介
开发公司是涛思数据,国产的开源时序数据库,具有支持SQL、缓存、流式计算、订阅、集群部署等特点。
下面是2022年11月在DB-Engines网站上时序数据库的排名,可以看到是有进步的。
3. 安装
TDengine支持多种方式的安装,如果不需要他的造数据的demo的话,推荐使用docker安装,安装包的安装会带有一个名为taosBenchmark
的产品性能测试工具,它可以模拟生成数据,测试TDengine的插入、查询和订阅等功能的性能。
这里贴一下docker安装的步骤:
如果已经安装了 Docker,首先拉取最新的 TDengine 容器镜像:
docker pull tdengine/tdengine:latest
或者指定版本的容器镜像:
docker pull tdengine/tdengine:3.0.1.4
然后只需执行下面的命令:
docker run -d -p 6030:6030 -p 6041:6041 -p 6043-6049:6043-6049 -p 6043-6049:6043-6049/udp tdengine/tdengine
更多的安装方式请参考官方文档。
4. 几个概念
库
和关系型数据库的库的概念没有什么区别,库里面存放的是数据表。
超级表 STable
因为TSDB主要的应用场景在工业数据的采集,那么自然会存在许多类型相同的设备需要被采集数据。超级表可以简单看作设备类型的抽象。
子表 Subtable
如果说超级表是模板,代表某种设备类型,那么子表就是具体的设备,子表依赖于超级表。
采集量(Metric)和 标签(Label/Tag)
一个设备需要被监控采集的数据,会动态变化的就是采集量;静态不变的数据比如设备名称等就是标签。
这些只是一部分简化后的概念,更具体的请查阅官方文档。
5. 简单使用SQL操作数据库
在2中我们提到TDengine是支持SQL进行操作的,现在以docker安装的TDengine为例,我们简单说一下怎么用SQL操作TDengine。
首先我们需要进入TDengine的命令行操作界面。
# 进入容器内部
docker exec -it $容器ID bash
# 执行taos命令,进入命令行模式
taos
会出现如下界面:
root@9d229d2bd7b0:~# taos
Welcome to the TDengine Command Line Interface, Client Version:3.0.1.6
Copyright (c) 2022 by TDengine, all rights reserved.
****************************** Tab Completion **********************************
* The TDengine CLI supports tab completion for a variety of items, *
* including database names, table names, function names and keywords. *
* The full list of shortcut keys is as follows: *
* [ TAB ] ...... complete the current word *
* ...... if used on a blank line, display all valid commands *
* [ Ctrl + A ] ...... move cursor to the st[A]rt of the line *
* [ Ctrl + E ] ...... move cursor to the [E]nd of the line *
* [ Ctrl + W ] ...... move cursor to the middle of the line *
* [ Ctrl + L ] ...... clear the entire screen *
* [ Ctrl + K ] ...... clear the screen after the cursor *
* [ Ctrl + U ] ...... clear the screen before the cursor *
**********************************************************************************
Server is Community Edition.
下面是简单的SQL示例:
# 展示数据库
show databases;
# 创建数据库
CREATE DATABASE power KEEP 365 DURATION 10 BUFFER 16 WAL_LEVEL 1;
标签:tdengine,TDengine,数据库,初识,SQL,docker,......
From: https://www.cnblogs.com/datangguanjunhou/p/16910546.html