
TDengine
文章平均质量分 90
Heartsuit
物联网平台架构师,优快云博客专家,阿里云专家博主,PMI认证项目管理专家(PMP),具备物联网、云原生、大数据等领域的研发经验。
展开
-
云原生之运维监控实践-使用taosKeeper与TDinsight实现对TDengine服务的监测告警
介绍了如何使用TDengine、taosKeeper和TDinsight来实现对TDengine服务的状态监测和告警功能。详细记录了在两台虚拟机上的安装过程,包括在服务节点上使用Docker安装最新版的TDengine3.3.3.0,以及在监控节点上安装Grafana和TDinsight插件。此外还展示了如何配置Grafana数据源、导入TDinsight仪表板,以及设置告警规则和通知策略。最后,通过模拟压力测试,演示了如何触发磁盘空间不足的告警,并通过钉钉接收告警推送和解除通知。原创 2024-10-17 11:22:41 · 969 阅读 · 0 评论 -
基于DataX的海量时序数据迁移实战:从MySQL到TDengine3.x
MySQL 数据库中,设备历史数据单表过亿,如何快速、低成本地迁移到 TDengine3.x 中?从标题可以看出,我们使用的数据迁移/同步工具是 DataX ,数据源( Source )为传统的关系型数据库 MySQL ,目标库( Sink )为新型的具有场景特色的时序数据库 TDengine 。以上便是基于 DataX 完成从 MySQL 到 TDengine3.x 的时序数据迁移实战记录,借助 DataX 工具,通过配置文件驱动的方式完成了海量时序数据的快速迁移。原创 2023-05-28 11:38:44 · 3830 阅读 · 17 评论 -
TDengine3.0全方位安装体验与数据订阅进阶功能实践
这篇文章的内容主要是对最新发布的TDengine3.x安装体验以及数据订阅功能的实践。其中,数据订阅的场景为:在一系列的监测电压、电流、温度的时序数据中,一旦发现温度值超过50℃时,进行告警。在实际中,当消费了告警数据后,可以进行告警推送:短信、邮箱、钉钉、企业微信、飞书、 WebHook 等,就像下面我们项目中的这样,可选多种告警推送方式。原创 2023-01-02 22:25:07 · 2002 阅读 · 1 评论 -
TDengine极简实战:从采集到入库,从前端到后端,体验物联网设备数据流转
作者:牛晓青背景我们的项目涉及物联网相关业务,由于一开始的年少无知,传感器数据采用了 MySQL 进行存储,经过近两年的数据累积,目前几个核心表单表数据已过亿,虽然通过索引优化、 SQL 优化以及读写分离等措施,勉强满足基本的查询,能在秒级给出数据;但是数据量还在持续增加,当面对用户多维度的统计需求,在实现上、效率上总是那么不尽如人意。。大概是2021年的6月份,一次偶然的机会,我在一个技术交流群中了解到涛思数据。后来花了三五天,把 TDengine 官网的文档过了一遍,并通过实际代码体验了一番,大大原创 2022-01-09 22:15:52 · 15606 阅读 · 19 评论 -
14-TDengine安装报警模块实现报警监测Webhook回调与邮件推送
背景在之前的关于 TDengine 的系列文章中,我们只介绍到了 Server 端与 Client 端,除此之外,官方还有一个报警模块,用以根据用户定义的规则实现近实时的报警监测。本文是结合 TDengine 官方文档的具体实践,先是结合 Prometheus 的 AlertManager 实现报警推送;然后将 TDengine 产生的报警信息推送到我们自己编写的 SpringBoot 的 Web 服务回调,并完成 WebSocket 推送、告警邮件推送。场景在一系列的监测电压、电流、温度的时序数据中原创 2021-11-15 09:56:57 · 4077 阅读 · 15 评论 -
13-TDengine使用JDBC-JNI连接报错:JNI connection is NULL
背景中午睡了一觉,起来发现连不上我的 TDengine 服务了。。最近刚换了电脑,没错,这次的事故又是换电脑引发的。。服务报错SpringBoot项目的控制台错误信息: java.sql. SQLException: JNI ERROR (2354): JNI connection is NULL这个问题我曾经在这篇文章2-TDengine客户端连接,RESTful,JDBC里也遇到过, 当时是因为我没有开放 6030 的 UDP 端口,可是现在我连整个防火墙都关了。无奈之下,又到官网重温下客户原创 2021-11-11 15:53:14 · 8065 阅读 · 0 评论 -
12-TDengine数据迁移:导入与导出
背景对于数据库的运维,免不了数据迁移,对数据库表进行导入与导出; TDengine 官方提供了各类数据导入、导出方式。下面就体验下不同的导入、导出方法。数据导出:taosdumpcsv数据导入:sourcecsvtaosdump数据导出数据导出:taosdumptaosdump主要参数含义:-o:指定输出文件的路径。文件会自动生成。-u:用户名。-p:密码。-A:指示导出所有数据库的数据。-D:表示指定数据库。-i:表示输入目录。-s:表示导出s原创 2021-09-24 08:32:47 · 13140 阅读 · 1 评论 -
11-TDengine集成EMQX:通过规则引擎实现设备数据直接入库
背景曾使用过 IoTDB 自带的 MQTT Broker 实现了设备数据入库,那么使用 TDengine 时,我们可以借助 EMQX (一款优秀的国产开源 MQTT Broker )的规则引擎结合 TDengine 的 RESTful API 完成设备数据的路由与入库。用到的工具TDengine RESTful APIEMQX 规则引擎TDengine GUI图形化管理工具Node.js下的MQTT客户端虚拟机CentOS操作系统版本信息TDengine: 2.2.0.0E原创 2021-09-23 12:50:09 · 2997 阅读 · 0 评论 -
10-TDengine之SpringBoot读取的时间与数据库中存储的时间相差8小时
背景一开始的配置内容如下,重点关注数据库连接时的 timezone ,这也是 TDengine 官方集成 MyBatisPlus 时的 demo 里的配置方式;spring: datasource: driver-class-name: com.taosdata.jdbc.TSDBDriver url: jdbc:TAOS://hadoop1:6030/iot?charset=UTF-8&locale=en_US.UTF-8&timezone=UTC-8 us原创 2021-09-16 14:11:01 · 2838 阅读 · 0 评论 -
9-TDengine低版本分页offset出现bug,如何平滑升级版本、迁移数据
背景为什么要对 TDengine 进行升级?从一开始使用 TDengine 就选了当时最新的版本 2.1.2.0 ,这个版本应该也不算旧了。不过今天在使用其分页功能查询表时,发现了一个问题, TDengine 毕竟是一款新的数据库,有问题也很正常。[root@hadoop2 ~]# taos --versionversion: 2.1.2.0问题复现前端页面点击不同页码后,表格的数据不变。。。使用 SpringBoot 集成了 TDengine , MyBatisPlus 后,在对一些表中原创 2021-09-10 15:12:05 · 1394 阅读 · 0 评论 -
8-TDengine里用的好好的字段名,却被MySQL的保留字狠狠上了一课
背景使用 TDengine 集成 MyBatistPlus 后,对我自己建的数据表进行分页查询时闪退,同时有条信息: Process finished with exit code -1073741819 (0xC0000005) 。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hRjFLf1o-1631184558525)(https://github.com/heartsuit/heartsuit.github.io/raw/master/pictures/2021-原创 2021-09-09 18:56:19 · 673 阅读 · 0 评论 -
7-TDengine集成Grafana实现日志数据可视化
背景目前我们已经使用 TDengine 存储了大量的数据,这些数据一般要求以各种方式呈现给用户或者统计后传给上层业务。作为一款时序数据库,非常适合存储结构化的日志数据,类似于 InfluxDB , TDengine 可以方便地与 Grafana 进行集成,整个过程无需任何代码开发, TDengine 中数据表的内容可以在仪表盘上进行可视化展现。这次我们先以 TDengine 自行记录的日志以及官方提供的 tdengine-grafana.json 数据屏来演示。Note: TDengine 2.1.2.原创 2021-08-02 08:53:50 · 1511 阅读 · 0 评论 -
6-TDengine集群体验:2台虚拟主机
背景之前的 TDengine 都是在单机上使用,因为 TDengine 已在2020年开源了其集群方案,那这次就来体验下 TDengine 集群。当前先使用两台虚拟机(第一台就是一直以来的单机版, FQDN 为hadoop1;第二台为新建的虚拟机, FQDN 为hadoop2),偶数台机器可能出现脑裂,所以 TDengine 还提供了个仲裁者 arbitrator ,这里先不配置,实际中通常使用奇数台机器来实现,下次使用3台(奇数台)容器体验集群;具体搭建步骤可参考官方文档,比较详细。主要步骤:停服原创 2021-07-31 09:35:12 · 1427 阅读 · 0 评论 -
5-TDengine集成SpringBoot,MyBatis,MyBatisPlus
背景前面的体验中,用到了 taos 的客户端、 RESTful Connector 以及 JDBC-JNI 等连接方式,这次我们体验下更接近实际应用场景的示例: TDengine 与 SpringBoot , MyBatis , MyBatisPlus 等的集成。官方已经自带了示例, https://github.com/taosdata/TDengine/tree/develop/tests/examples/JDBC ;这些示例在安装的客户端目录也有: /usr/local/taos/example原创 2021-07-30 08:23:55 · 6115 阅读 · 2 评论 -
4-TDengine图形化管理工具TDengineGUI与IDEA插件
背景前面都是使用命令行或者代码直接查看数据库表的数据,相对图形化界面工具来说不够直观,像我们通常使用的 MySQL , MongoDB 都有对应的图形化管理工具: Navicat 、 HeidiSQL 、 NoSQLBooster 等。而 TDengine 官方没有对应的工具,不过借助开源社区、第三方,我们多了些选择。基于Electron开发的跨平台TDengine图形化管理工具地址:https://github.com/skye0207/TDengineGUINote:这个图形化原创 2021-07-29 08:26:57 · 24459 阅读 · 0 评论 -
3-TDengine竟然无法修改、删除数据?
背景没错! TDengine 在 SQL 层面并没有提供修改与删除操作的语句,即不存在 UPDATE , DELETE 语句。TDengine默认配置下数据不可更新!TDengine默认配置下数据存储10年!我们前面在体验 TDengine 基本功能时,仅涉及到数据库的创建、删除、数据表的创建、删除以及数据表的各类查询功能,那么我们通常说的数据表 CRUD (Create, Retrieve, Update, Delete),这里仅涉及到了创建与查询,那么更新和删除呢?我们从两个方面看待原创 2021-07-28 08:18:32 · 6529 阅读 · 0 评论 -
2-TDengine客户端连接,RESTful,JDBC
背景上一篇的体验中,都是使用服务器本地的客户端连接后进行操作的,那么如何远程连接 TDengine 呢,比如:远程客户端,JDBC等。TDengine提供了丰富的应用程序开发接口,其中包括C/C++、Java、Python、Go、Node.js、C# 、RESTful等,便于用户快速开发应用。这里使用三种方式连接下远程的 taosd 服务:RESTful Connector;Windows远程客户端;JDBC-JNI;RESTful ConnectorRESTful Connector 是原创 2021-07-27 16:10:41 · 4111 阅读 · 5 评论 -
1-TDengine安装与初体验
背景我们的项目涉及物联网相关业务,由于一开始的年少无知,传感器数据采用了 MySQL 进行存储,经过两年的数据累积,目前几个核心表单表数据已过亿,虽然通过索引优化、SQL优化以及读写分离等措施,勉强满足基本的查询,能在秒级给出数据;但是数据量还在持续增加,当面对用户多维度的统计需求,在实现上、效率上总是那么不尽如人意。。仰天长叹,难道只能走分库分表或者迁移历史数据、区分冷热温数据这两条不归路了吗?一次偶然的机会,了解到诸如 InfluxDB , TDengine 这类时序数据库,它们的差别这里不做对比原创 2021-07-27 16:06:36 · 2464 阅读 · 14 评论