当前位置: 首页 > wzjs >正文

餐饮类网站模板江苏seo哪家好

餐饮类网站模板,江苏seo哪家好,有创意的营销策划案例,从哪里可以建公司网站最近有些物联网、大数据场景的接入需求。在调研时序数据库的时候,看到了一个国产时序数据库,TDengine 以高性能、海量数据写入和丰富协议支持脱颖而出。本人也是刚接触 TDengine,很多东西只是自己片面的见解,被“超级表”、“多端…

最近有些物联网、大数据场景的接入需求。在调研时序数据库的时候,看到了一个国产时序数据库,TDengine 以高性能、海量数据写入和丰富协议支持脱颖而出。本人也是刚接触 TDengine,很多东西只是自己片面的见解,被“超级表”、“多端口协议”、“多种 JDBC 驱动”等概念搞得头大。如有错误,欢迎指正。本文将带你一步步理清思路,讲清楚如何通过 Docker 快速部署 TDengine,并用 DBeaver 连接测试。

一、Docker 部署 TDengine 快速启动示例(单机版)

我是指定的3.0.7版本的。

创建挂载目录:

# 创建数据持久化目录
mkdir -p /data/taos/data /data/taos/log

在 Linux 服务器上,推荐使用以下命令启动 TDengine,并开启适配层 taosAdapter:

启动服务

docker run -d --name tdengine  -p 6030:6030 -p 6041:6041  -p 6043-6049:6043-6049  -p 6043-6049:6043-6049/udp  -p 6060:6060  -v /data/taos/data:/var/lib/taos  -v /data/taos/log:/var/log/taos  -e TAOS_ADAPTER_ENABLED=true   
tdengine/tdengine:3.0.7.0

官方文档:用 Docker 快速体验 TDengine | TDengine 文档 | 涛思数据 

其中有对端口进行描述:

我没理解错的话,6060的taosExplorer就是官方的可视化面板,但是我不知道为啥就是用不了,知道怎么用的小伙伴希望指点一下。

启动失败:

过程中也遇到过一次启动失败:ERROR failed to open mnode since Invalid host name

在 TDengine 3.x 中,每个节点会基于 容器内的 hostname(主机名) 作为唯一标识写入 /var/lib/taos/dnode/dnode.json 文件。

比如之前docker run TDengine 时,它记录了一个 hostname,比如 cde1234567,然后你删容器后重新docker run一个新的,Docker 给你分配了一个新的 hostname,比如 abc9999999。

此时,TDengine 启动时发现:

❌ 之前写入的 hostname 和现在不一致,启动中止。

这叫做 “主机名不一致导致 mnode 加载失败”,官方 FAQ 也有相关描述。

解决方案:

1,停止并删除之前的容器

docker stop tdengine
docker rm tdengine

2,删除主机标识文件(重点)

rm -rf /data/taos/data/dnode

 3,按上面的步骤重启即可。

启动成功

运行成功后,docker ps 查看容器id,然后进入到容器内部:

docker exec -it 176d8c517f1e bash

进入到容器内部后,再输入taos 即可进入到数据库控制台了。

使用起来跟MySQL差不多

# 查看数据库列表
show databases;
# 切换数据库
use test;
# 查看当前数据库内表
show tables;
# 查看当前数据库内超级表
show stables;

体验写入:

官方也提供了一个快速体验的方法,它能自动生成1e条数据

taosBenchmark -y 

你可以对它进行各种计算体验,比如

查询超级表 meters 下的记录总条数:

SELECT COUNT(*) FROM test.meters;

查询 1 亿条记录的平均值、最大值、最小值:

SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters;

查询 location = "California.SanFrancisco" 的记录总条数:

SELECT COUNT(*) FROM test.meters WHERE location = "California.SanFrancisco";

查询 groupId = 10 的所有记录的平均值、最大值、最小值:

SELECT AVG(current), MAX(voltage), MIN(phase) FROM test.meters WHERE groupId = 10;

对表 d1001 按每 10 秒进行平均值、最大值和最小值聚合统计:

SELECT _wstart, AVG(current), MAX(voltage), MIN(phase) FROM test.d1001 INTERVAL(10s);

可以看到它的计算速度还是非常快的。

二、理解 TDengine 的协议与端口

说到数据库,大家伙最熟悉的肯定就是 MySQL 了,那么我就直接用MySQL跟他类比了。MySQL是用 3306 端口直接 TCP 连接,而TDengine 多了个“协议适配层”:

  • taosd (6030) 端口是数据库核心进程的原生 TCP 协议端口。

  • taosAdapter (6041) 是协议“翻译器”,支持 HTTP REST、JDBC、WebSocket 等多种客户端协议。

按我的理解就是:MySQL 的 JDBC 驱动直接连3306端口;TDengine 的 JDBC 驱动一般连6041端口,跟 taosAdapter 通信,taosAdapter再和核心数据库通信。

TDengine 提供的JDBC 驱动协议:

驱动类名协议前缀说明
com.taosdata.jdbc.rs.RestfulDriverjdbc:TAOS-RS://RESTful 协议,默认服务支持,推荐使用
com.taosdata.jdbc.ws.WebSocketDriverjdbc:TAOS-WS://WebSocket 协议,需服务端特殊配置

三、超级表是什么

在 TDengine 中,我们可以先定义一个 “通用模板”(这个模板就叫超级表),然后往里动态生成很多子表(不同设备、不同地点),这些子表就可以共用结构,还能加上自己的标签。超级表 = 带模板的表结构 + 自动建分表 + 带标签的时间序列数据表。

用 MySQL 的思维比喻一下

你在 MySQL 中会怎么建一张设备表?

CREATE TABLE device_data (id INT AUTO_INCREMENT,device_id VARCHAR(32),location VARCHAR(32),time DATETIME,temperature FLOAT
);

每一条记录都要带上 device_id、location 对不对。

而在 TDengine 里可以这么干

你定义一个超级表(Super Table):

CREATE STABLE sensor_data (ts TIMESTAMP, temperature FLOAT
) TAGS (location BINARY(32)
);

然后每个设备都相当于基于这个模板派生一个子表

-- 设备1:room1
CREATE TABLE d1 USING sensor_data TAGS ('room1');-- 设备2:room2
CREATE TABLE d2 USING sensor_data TAGS ('room2');

注意:你不再需要字段中携带 location,而是作为“标签”存在元数据中。

接下来插入数据:

INSERT INTO d1 VALUES (now, 23.5);
INSERT INTO d2 VALUES (now, 26.1);

其实就是一种水平分表思路。

超级表的 3 个核心优势

特性

说明

类比

表结构复用

所有子表都继承超级表的字段结构

Java 的继承类

标签字段

用于区分不同子表的“属性”(不在数据表中)

类似 MySQL 的冗余字段

查询效率

自动分区、自动索引、压缩,查询时自动合并结果

水平分表 + 聚合查询

查询方式

1,查某个设备的数据(查某个子表):

SELECT * FROM d1;

2,所有设备的数据(查超级表聚合所有子表,它会自己替你聚合所有表!):

SELECT * FROM sensor_data;

3,按标签筛选设备(只查 room1):

SELECT * FROM sensor_data WHERE location = 'room1';

举个例子:

比如我们现在业务场景是记录政客的支持率变化。每个政客都有自己的“时间序列数据”。

1,创建超级表(Super Table)

CREATE STABLE IF NOT EXISTS politician_support (ts TIMESTAMP,         -- 时间戳(必需)support_rate FLOAT    -- 支持率(浮点型)
) TAGS (politician_id BINARY(32)  -- 政客ID,做为标签
);

2,为每个政客创建子表(继承模板)

-- Biden 的子表
CREATE TABLE biden_support USING politician_support TAGS ('biden');-- Trump 的子表
CREATE TABLE trump_support USING politician_support TAGS ('trump');

3,抓取政客的支持率数据(实际场景肯定有个抓取程序或者人工不断的填写最新数据,我们这里插入两条模拟一下就行了)

-- Biden 支持率
INSERT INTO biden_support VALUES (now, 48.5);
INSERT INTO biden_support VALUES ('2025-07-07 10:00:00', 47.8);-- Trump 支持率
INSERT INTO trump_support VALUES (now, 46.1);
INSERT INTO trump_support VALUES ('2025-07-07 10:00:00', 49.2);

4,查询支持率数据(单政客 or 所有政客)

比如要查拜登的

SELECT * FROM biden_support;

查询所有政客(查超级表,会自动聚合所有子表)

SELECT * FROM politician_support;

附加功能(按时间聚合)比如我们想看过去一天各政客的支持率平均值(TDengine 自带时间聚合函数):

SELECT AVG(support_rate) FROM politician_support 
WHERE ts > now - 1d 
GROUP BY TAGS;

四、关于时间戳

时间戳在时序数据库中是显式的、必须写入的核心字段。TDengine是时序数据库,自然也是这样的。而 TDengine 支持的时间格式有多种:

  • '2025-07-07 10:00:00'(字符串)
  • now(当前时间)
  • 1657187260000(毫秒时间戳)

TDengine 会自动把 '2025-07-07 10:00:00' 字符串转换成它内部使用的 TIMESTAMP 类型,精度为毫秒(ms)。这个过程是 自动的,无需手动转换。查询时再自动转换为格式化时间返回。

但是这样要考虑的一个问题是时区问题。因此我个人建议在应用层 统一使用时间戳(毫秒)入库,比如Java的就是:

long now = System.currentTimeMillis(); // UTC 毫秒时间戳

五、DBeaver 连接 TDengine 全流程

1. 下载 DBeaver

官方下载地址: Download | DBeaver Community

一直点击下一步就行:

2. 连接 TDengine

新建连接,搜索td 就能看到了。我们选择TDengine

打开后,我记得这里是有个下载驱动的按钮。因为我已经装过了,所以没有。按着它的指示下载驱动即可。然后编辑驱动设置:

驱动类这块,默认应该是ws的,前面我们也提到了,连接时推荐走 taosAdapter(6041端口),用 RESTful JDBC 驱动。所以我们改成:

com.taosdata.jdbc.rs.RestfulDriver

然后要更新一下驱动:

在这里可以指定驱动版本并下载即可:

选择TDengine相对应的版本即可。我是用的3.0.7的,没有对应的,所以选择了一个相近的版本3.0.4。

六、总结

本文分享了一些TDengine的一些入门使用。主要我自己在使用的时候遇到了不少问题,而且总觉得官方文档哪里有点怪怪的,国内开源部分依旧是任重而道远啊。但很值得认可的是TDengine的性能在体验中还是能达到官方给定的数据的,感谢涛思数据的开源。希望这篇博客能帮你快速理清 TDengine 部署和连接的“坑”,后续我还会分享 Java 调用示例及实战技巧,欢迎关注!如果有任何问题,欢迎评论交流。

http://www.dtcms.com/wzjs/66774.html

相关文章:

  • 钢筋网片生产厂家南京seo排名
  • 山东临沂网站建设百度收录技巧
  • 如何注册公司需要多少资金汕头seo排名收费
  • 开源网站建设工具免费b站推广网站链接
  • 怎么投诉网站制作公司能打开各种网站的浏览器下载
  • seo综合查询站长工具怎么用b2b平台推广网站
  • 万网 网站建设网络优化工程师是干什么的
  • 电商 做图 网站有哪些湖北seo推广
  • 关于网站运营的问题百度关键词价格查询
  • 网站自动生成seo sem
  • 家居网站建设咨询2021时事政治热点50条
  • 莱钢建设网站微信朋友圈广告推广代理
  • 坪地网站制作成都网站推广
  • 上海 bc网站建设aso安卓优化
  • 阜阳企业做网站如何用模板做网站
  • 网站建设上门按摩哪家好佛山网站营销推广
  • 网站做伪静态wordpress免费建站
  • 建模e-r跟做网站有什么关系不知怎么入门
  • 网站外包开发 代码的版权问题seo建站营销
  • 做外汇的人一般看什么网站互联网app推广具体怎么做
  • 有关做详情页的参考网站汕头企业网络推广
  • 英雄联盟做的广告视频网站信息流投放
  • 建设工程质量网站2023年九月份新闻
  • 网站建设页面大小b2b外链代发
  • dedecms改WordPress网站上不去首页seo要怎么办
  • 汕头模板做网站怎么样做seo
  • 什么网站可以做数据调查问卷免费制作网站app
  • 网站开发公司 经营范围天津百度推广排名优化
  • 网站做推广 建设哪种类型合适关键词优化案例
  • 蓝色商务网站模板东莞网站优化