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

TDengine 产品由哪些组件构成

目 录

  • 背景
  • 产品生态
  • taosd
  • taosc
  • taosAdapter
  • taosKeeper
  • taosExplorer
  • taosX
  • taosX Agent
  • 应用程序或第三方工具

背景

了解一个产品,最好从了解产品包括哪些内容开始,我这里整理了一份儿 TDegnine 产品包括有哪些组件,每个组件作用是什么的说明,希望能够让大家从整体上对 TDengine 有个粗略认识

产品生态

在 TDengine 产品中,taosd 组件是核心数据库服务组件,其它组件都是服务于核心组件,对外提供不同的接口及功能,共同形成了 TDengine 的生态系统,如下图:

在这里插入图片描述

taosd

核心数据库服务组件, 以服务进程方式存在,运行在服务端,进程名 taosd 。Linxu 操作系统中可以使用 systemctl start/stop taosd 启动及停止服务。它以单进程多线程模式扩展并发能力。平常听到的 dnode 就是指这个进程, 功能包括管理模块 mnode,数据分片 vnode, 查询模块 qnode,流计算模块 mnode 及订阅模块,预写日志 WAL 等, 另外进程为了方便查看服务运行信息,提供了命令行参数,可以执行 taosd -h 查看

taosd 进程的日志默认存储在 /var/log/taos/ 目录下,方便用户进行日志查看和管理。

taosc

taosc 是 TDengine 的客户端程序,以动态库方式存在, Linux 下文件名为 libtaos.so,对外提供了一组 API 接口函数,只是此模块是与 taosd 直接交互的,其它所有组件都是通过此组件与 taosd 交互的。常见的使用此动态库的组件包括 taos-CLI 命令行程序,各种语言连接器(JAVA Python Rust Go 等)的 Native 连接, 还有实现 Restful 及 Websocket 连接的 taosAdapter 组件,也是通过此组件与 taosd 进行交互的。

taosAdapter

taosAdapter 是 TDengine 安装包中的一个标准组件, 运行在服务器端,进程名 taosAdapter,以服务方式存在, 可以通过 systemctl start/stop taosadapter 启动及停止服务,充当着 TDengine 集群与应用程序之间的桥梁和适配器角色。它支持用户通过 RESTful 接口和 WebSocket 连接访问TDengine 服务,实现数据的便捷接入和处理。

taosAdapter 能够与各种数据收集代理工具(如 Telegraf、StatsD、collectd 等)无缝对接,从而将数据导入 TDengine。此外,它还提供了与 InfluxDB/OpenTSDB 兼容的数据写入接口,使得原本使用 InfluxDB/OpenTSDB 的应用程序能够轻松移植到 TDengine 上,无须进行大量修改。

通过 taosAdapter,用户可以灵活地将 TDengine 集成到现有的应用系统中,实现数据的实时存储、查询和分析。

taosAdapter 提供了以下主要功能:

  • RESTful 方式连接 TDengine;
  • WebSocket 方式连接 TDengine;
    同时还提供了额外一些功能,如:
  • 无缝连接到 Telegraf;
  • 无缝连接到 collectd;
  • 无缝连接到 StatsD;
  • 支持 Prometheus remote_read 和 remote_write。

taodAdapter 兼容 InfluxDB v1 格式写入, 兼容 OpenTSDB JSON 和 Telnet 格式写入
各种语言连接器(JAVA Python Rust Go C# 等)的 RESTFul 连接方式与 WebSocket 连接方式都调用的 taosAdapter 提供的接口完成的

taosAdapter 提供的最便捷的功能是各语言连接器当使用 Restful 及 WebSocket 连接 TDegnine 时,客户端机器上无需再安装 TDegnine 的客户端安装包了

taosKeeper

taosKeeper 是 TDengine 3.0 版本中新增的监控指标导出工具,旨在方便用户对TDengine 的运行状态和性能指标进行实时监控。通过简单的配置,TDengine 能够将其运行状态、指标等信息上报给 taosKeeper。当接收到监控数据后,taosKeeper 会利用 taosAdapter 提供的 RESTful 接口,将这些数据存储到 TDengine 中。

taosKeeper 的一个重要价值在于,它能够将多个甚至一批 TDengine 集群的监控数据集中存储在一个统一的平台上。这使得监控软件能够轻松获取这些数据,从而实现对 TDengine 集群的全面监控和实时分析。通过 taosKeeper,用户可以更加便捷地掌握TDengine 的运行状况,及时发现并解决潜在问题,确保系统的稳定性和高效性。

taosExplorer

为了简化用户对数据库的使用和管理,TDengine Enterprise 引入了一个全新的可视化组件—taosExplorer。这个工具为用户提供了一个直观的界面,方便用户轻松管理数据库系统中的各类元素,如数据库、超级表、子表等,以及它们的生命周期。

通过 taosExplorer,用户可以执行 SQL 查询,实时监控系统状态、管理用户权限、完成数据的备份和恢复操作。此外,它还支持与其他集群之间的数据同步、导出数据,以及管理主题和流计算等功能。

值得一提的是,taosExplorer 的社区版与企业版在功能上有所区别。企业版提供了更丰富的功能和更高级别的技术支持,以满足企业用户的需求。具体的差异和详细信息,用户可以查阅 TDengine 的官方文档。

taosX

taosX 作为 TDengine Enterprise 的数据管道功能组件,旨在为用户提供一种无须编写代码即可轻松对接第三方数据源的方法,实现数据的便捷导入。目前,taosX 已支持众多主流数据源,包括 AVEVA PI System、AVEVA Historian、OPC-UA/DA、InfluxDB、OpenTSDB、MQTT、Kafka、CSV、TDengine 2.x、TDengine 3.x、MySQL、PostgreSQL和 Oracle 等。

在实际使用中, 用户通常无须直接与 taosX 进行交互。 相反, 他们可以通 过taosExplorer 提供的浏览器用户界面轻松访问和使用 taosX 的强大功能。这种设计简化了操作流程,降低了使用门槛,使得用户能够更加专注于数据处理和分析,从而提高工作效率。

taosX Agent

taosX Agent 是 TDengine Enterprise 数据管道功能的重要组成部分,它与 taosX 协同工作,负责接收 taosX 下发的外部数据源导入任务。taosX Agent 能够启动连接器或直接从外部数据源获取数据,随后将采集的数据转发给 taosX 进行处理。

在边云协同场景中,taosX Agent 通常部署在边缘侧,尤其适用于那些外部数据源无法直接通过公网访问的情况。通过在边缘侧部署 taosX Agent,可以有效地解决网络限制和数据传输延迟等问题,确保数据的实时性和安全性。

应用程序或第三方工具

通过与各类应用程序、可视化和 BI(Business Intelligence,商业智能)工具以及数据源集成,TDengine 为用户提供了灵活、高效的数据处理和分析能力,以满足不同场景下的业务需求。应用程序或第三方工具主要包括以下几类。

  1. 应用程序

这些应用程序负责向业务集群写入、查询业务数据以及订阅数据。应用程序可以通过以下 3 种方式与业务集群进行交互。

  • 基于 taosc 的应用程序:采用原生连接的应用程序,直接连接到业务集群,默认端口为 6030。
  • 基于 RESTful 连接的应用程序:使用 RESTful 接口访问业务集群的应用程序,需要通过 taosAdapter 进行连接,默认端口为 6041。
  • 基于 WebSkcket 连接的应用程序:采用 WebSocket 连接的应用程序,同样需要通过 taosAdapter 进行连接,默认端口为 6041。
  1. 可视化/BI 工具

TDengine 支持与众多可视化及 BI 工具无缝对接,如 Grafana、Power BI、 Apache SuperSet 以及国产的可视化和 BI 工具。此外,用户还可以利用 Grafana 等工具来监测 TDengine 集群的运行状态。

  1. 数据源

TDengine 具备强大的数据接入能力,可以对接各种数据源,如 MQTT、OPC-UA/DA、Kafka、FLINK、AVEVA PI System、AVEVA Historian 等。这使得 TDengine 能够轻松整合来自不同数据源的数据,为用户提供全面、统一的数据视图。

相关文章:

TDengine 产品由哪些组件构成

目 录 背景产品生态taosdtaosctaosAdaptertaosKeepertaosExplorertaosXtaosX Agent应用程序或第三方工具 背景 了解一个产品,最好从了解产品包括哪些内容开始,我这里整理了一份儿 TDegnine 产品包括有哪些组件,每个组件作用是什么的说明&a…...

.NET Web-静态文件访问目录浏览

一、Web根目录访问 创建wwwroot文件夹app.UseStaticFiles(); // 启⽤静态⽂件中间件url/路径 进行访问 二、Web根目录之外的文件 app.UseStaticFiles(new StaticFileOptions {FileProvider new PhysicalFileProvider(Path.Combine(builder.Environment.ContentRootPath,&qu…...

SQL数据清理:去除字段值中的多余符号(Demo例子)

目录 前言1. 基础2. 进阶 前言 Excel中有大量不合法的符号,导入到系统之后,数据库有很多脏数据,对此下述展开sql的清洗教程 在数据库的文本字段中,可能会存在多余的逗号或符号,如,销售,, 或 二手车,销售,,这种情况 希…...

.NET版Word处理控件Aspose.Words教程:使用 C# 删除 Word 中的空白页

Word 文档中的空白页会使其看起来不专业并扰乱流程。用户会遇到需要删除 Word 中的空白页的情况,但手动删除它们需要时间和精力。在这篇博文中,我们将探讨如何使用 C# 删除 Word 中的空白页。 本文涵盖以下主题: C# 库用于删除 Word 中的空…...

【工业场景】用YOLOv8实现火灾识别

火灾识别任务是工业领域急需关注的重点安全事项,其应用场景和背景意义主要体现在以下几个方面: 应用场景:工业场所:在工厂、仓库等工业场所中,火灾是造成重大财产损失和人员伤亡的主要原因之一。利用火灾识别技术可以及时发现火灾迹象,采取相应的应急措施,保障人员安全和…...

Flask Web开发的重要概念和示例

一口气列举Flask Web应用的所有概念和示例 Flask Web 应用基本框架 路由(Routing) 模版(Template) request 对象 JSON 数据处理 redirect 示例 文件上传示例 文件下载示例 Session 示例 Cookie操作 Flask Web 应用基本框架 这是一个 最基础的 Flask Web 应用,…...

【Antv G2 5.x】饼图添加点击事件,获取当前坐标数据

// 监听 tooltip:show 事件this.chart.on(tooltip:show, (event) => {this.currentShowTooltipName = event.data.items[0].name})// 监听绘图区plot的点击事件this.chart.on(interval:click, ev => {this.$emit(chartClick, this.currentShowTooltipName);})// 监听绘图…...

深度学习-112-大语言模型LLM之langchain的聊天模型概述和基本概念介绍

文章目录 1 概念指南Conceptual guide1.1 概念Concepts1.2 词汇表Glossary2 聊天模型Chat models2.1 概述Overview2.2 功能Features2.3 集成Integrations2.4 接口Interface2.4.1 关键方法Key methods2.4.2 输入和输出Inputs and outputs2.4.3 标准参数Standard parameters2.5 工…...

Vue.js 实现树形结构管理系统的前端设计与实现

Vue.js 实现树形结构管理系统的前端设计与实现: 在现代前端开发中,树形结构是一种常见的数据展示方式,尤其适用于需要展示层级关系的场景,如目录、文件、分类等。本文将详细介绍如何使用 Vue.js 和 Element UI 组件库实现一个功能强大且易于…...

OSPF高级特性(3):安全特效

引言 OSPF的基础我们已经结束学习了,接下来我们继续学习OSPF的高级特性。为了方便大家阅读,我会将高级特性的几篇链接放在末尾,所有链接都是站内的,大家点击即可阅读: OSPF基础(1):工…...

Unity Shader Graph 2D - Procedural程序化图形转动的环状六边形

前言 Hexagon又称六边形,在游戏中是十分常见的基础形状,本文将使用程序化的六边形来制作多个环状六边形叠加的转动动画效果,实践Unity Shader Graph中的常用节点功能。 创建一个Shader Graph文件命名为Hexagon,并创建对应的材质球M_Hexagon,在Shader Graph中创建一…...

鸿蒙HarmonyOS NEXT开发:横竖屏切换开发实践

文章目录 一、概述二、窗口旋转说明1、配置module.json5的orientation字段2、调用窗口的setPreferredOrientation方法 四、性能优化1、使用自定义组件冻结2、对图片使用autoResize3、排查一些耗时操作 四、常见场景示例1、视频类应用横竖屏开发2、游戏类应用横屏开发 五、其他常…...

汇能感知宠物智能监控模块

汇能感知宠物智能监控模块 分辨率:2/3M 帧率:15-30FPS 压缩方式:H.264/H.265 APP支持:涂鸦Tuya、安居云AJcloud 配网方式:BLE蓝牙 / WiFi WIFI:2.4/5.8G WIFI 音频:单向/双向语音对讲/录…...

C# 两种方案实现调用 DeepSeek API

目录 序 开发运行环境 访问API的一个通用方法 原生官网实现 申请 API key 调用实现 调用示例 腾讯云知识引擎原子调用 申请 API key 调用示例 小结 序 DeepSeek(深度求索) 最近可谓火爆的一塌糊涂,具体的介绍这里不再赘述&#x…...

Android ndk兼容 64bit so报错

1、报错logcat如下 2025-01-13 11:34:41.963 4687-4687 DEBUG pid-4687 A #01 pc 00000000000063b8 /system/lib64/liblog.so (__android_log_default_aborter16) (BuildId: 467c2038cdfa767245f9280e657fdb85) 2025…...

计算机毕业设计——Springboot的校园新闻网站

📘 博主小档案: 花花,一名来自世界500强的资深程序猿,毕业于国内知名985高校。 🔧 技术专长: 花花在深度学习任务中展现出卓越的能力,包括但不限于java、python等技术。近年来,花花更…...

Tauri Windows入门开发避坑指南

一、前置条件 在Windows上开发Tauri应用,需要先配置开发环境: windows上需要满足以下三个要求: 1.Microsoft C 构建工具 2.安装WebView2 3.下载并安装Rust 这些软件在本文附件中可以下载,如何安装请查看官方文档:htt…...

用AI绘制CAD气温曲线图

此文章视频讲解地址 https://www.bilibili.com/video/BV1JtKjenEhF 需求 根据气温的JSON数据,用AI自动生成CAD格式的气温曲线DWG图 数据准备 用deepseek获取了北京市最近一个月的气温json数据 AI对话 首先进入唯杰地图云端管理平台 选择与唯杰地图AI对话 需求描…...

什么是http请求中的session

一、引言 在现代Web开发中,Session是一个非常重要的概念。它允许服务器在多个HTTP请求之间保持用户状态,解决了HTTP协议无状态的问题。本文将详细介绍Session的工作原理、具体使用场景,并通过HTTP请求的例子来阐述其应用。 二、Session概述…...

全链路数据引擎:WhaleStudio驱动下的大数据调度与同步智能革新

在数字化转型不断加速的今天,数据已成为企业最宝贵的资产,而如何高效地处理、传输和协调这些海量数据成为企业制胜的关键。大数据调度与同步正是支撑这一核心业务的两大技术支柱。本文将详细阐述大数据调度与同步的工作原理、二者之间的紧密关系以及它们…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

WebRTC从入门到实践 - 零基础教程

WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC&#xff1f; WebRTC&#xff08;Web Real-Time Communication&#xff09;是一个支持网页浏览器进行实时语音…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...

c# 局部函数 定义、功能与示例

C# 局部函数&#xff1a;定义、功能与示例 1. 定义与功能 局部函数&#xff08;Local Function&#xff09;是嵌套在另一个方法内部的私有方法&#xff0c;仅在包含它的方法内可见。 • 作用&#xff1a;封装仅用于当前方法的逻辑&#xff0c;避免污染类作用域&#xff0c;提升…...