本文记录一些有效文档地址,其中很多不乏是官方文档的地址。
主要目的是快速定位,节省找文档的时间, 避免找到参差不齐的资料。
文章目录
- 时序数据库选型:
- 建库建表快速入门语句:
- 建表原则
- TDengine资料文档整理:
- 安装教程
- 启动命令:
- 配置:
- 数据库账号密码:
- GUI工具:
- IDEA GUI教程:
- MYSQL er快速入门:
- JDBC jar包:
- 与springboot整合demo:
- 与mybatis plus整合demo:
- 个人已编写的demo(含sql建表语句):
- 数据迁移
时序数据库选型:
TDengine (当前版本3.0.1.7 已知restful连接下时间出现时区问题bug 官方说后续版本会修复)
理由1: 国产开源,开发文档较友好 节约开发成本
文档:/intro/
理由2: 性能效率高
TDengine和influxDB对比:
/taos_data/article/details/118996793
理由3: 官方文档提供运维指南,降低运维成本
/operation/
其它对比:
从 InfluxDB 到 TDengine,我们为什么会做出这个选择:
/user-cases/
建库建表快速入门语句:
taos
(进入数据库)
create database db_test keep 36500;
(建表保留时间 默认单位d)
show databases; (查看数据库是否建成功 极简信息)
create stable db_test.water_device (collect_time timestamp ,current_time timestamp, number float) tags (device_id int,group_id int,location float);
(建表语句)
Show stable;
(查看 超级表是否建成功 极简信息)
create table db_test.water_device_001 using db_test.water_device (device_id) TAGS (111);
(建子表语句,和insert into values类似,如果不指定字段,那就是将tags的值补齐 例如:
create table db_test.water_device_001 using db_test.water_device TAGS (111,001,33.3);
)
(注意:指定字段时 tag_name 也就是示例语句中的 device_id 不能加引号 ,因为官方文档写的比较坑 name给人一种误导,
要是写成tag column就没有歧义了
create table db_test.water_device_001 using db_test.water_device ('device_id') TAGS (111);
这是个错误的语句 )
use information_schema;
(使用系统信息表)
Select * from ins_databases;
(查看数据库详情)
Select * from ins_stables;
(查看超级表详情)
DESCRIBE db_test.water_device;
(获取超级表的表结构信息)
SHOW TABLE TAGS FROM water_device;
(查看超级表中所有子表名及tag信息)
建表原则
建表原则官方文档也有提到,但可能比较绕口,这里我用通俗的语言描述一下:
具体的每一个设备为一张子表,同一种设备为一张超级表。
我的这段话也得到了官方人员的回答 表示理解无误,
官方人员并补充到 TDengine 支持十亿张表都没问题,TDengine 不是 MySQL
TDengine资料文档整理:
安装教程
-
系统要求
在开始安装TDengine之前,需要确保服务器满足以下要求:
Linux操作系统,64位CPU架构。
至少4GB的内存空间,至少10GB的磁盘空间。 -
下载TDengine
下载地址:/get-started/package/注:上图下载安装包时, TDengine厂商会要求填写邮箱,通过邮箱发送给我们真实的下载地址 真实地址为(3.0.1.7版本为例 如果是其它版本 修改url即可) :
/assets-download/3.0/TDengine-server-3.0.1.
不排除未来会变更地址 -
安装TDengine
可以在linux中 先直接通过wget + url的方式尝试,如果url失效行再从windows 下载安装包,并通过sftp软件传输至linux
linux下载命令: wget 加上述url即可,等待下载完成
wget /assets-download/3.0/TDengine-server-3.0.1.
- 解压安装包:
tar -zxvf TDengine-server-3.0.1.
(以当前所在目录为/app 举例,安装包解压目录为 /app/TDengine-server-3.0.1.7/)
- 进入安装目录:
cd TDengine-server-3.0.1.7/
- 安装:
./
遇到提示Enter FQDN:port 直接按回车跳过 (单机部署)
提示留下邮箱 再次按回车跳过
- 配置:
vim /etc/taos/
以下主要可能需要配置的部分:
# 日志路径
logDir /home/TDengine/log
# 数据库的时区
timezone UTC+8
- 启动命令:
服务默认端口:6030
systemctl start taosd
restful默认端口:6041 (restful方式需要额外启动)
systemctl start taosadapter
- 设置账号密码:
官方文档: /taos-sql/grant/
进入数据库:
taos
注:使用taos命令时 可能会出现fqdn的错误 这其实是linux本身配置问题
首先使用 hostname 命令,检查是否正确 如果该命令返回错误的主机名,请使用以下命令修改主机名:
sudo hostnamectl set-hostname <new_hostname>
其中,<new_hostname>是您希望设置的新主机名。
大多数情况下,我们服务器都是已经配置过的 使用hostname是不会报错的, 并且会返回名称
可以使用以下命令打开/etc/hosts文件:
sudo vi /etc/hosts
例如 使用hostname命令 返回的是 bogon, 那么在 127.0.0.1 对应的映射结尾 添加 bogon即可
(也可参考官网的FAQ: /train-faq/faq/)
创建账号密码:
taos> create user bzkj_user pass 'bzkjpass' sysinfo 1;
SYSINFO 表示用户是否可以查看系统信息。1 表示可以查看,0 表示不可以查看。系统信息包括服务端配置信息、服务端各种节点信息(如 DNODE、QNODE等)、存储相关的信息等。默认为可以查看系统信息。
查看用户
SHOW USERS;
删除用户
DROP USER user_name;
修改账号密码:
td默认的账号是root 密码为 taosdata
我们可以使用如下命令修改:
alter USER root PASS ‘yourPassword’
启动命令:
systemctl start taosd
Systemctl start taosAdapter (restful方式需要额外启动该服务)
配置:
/reference/config/
数据库账号密码:
/taos-sql/grant/
GUI工具:
/arielyang/TDengineGUI/releases/tag/1.0.3
注意GUI 1.0.0版本是不支持TDengine3+ 的,我们使用较新的1.0.3
IDEA GUI教程:
/engineering/
注:目前的GUI都不好用,更多的需要配合命令一起使用,
Restful连接方式端口默认为6041,原生默认为6030 需要下载客户端client 版本要与数据库版本保持一致,且两种方式的Driver class不一样
MYSQL er快速入门:
/engineering/
JDBC jar包:
/taosdata/taos-connector-jdbc
下载项目后,maven打包
与springboot整合demo:
/taosdata/TDengine/tree/main/examples/JDBC/springbootdemo
与mybatis plus整合demo:
/taosdata/TDengine/tree/main/examples/JDBC/mybatisplus-demo
个人已编写的demo(含sql建表语句):
/qiuhuanhen/tdengine-demo
数据迁移
例如我们需要将master服务器的TD数据, 迁移至slave服务器
备份数据(master服务器):
首先需要下载taosTool工具, 使用 taosdump命令
下载地址:
/assets-download/3.0/taosTools-2.4.
下载命令:
wget /assets-download/3.0/taosTools-2.4.
解压命令:
tar -zxvf taosTools-2.4.
cd taosTools-2.4.10/bin
创建一个文件夹
(以下载时 位于/app 路径为例,完整目录此时为 /app/taosTools-2.4.10/bin/backup)
mkdir backup
备份命令: 其中 -D demo表示备份 demo这个数据库 , -o 后面表示备份至路径
taosdump -D demo -o /app/taosTools-2.4.10/bin/backup
导入数据(slaver服务器):
我们首先需要将master备份的backup文件夹 ,复制到slaver服务器的 /app目录下
(数据复制到slaver服务器,slaver实现本地导入,不要使用异地导入命令 会有各种问题及bug)
进入taos数据库:
taos
创建数据库
create database demo;
退出数据库
exit
导入:
taosdump -i /app/backup/
接下来可以进入数据库进行验证 查看是否有数据
taos
use demo
select * from table xxx.... limit
注:
-
如果报错提示:reason: Client and server’s time is not synchronized!
要确认客户端和服务器的系统时间是否正确,并且它们的时区设置是否相同,可以按照以下步骤:
在客户端上打开命令行终端或控制台,输入以下命令来查看系统当前的时间和时区设置:date
在服务器上打开命令行终端或控制台,输入以下命令来查看系统当前的时间和时区设置:
date
比较客户端和服务器上的时间和时区设置是否相同。如果它们不同,请使用以下命令来设置正确的时间:
date -s "2023-04-13 14:30:00"
设置时区
timedatectl set-timezone Asia/Shanghai
-
如果提示:taosdump: error while loading shared libraries: .1: cannot open shared object file: No such file or directory
需要安装gcc原子库:
centos:yum install libatomic
Ubuntu/Debian
sudo apt-get update sudo apt-get install libatomic1